verification-before-completion
Use when about to claim work is complete, fixed, or passing, before committing or creating PRs
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Use when about to claim work is complete, fixed, or passing, before committing or creating PRs
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Use when the user says "ask grok", "get grok's take", "grok review", "have grok look at this", "delegate to grok", or any variation naming Grok/xAI as the perspective they want.
Use when starting any creative work - creating a feature, building a component, adding functionality, or changing designed behavior - before writing code or invoking any implementation skill. Small defect repairs and tweaks triage through razorback:fixing-small-issues first.
Use when a design question resists discussion — a state model with more edge cases than fit in your head, a UI the user keeps flip-flopping on because nobody can picture it, or behavior only knowable by running it — before writing a design doc or implementation plan for that question.
Use when the user says "ask claude", "fresh claude review", "second opinion from another claude", "have another claude look at this", "delegate to a fresh claude", or any variation naming Claude as the second perspective they want.
Use when the user says "ask codex", "get codex's take", "codex review", "have codex look at this", "delegate to codex", or any variation naming Codex/OpenAI as the perspective they want. Also use for a generic "second opinion from a different model" when no other model is named.
Use when planning or reviewing non-trivial code changes, refactoring architecture, evaluating module boundaries, repeated findings reveal coupling, tests are hard to write because interfaces are unclear, or the user asks for codebase design improvements, complexity reduction, deduplication, or cleanup of existing code.
| name | verification-before-completion |
| description | Use when about to claim work is complete, fixed, or passing, before committing or creating PRs |
Claiming work is complete without verification is dishonesty, not efficiency.
Core principle: Evidence before claims, always.
Violating the letter of this rule is violating the spirit of this rule.
NO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE
If you have neither run the verification command in this message nor cited a ledger entry for current HEAD and required scope, you cannot claim it passes.
BEFORE claiming any status or expressing satisfaction:
1. IDENTIFY: What verification scope proves this claim?
2. RUN: Execute the project-defined command for that scope, or cite a verification-ledger entry that covers current HEAD and required scope
3. READ: Full output, check exit code, count failures
4. VERIFY: Does output confirm the claim?
- If NO: State actual status with evidence
- If YES: State claim WITH evidence
5. ONLY THEN: Make the claim
Skip any step = lying, not verifying
| Claim | Requires | Not Sufficient | How to verify |
|---|---|---|---|
| Tests pass | Test command output or ledger entry for current HEAD and required scope: 0 failures | Stale run, wrong scope, "should pass" | Long output: capture to a file, then Miller content(operation='import', path='<file>') + content(operation='search', query='<failure>') — never paste the whole run |
| Linter clean | Linter output: 0 errors | Partial check, extrapolation | Read the output |
| Build succeeds | Build command: exit 0 | Linter passing, logs look good | Long build logs: Miller content(...) import, then search for the failure |
| Bug fixed | Original symptom passes at worker scope | Code changed, assumed fixed | Re-run the original repro |
| Regression test works | Red-green cycle verified | Test passes once | Revert the fix, watch it fail |
| Agent completed | VCS diff shows changes | Agent reports "success" | Read the diff |
| Requirements met | Line-by-line checklist against the plan or spec | Tests passing alone | Miller inspect(target) each symbol the requirement names — the code, not the claim |
| Architecture decision followed | Approved architecture visible in the diff, ADR note, or verified implementation | "Looks aligned", verbal recall | Miller trace(target) the boundary it must respect; impact(target) for what the change actually reaches |
| Review finding fixed | Fresh verification at the affected scope shows the specific reviewer finding no longer reproduces | Code changed, assumed fixed | Miller inspect(target, depth=full) the fixed symbol and read the body |
Use Miller to verify code changes:
traceinspect(target, depth=full) (the symbol you changed earns full)| Excuse | Reality |
|---|---|
| "Should work now" | RUN the verification |
| "I'm confident" | Confidence ≠ evidence |
| "Just this once" | No exceptions |
| "Linter passed" | Linter ≠ compiler |
| "Agent said success" | Verify independently |
| "I'm tired" | Exhaustion ≠ excuse |
| "Partial check is enough" | Partial proves nothing |
| "Different words so rule doesn't apply" | Spirit over letter |
Tests:
✅ [Run project-defined command for required scope] [See: 34/34 pass] "Required verification passes"
❌ "Should pass now" / "Looks correct"
Regression tests (TDD Red-Green):
✅ Write → Run (pass) → Revert fix → Run (MUST FAIL) → Restore → Run (pass)
❌ "I've written a regression test" (without red-green verification)
Build:
✅ [Run build] [See: exit 0] "Build passes"
❌ "Linter passed" (linter doesn't check compilation)
Requirements:
✅ Re-read plan → Create checklist → Verify each → Report gaps or completion
❌ "Tests pass, phase complete"
Agent delegation:
✅ Agent reports success → Check VCS diff → Verify changes → Report actual state
❌ Trust agent report
Unverified completion claims are how trust breaks:
ALWAYS before:
Rule applies to:
No shortcuts for verification.
Run the command. Read the output. THEN claim the result.
This is non-negotiable.