
Testing
Use when adding, changing, deleting, or reviewing tests in Anarlog (TypeScript, Rust...
Install
npx skills add fastrepl/anarlog --skill testing -g -a claude-code -y- Repository
- fastrepl/anarlog9.7k
- Category
- Testing
- Updated
- 3d ago
- License
- MIT
- Context cost
- Lightabout 736 tokens
- Runs scripts
- Yes, review before use
What it does
Use when adding, changing, deleting, or reviewing tests in Anarlog (TypeScript, Rust, or node --test scripts), deciding whether a change needs a test, fixing a failing test, or pruning test suites. Covers what is worth testing, what to leave untested, test budgets, and the test-weight report.
Testing
Use this skill when adding, changing, deleting, or reviewing tests in Anarlog, deciding whether a change needs a test, or pruning a test suite. Tests are code we pay for on every CI run and every refactor; keep the ones that catch real regressions and nothing else.
Write a test when
- A bug was fixed: add one regression test that fails without the fix. One, not a matrix of neighbours.
- The behavior is observable by a user or another component: public APIs, tauri-specta bindings, OpenAPI contracts, MCP and CLI output, serializers and parsers, TipTap/ProseMirror JSON conversion.
- Losing it loses data or trust: SQLite migrations and desktop/mobile schema parity, CloudSync and E2EE, auth, billing and Stripe webhooks, permissions and RLS, recording and STT lifecycles.
- It is a real concurrency or recovery invariant: capture start/stop races, crash recovery, retry, cancellation, ordering between actors or tasks.
- It encodes release or store policy that a workflow edit could silently break (for example
scripts/desktop-release-provenance.test.mjs).
Do not write a test for
- CSS classes, DOM structure, exact copy, or log text, unless the text is a contract (CLI output parsed by another tool, i18n keys checked by CI).
- Mock call counts or call order when the observable result already proves the behavior.
- Private state, internal helpers already covered through their public caller, or trivial delegation.
- Framework or library behavior (React, TanStack, Tauri, Zustand, Tokio, serde).
- Constants, enum tables, type re-exports, or anything that mirrors source line by line.
- Package or file layout. Structural and import-boundary rules belong in oxlint/ESLint rules, not tests that read files from disk.
test.skip/#[ignore]without a linked issue.


