一键导入
verification-check
Evidence-gated completion check. Use before committing, creating PRs, or claiming work is done. Pairs with verification-spec at task start.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Evidence-gated completion check. Use before committing, creating PRs, or claiming work is done. Pairs with verification-spec at task start.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Systematic knowledge extraction from open-source projects. Use when: user shares a repo/link to study, says 偷师/steal/学习/研究, or wants to analyze another project's patterns for adoption.
Launch a real interactive claude CLI session in a target directory (typically a worktree) with a pre-seeded prompt. Use when the current session cannot absorb the task context — e.g., N parallel worktree jobs that would blow the context window, or when you need the user to watch progress in a visible terminal. Each spawned session runs independently in its own Windows Terminal tab.
FileNotFound recovery protocol. Before reporting a missing-file error, suggest near-misses by basename similarity (difflib threshold 0.4) so typos and stale paths fail loudly with actionable hints.
Paste-by-reference guard for Edit calls. When new_string would echo >30 lines of existing file content, use {{file:path:start:end}} reference instead and expand before submission.
File-IO protocol for parent ↔ subagent communication. Parent writes input.txt + context.json, subagent appends to output.txt with [ROUND END] sentinels. Used with Monitor tool for live observation.
Memory write gate enforcing four axioms (Action-Verified / Sanctity / No Volatile / Minimum Pointer). Triggered before any write to SOUL/, .claude/memory/, or memory storage.
| name | verification-check |
| description | Evidence-gated completion check. Use before committing, creating PRs, or claiming work is done. Pairs with verification-spec at task start. |
| origin | Orchestrator — split from verification-gate (2026-04-26) |
| source_version | 2026-04-26 |
Triviality Filter — If input is ≤ 3 words with no question/code/task, respond directly. Skip full protocol. Full spec:
SOUL/public/prompts/triviality_filter.md
Before reading any reviewer output or review file:
SOUL/public/prompts/rationalization-immunity.md (specifically the "Review Dismissal" and "Pre-Load Rule" sections).Skipping step 1 means you have already formed rationalizations. The review is worthless.
IRON LAW: NO COMPLETION CLAIM WITHOUT EVIDENCE. "Should work" IS NOT EVIDENCE.
This is the post-implementation gate. It pairs with verification-spec (task-start gate that produces the Goal/Verify/Assume block). If you skipped verification-spec, you do not have a Verify: command yet — go state one before running this gate.
Before declaring ANY task complete, pass all five steps in order.
你的两个失败模式: ①验证回避——遇到通过率高的测试就停止;遇到"大部分都对"就停止探测。 ②被前80%迷惑——大部分输出正确就宣布完成,忽略剩余20%里藏的真正 bug。
两种模式都会让真正的 bug 逃过验证。验证的目的是主动找反例,不是替产物辩护。
Pull the Verify: line from the spec block emitted at task start. If the task surfaced new verification needs (e.g. an adversarial probe revealed a sub-feature), add them here.
If you somehow have no spec, name the verification commands now:
If you cannot identify what to verify, say so. Do not skip to "done".
Run the actual command(s). Not "I would run..." — actually run them.
Adversarial Probe Requirement: At least one verification must be an adversarial probe — deliberately attempt to break the implementation. Examples:
If you cannot think of an adversarial probe, you haven't understood the change well enough.
Read the complete output. Not the first line. Not "it looks green". The full output.
Does the output match the goal stated in the spec block?
If anything is unexpected, investigate before proceeding.
Only NOW can you say the task is complete. Reference the evidence:
When context usage reaches approximately 50%, emit a <checkpoint> block before continuing:
<checkpoint>
<goal>{one-sentence restatement of current task goal}</goal>
<decisions>{bullet list of choices made so far and their rationale}</decisions>
<open_questions>{bullet list of unresolved items}</open_questions>
<next_step>{exact next action}</next_step>
</checkpoint>
After emitting, treat checkpoint as the truth source. Earlier conversation context may be ignored for decisions already captured here.
Different change types demand different verification focus. Use this table to select probes:
| Change Type | Verification Focus |
|---|---|
| Frontend | Visual regression + interaction test |
| Backend/API | Contract test + boundary input |
| CLI/Script | Argument combinations + error paths |
| DB Migration | Rollback test + data integrity |
| Refactoring | Behavioral equivalence proof |
| Config | All environments affected |
| Collector | Actual data retrieval check (not just status=OK) |
| Prompt/SOUL | Before/after comparison on representative inputs |
Before declaring a verification FAIL, ask these three questions:
If all three answers are "no", it's a real failure. Report it.
These thoughts mean you're about to skip or weaken verification:
| Rationalization | Reality | Correct Behavior |
|---|---|---|
| "It's just a small change" | Small changes break large systems. A one-char typo took down CloudFlare. | Same verification process. No size exemptions. |
| "I know this will work" | Knowing is not verifying. Your mental model diverged from reality at least once today. | Run it and prove it. |
| "There's no time" | Skipping verification never saves time. It converts a 5-minute check into a 2-hour debug session. | The fastest path is the verified path. |
| "Only touched comments/docs" | Comment changes can break parsers, configs, and tools. A stray */ has killed builds. | Verify cosmetic changes the same as functional ones. |
| "Most tests pass, the rest are unrelated" | The 80% trap. The edge case you skip is the one that ships the bug. | Run ALL tests. Investigate every failure. |
| "I feel confident about this" | Confidence is a feeling, not evidence. Substituting emotion for verification is the #1 gate bypass. | Convert confidence into proof. Run the command. |
| "I'm tired, this is the last task" | Fatigue shortcuts cause the majority of late-stage bugs. The last step is where most bugs hide. | Slow down. The gate doesn't have a fatigue exemption. |
| "I'll stub this out and mark it done" | Stubs committed as working code are fabrication, not implementation. The anti-fabrication Stop hook will surface them. | Either implement now or annotate with # legitimate-stub: <reason> and disclose in your completion declaration. |
| "The adversarial probe isn't needed here" | If you can't think of how to break it, you don't understand the change well enough. | Find at least one adversarial input. Always. |
| "I already verified something similar earlier" | "Similar" ≠ "same". Different code, different state, different result. | Verify THIS change specifically. |
| "80%的测试通过了" | 剩下20%正是 bug 藏身处。通过率高不等于正确——它只说明你的测试集覆盖了容易通过的路径。 | Run ALL tests. Fix every failure. |
These phrases in a completion declaration indicate the gate was skipped:
| Phrase | Problem |
|---|---|
| "should pass" | You don't know until you run it |
| "should work" | Same |
| "probably fine" | Probability is not verification |
| "I believe this is correct" | Belief is not evidence |
| "Based on the changes, this should..." | Prediction is not observation |
| "I'm confident that..." | Confidence is not proof |
| "This looks good" | Looking is not testing |
| "Tests should still pass" | "Should" means you didn't run them |
Sometimes you genuinely cannot verify (no test suite, external service, etc.). In that case:
This gate applies to:
git commitThis gate does NOT apply to:
verification-spec — emits the Goal/Verify/Assume block at task start; this gate consumes the Verify: command