Use this skill before claiming any task is complete, before committing, before saying "done", or when about to report success. Enforces evidence-first verification. Triggers on "fixed", "done", "complete", "working now", or any success claim.
This skill inherits all available tools. When active, it can use any tool Claude has access to.
NO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE
Never say "done", "fixed", or "working" without running verification and showing the output.
BEFORE making any completion claim:
✅ Run: npm test
Output: "47 passing, 0 failing"
Claim: "All tests pass"
❌ "Tests should pass now"
❌ "Looks correct"
❌ "I fixed it"
✅ REQUIRES:
1. Test original symptom passes
2. All other tests still pass
Run: npm test
Output: "48 passing (including new regression test)"
Claim: "Bug fixed, regression test added"
❌ "Code changed, should be fixed"
❌ "Applied the fix"
✅ REQUIRES:
1. Write test → Run (PASS with fix)
2. Revert fix → Run (MUST FAIL)
3. Restore fix → Run (PASS)
Claim: "Regression test verified - fails without fix, passes with it"
❌ "I've written a regression test" (without red-green verification)
✅ Run: npm run build
Output: "Build completed successfully"
Claim: "Build passes"
❌ "Should compile now"
❌ "Fixed the type error"
✅ Run: npm run lint
Output: "0 errors, 0 warnings"
Claim: "Linting passes"
❌ "Lint errors fixed"
You're about to violate this skill if you're:
npm test # All tests
npm test -- --grep "name" # Specific test
npm run build # Build
npm run lint # Lint
npm run typecheck # Types
pytest # All tests
pytest path/to/test.py -v # Specific file
pytest -k "test_name" # Specific test
mypy . # Type check
ruff check . # Lint
go test ./... # All tests
go test ./path/... -v # Specific package
go build ./... # Build
golangci-lint run # Lint
cargo test # All tests
cargo test test_name # Specific test
cargo build # Build
cargo clippy # Lint
Verified: [command run]
Output: [relevant output or summary]
Result: [specific claim with evidence]
Verified: [command run]
Output: [what actually happened]
Status: [X of Y complete, specific blockers]
Verified: [command run]
Output: [actual error/failure]
Issue: [what's actually wrong]
Next: [what needs to happen]