verification-before-completion
Installation
SKILL.md
The HARD-GATE
NO "DONE" WITHOUT PACKAGE-LEVEL TEST INVOCATION.
"Done" without running the actual test suite at package level (npm test / pytest / go test ./... / cargo test / etc.) is the failure mode this skill exists to prevent. Single-file lint passes, individual test files passing, "the code looks right" — none of these are verification. The package-level invocation is the verification.
Three failure modes only the package-level run catches:
- Test interaction bugs: Test A passes alone; Test B passes alone; A + B together fail (shared mutable state, database fixtures, port conflicts, env leakage).
- Orphan tests: A test file exists but isn't included in the default suite (missing from
tests/glob, excluded by config, wrong file extension) — a coverage hole the author, CI, and reality each assume someone else filled. - Lint passes ≠ tests pass: TypeScript compiles + ESLint clean + a runtime null dereference covered by no test. Static analysis is orthogonal to verification.