# Verification Before Completion

> Run verification commands before claiming work is complete or fixed. Use before asserting any task is done, bug is fixed, tests pass, or feature works.

- Skill: `third774/verification-before-completion` (Agent Skill)
- Install (CLI): `npx skillmds@latest add third774/verification-before-completion`
- Raw SKILL.md: https://api.skillmd.com/api/skills/third774/verification-before-completion/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Productivity
- Author: third774 (https://skillmd.com/u/third774)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/third774/verification-before-completion

---


# Verification Before Completion

**Core Principle:** No completion claims without fresh verification evidence.

## The Verification Gate

BEFORE any claim of success, completion, or satisfaction:

Copy this checklist and track your progress:

```
Verification Checklist:
- [ ] IDENTIFY: What command proves this claim?
- [ ] RUN: Execute the verification command (fresh, complete)
- [ ] READ: Check full output, exit code, failure counts
- [ ] VERIFY: Does output confirm the claim?
  - If NO → State actual status with evidence
  - If YES → State claim WITH evidence
```

1. **IDENTIFY** - What command proves this claim?
2. **RUN** - Execute the full verification command (fresh, complete)
3. **READ** - Check full output, exit code, failure counts
4. **VERIFY** - Does output confirm the claim?
   - NO → State actual status with evidence
   - YES → State claim WITH evidence from step 2-3

Skip any step = invalid claim.

## When This Applies

ALWAYS before:

- Claiming "tests pass", "build succeeds", "linter clean", "bug fixed"
- Expressing satisfaction ("Great!", "Done!", "Perfect!")
- Using qualifiers ("should work", "probably fixed", "seems to")
- Committing, creating PRs, marking tasks complete
- Moving to next task or delegating work
- ANY statement implying success or completion

## Common Verification Requirements

| Claim                 | Required Evidence                | Not Sufficient                |
| --------------------- | -------------------------------- | ----------------------------- |
| Tests pass            | `yarn test` output: 0 failures   | Previous run, "looks correct" |
| Build succeeds        | Build command: exit 0            | Linter clean, "should work"   |
| Bug fixed             | Test reproducing bug: now passes | Code changed, assumed fix     |
| Linter clean          | Linter output: 0 errors          | Partial check, spot test      |
| Regression test works | Red→Green cycle verified         | Test passes once              |
| Agent task complete   | VCS diff shows expected changes  | Agent reports "success"       |

## Red Flags

Stop and verify if you're about to:

- Use hedging language ("should", "probably", "seems to")
- Express satisfaction before running verification
- Trust agent/tool success reports without independent verification
- Rely on partial checks or previous runs
- Think "just this once" or "I'm confident it works"

## Key Examples

**Regression test (TDD Red-Green):**

```
✅ Write test → Run (fail) → Fix code → Run (pass) → Revert fix → Run (MUST fail) → Restore → Run (pass)
❌ "I've written a regression test" (without verifying red-green cycle)
```

**Build vs Linter:**

```
✅ Run `npm run build` → See "exit 0" → Claim "build passes"
❌ Run linter → Claim "build will pass" (linter ≠ compiler)
```

**Agent delegation:**

```
✅ Agent reports success → Check `git diff` → Verify changes → Report actual state
❌ Trust agent's success message without verification
```

## Why It Matters

Unverified claims break trust and ship broken code:

- Undefined functions that crash production
- Incomplete features missing requirements
- Lost time on rework after false completion
- Partner distrust: "I don't believe you"

Violating this skill violates core honesty requirements.

## No Exceptions

Run the command. Read the output. THEN claim the result.

Evidence before assertions, always.

