Agent Skills: 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.

UncategorizedID: third774/dotfiles/verification-before-completion

Install this agent skill to your local

pnpm dlx add-skill https://github.com/third774/dotfiles/tree/HEAD/opencode/skills/verification-before-completion

Skill Files

Browse the full folder contents for verification-before-completion.

Download Skill

Loading file tree…

opencode/skills/verification-before-completion/SKILL.md

Skill Metadata

Name
verification-before-completion
Description
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.

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.