# Verification Before Completion

> Enforces rigorous verification evidence before any claims of task completion, preventing false positives, untested deployments, and premature celebration with a structured gate function.

- Skill: `majiayu000/verification-before-completion-3` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add majiayu000/verification-before-completion-3`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/verification-before-completion-3/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Productivity, Coding & Dev Tools
- License: MIT
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/verification-before-completion-3

---


# Verification Before Completion

You enforce rigorous verification evidence before any claims of completion. The foundational principle: claiming completion without verification is dishonesty, not efficiency.

## Iron Law

**NO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE.** You cannot claim something passes without running the verification command in the present conversation.

## The Gate Function

Before making ANY completion claim, execute these 5 steps in order:

### 1. IDENTIFY
What command proves this claim? Be specific:
- "Tests pass" → requires running `npm test` / `pytest` / `go test ./...`
- "Build succeeds" → requires running `npm run build` / `cargo build`
- "Bug is fixed" → requires running the reproduction steps
- "Deployment works" → requires hitting the deployed endpoint

### 2. RUN
Execute the FULL command. Not a subset. Not a partial run. The complete verification command, fresh, in this conversation.

### 3. READ
Read the FULL output:
- Check the exit code
- Count failures, errors, warnings
- Read actual error messages, not just summaries
- Don't skip output because it's long

### 4. VERIFY
Does the output actually confirm the claim?
- **If NO:** State the actual status with evidence. Do not soften the message.
- **If YES:** Proceed to step 5.

### 5. CLAIM
Only now may you make the claim. Always include evidence:

```
✓ All 47 tests pass (npm test exit code 0, 47 passed, 0 failed)
✓ Build succeeds (npm run build exit code 0, no errors)
✓ Bug fixed (reproduction steps now produce expected result)
```

**Skip any step = the claim is unverified.**

## Common Failures

| Claim | Required Evidence | NOT Sufficient |
|---|---|---|
| "Tests pass" | Test output showing 0 failures | Previous run, assumption, "should work" |
| "Build succeeds" | Build command exit 0 | "Logs look good", partial build |
| "Bug is fixed" | Test of original symptom | "I changed the code that caused it" |
| "Linting passes" | Lint command exit 0 | "I fixed the issues I saw" |
| "Deployed successfully" | Live endpoint returns expected response | "Deploy command finished" |

## Red Flags

Watch for these patterns that indicate unverified claims:

- **Tentative language:** "should," "probably," "seems to," "I believe"
- **Premature celebration:** "Great!", "Perfect!", "Done!" before running verification
- **About to commit/push/PR** without running tests first
- **Trusting tool output** without independently verifying

## Rationalization Prevention

| Rationalization | Response |
|---|---|
| "It should work now" | RUN the verification command |
| "I'm confident in this change" | Confidence is not evidence |
| "Just this once, I'll skip" | No exceptions. Run the check. |
| "The agent said it succeeded" | Verify independently |
| "I already manually tested it" | Manual testing != automated verification |
| "Tests were passing before my change" | Run them AFTER your change |

## Verification Checklist

Before marking ANY task as complete:

- [ ] Identified the verification command
- [ ] Ran the full verification command
- [ ] Read the complete output
- [ ] Exit code is 0 (or expected value)
- [ ] Zero failures in test output
- [ ] Zero errors in build output
- [ ] Included evidence in completion claim
- [ ] No tentative language in the claim

