verification-gate
Verification gate before claiming task completion. No completion claim without fresh evidence.
适合你,如果你需要在提交工作成果前自动验证证据有效性。
npx oh-my-skill add mahsumaktas/agent-evolution-kit/verification-gatecurl -fsSL https://oh-my-skill.com/install.sh | bash -s -- mahsumaktas/agent-evolution-kit/verification-gatenpx oh-my-skill verify mahsumaktas/agent-evolution-kit/verification-gate怎么用
商店整理自技能原文 · 版本 c599c87 · 表述以原文为准安装后,Claude 在声称任务完成前,必须先运行验证命令(如测试、构建)并展示最新证据,否则不能声称完成。
在做出任何成功声明、满意度表达、提交代码或进入下一任务前触发。
技能原文 SKILL.md
Verification Gate
Overview
Claiming work is done without verification is not efficiency -- it is dishonesty.
Core principle: Evidence first, claims second. Always.
Violating the letter of this rule violates its spirit.
Iron Rule
NO COMPLETION CLAIM WITHOUT FRESH VERIFICATION EVIDENCE
If you did not run the verification command in this message, you cannot claim it passes.
3 Stages
Stage 1: Evidence Collection
BEFORE ANY status claim or satisfaction expression: 1. IDENTIFY: What command proves this claim? 2. RUN: Execute the FULL command (fresh, complete) 3. READ: Read the full output, check exit code, count failures 4. VERIFY: Does the output support the claim? - NO: State the real status with evidence - YES: State the claim with evidence 5. ONLY THEN: Make the claim Skip any step = not verification, but fabrication
Common verification requirements:
| Claim | Required Evidence | NOT Sufficient | |-------|-------------------|----------------| | Tests pass | Test command output: 0 failures | Previous run, "should pass" | | Linter clean | Linter output: 0 errors | Partial check, guessing | | Build succeeds | Build command: exit 0 | Linter passes, logs look fine | | Bug fixed | Test original symptom: passes | Code changed, assumed fixed | | Regression test works | Red-green cycle verified | Test passes once | | Subagent completed | VCS diff shows changes | Subagent said "success" | | Requirements met | Line-by-line checklist | Tests pass |
Stage 2: Code Review
When all tasks are complete, run an independent review:
[Spawn a reviewer subagent]: task="Code Review -- [feature/change name] ## What Was Done [Summary] ## Requirements [From plan/spec] ## Changed Files [List] ## Task 1. Read the changed files 2. Compare requirements line by line 3. Security check (OWASP Top 10) 4. Clean code check 5. Test quality check Report: - Strengths - Issues (Critical / Important / Minor) - Verdict: Approved / Changes required"
Review result:
- Critical issue --> Fix IMMEDIATELY
- Important issue --> Fix before proceeding
- Minor issue --> Note it, fix later
- Reviewer is wrong --> Object with technical justification
Stage 3: Completion
After review passes, present options:
- Merge -- Merge into the main branch
- PR -- Create a pull request
- Keep -- Keep the branch, merge later
- Delete -- Delete the branch (if it did not work out)
Steps for each option:
- Merge:
git checkout main && git merge <branch> - PR:
gh pr create --title "..." --body "..." - Keep: Inform the user of the branch name
- Delete:
git branch -d <branch>(get confirmation)
Red Flags -- STOP
If you catch yourself thinking or saying:
- "It probably works" --> VERIFY
- "I am sure" --> Certainty is not evidence
- "The agent said it succeeded" --> Verify independently
- "Great!", "Perfect!", "Done!", "All set!" --> No satisfaction expressions BEFORE verification
- "Should pass", "probably", "looks like" --> RUN the verification command
- "Just this once" --> No exceptions
- "Linter passed" --> Linter is not a compiler
- "I am tired" --> Fatigue is not an excuse
- "Partial check is enough" --> Partial proves nothing
Common Rationalizations
| Excuse | Reality | |--------|---------| | "It works now" | RUN the verification | | "I am sure" | Confidence is not evidence | | "Just this once" | No exceptions | | "Linter passed" | Linter is not a compiler | | "Agent said success" | Verify independently | | "I am tired" | Fatigue is not an excuse | | "Partial check is enough" | Partial proves nothing | | "Different words, rule does not apply" | Spirit overrides letter |
Verification Patterns
Tests:
CORRECT: [Run test command] [See: 34/34 passed] "All tests pass" WRONG: "Should pass now" / "Looks correct"
Regression tests (TDD Red-Green):
CORRECT: Write --> Run (passes) --> Revert fix --> Run (MUST FAIL) --> Restore --> Run (passes) WRONG: "I wrote a regression test" (without red-green verification)
Build:
CORRECT: [Run build] [See: exit 0] "Build passes" WRONG: "Linter passed" (linter does not check compilation)
Requirements:
CORRECT: Re-read plan --> Create checklist --> Verify each --> Report gaps or completion WRONG: "Tests pass, phase complete"
Subagent delegation:
CORRECT: Subagent said success --> Check VCS diff --> Verify changes --> Report real status WRONG: Trust the subagent report
When to Apply
ALWAYS, BEFORE any of these:
- Any form of success/completion claim
- Satisfaction expressions
- Any positive statement about work status
- Commit, PR creation, task completion
- Moving to the next task
- Delegating to subagents
Integration
Related skills:
tdd-workflow-- For regression test verificationsubagent-execution-- Pass through this gate after every tasksystematic-debugging-- When verification fails