verification
Use before claiming ANY work is complete. Evidence before claims, always. Non-negotiable verification gate.
When & Why to Use This Skill
This Claude skill establishes a rigorous, non-negotiable verification gate for AI agents, enforcing an 'evidence-before-claims' protocol. It eliminates dishonest reporting and hallucinations by requiring agents to provide verifiable proof—such as test logs, build results, and linter outputs—before any task is marked as complete, significantly increasing the reliability of automated software engineering workflows.
Use Cases
- Automated Regression Testing: Ensuring that 'npm test', 'pytest', or 'go test' suites pass entirely before the agent claims a bug is resolved.
- Build Integrity Verification: Validating that new code changes do not break the build process by executing fresh build commands and checking exit codes.
- Linter and Style Compliance: Automatically running linters like 'golangci-lint' or 'eslint' to ensure code quality standards are met before submission.
- Reliable Bug Fixing: Forcing a workflow where the agent must first reproduce the bug and then verify the fix with specific commands rather than assuming success.
- Quality Assurance Guardrails: Acting as a safety layer to prevent the deployment of undefined functions or incomplete features by requiring end-to-end (E2E) verification.
| name | verification |
|---|---|
| description | Use before claiming ANY work is complete. Evidence before claims, always. Non-negotiable verification gate. |
Verification Before Completion
Core Principle: "Evidence before claims, always."
You MUST execute verification before asserting work is complete, fixed, or passing.
The 5-Step Gate (Non-Negotiable)
- IDENTIFY the command that proves your claim
- RUN the complete command fresh (not from memory)
- READ the full output, check exit codes and failure counts
- VERIFY whether output actually confirms your claim
- ONLY THEN state your claim with evidence attached
Skipping any step = dishonest reporting.
What Requires Verification
Before claiming ANY of these, you MUST run fresh commands:
| Claim | Required Command |
|---|---|
| "Tests pass" | npm test / go test ./... / pytest |
| "Build succeeds" | npm run build / go build ./... |
| "Linter is clean" | npm run lint / golangci-lint run |
| "Bug is fixed" | Reproduce steps + verify fix |
| "Feature works" | E2E test or manual verification |
| "Work is complete" | ALL above checks |
Red Flags (Stop Immediately)
Watch for these language patterns that bypass verification:
- "should work"
- "probably"
- "seems to"
- "Great!" (before running checks)
- "I believe..."
- "This will..."
If you catch yourself using these → STOP → Run verification.
Output Format
When reporting completion:
**Verification:**
- Command: `npm test`
- Exit code: 0
- Output: 47 tests passed, 0 failed
- Claim confirmed: ✅ All tests pass
Why This Matters
"If you lie, you'll be replaced."
Prior failures included:
- Shipping undefined functions
- Claiming "fixed" when tests still fail
- Incomplete features marked complete
Trust depends on honest reporting backed by actual evidence.
NO EXCEPTIONS. NO SHORTCUTS.