test — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited test (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Write tests for: $ARGUMENTS
why-no-hook: skill workflow guidance; each step requires understanding the surrounding context (repo, task shape, prior state).
(review-time: see section note)(review-time: see section note)(review-time: see section note)(review-time: see section note)(review-time: see section note)(review-time: see section note)(review-time: see section note)(review-time: see section note)(review-time: see section note)(review-time: see section note)(review-time: see section note)(review-time: see section note)(review-time: see section note)npm run verify:fast when package.json declares it, otherwise the full test suite. The full suite runs once per PR in npm run verify (review-time: see section note)If you cannot write a failing test, you do not fully understand the bug. Investigate further.
A seam is the public boundary you test at: the interface where you observe behaviour without reaching inside. Tests live at seams, never against internals.
Test only at pre-agreed seams. Use the seams in the spec's Seams section. With no spec, write down the seams under test and confirm them with the user - no test is written at an unconfirmed seam. (review-time: seam agreement is a conversational step, not pattern-checkable) You can't test everything; agreeing the seams up front lands testing effort on the critical paths and complex logic instead of every edge case.
Pick the lowest level that captures the behavior (see ~/.agents/references/testing-patterns.md):
| Behavior | Test Level | Why |
|---|---|---|
| Pure logic, calculations, validation | Unit test | Fast, isolated, deterministic |
| API request/response contracts | Integration test | Verifies real boundaries |
| Database queries, migrations | Integration test | Needs real database behavior |
| Critical user journeys | E2E test | Tests the full stack |
| Visual appearance, layout | Visual regression | Screenshot comparison |
(review-time: coupling detection requires reading the assertions against the implementation)expect(add(a, b)).toBe(a + b), a self-derived snapshot, a constant asserted equal to itself), so it passes by construction and can never disagree with the code. Expected values must come from an independent source of truth - a known-good literal, a worked example, the spec. (review-time: requires comparing the assertion to how the code computes)(review-time: workflow-shape judgment)Before considering tests complete:
(review-time: see section note)(review-time: see section note)(review-time: see section note)test.only() (review-time: see section note)(review-time: see section note)(review-time: see section note)(review-time: see section note)(review-time: see section note)npm run verify:fast when declared, otherwise the full test suite (review-time: see section note)~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.