Falsify a plan's factual claims before implementing against them. Use before executing any plan written in another session (/ck:cook --from-plan), via /ck:plan verify <path>, or whenever a plan asserts existing-behaviour facts (a root cause, "X currently does Y", affected row counts, "already done"). Produces a claim → verdict → evidence table; no code until it is approved.
Scanned 9/11/2026
Install to Claude Code
npx -y skills add trungdo9/ClauKit --skill verify-plan --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Verify Plan?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/trungdo9-verify-plan)More formats (shields.io, HTML) on the badges page.
---
name: verify-plan
description: Falsify a plan's factual claims before implementing against them. Use before executing any plan written in another session (/ck:cook --from-plan), via /ck:plan verify <path>, or whenever a plan asserts existing-behaviour facts (a root cause, "X currently does Y", affected row counts, "already done"). Produces a claim → verdict → evidence table; no code until it is approved.
metadata:
version: "1.0.0"
---
# Verify-Plan — Falsify Before You Build
## Why
Implementing against unverified plan claims is the top measured source of first-pass defects (buggy_code 12 + wrong_approach 7 in one dataset; a wrong root cause shipped in **3 merged PRs** in another, then cost corrective + cleanup PRs). A plan is not evidence — it is a set of **falsifiable hypotheses** written by someone (often a past session) who could be wrong.
## Method
1. **Extract every factual claim.** The claim classes that fail in practice:
- root cause ("the bug is caused by X")
- current behaviour ("X currently does Y", "the legacy path handles Z")
- data claims (affected row counts, "only N records match")
- code-path claims ("this handler runs on every request")
- status claims ("already done", "phase 2 is complete", "this migration ran")
2. **Prove or disprove each** with evidence, never with plausibility:
- `git log` / `git blame` / `git show` — did the change actually land? when? what did legacy behaviour look like?
- direct file reads — does the cited code do what the plan says at that `file:line`?
- **read-only** queries (`SELECT`, `EXPLAIN`) — do the row counts / data shapes hold?
- run the cited command and paste its output.
3. **Fill the fixed table** → `plans/<plan>/reports/plan-verification.md`:
| # | Claim | Verdict (CONFIRMED / REFUTED / UNVERIFIABLE) | Evidence (`file:line`, git ref, or verbatim output) | Impact if wrong |
4. **Verdict discipline:**
- CONFIRMED requires evidence in the row — a citation-free CONFIRMED is a guess and gets downgraded to UNVERIFIABLE.
- UNVERIFIABLE names the check that *would* settle it and why it wasn't run.
- REFUTED quotes the disproving evidence verbatim.
## Hard rules
- **No code until the table is approved.**
- Any REFUTED **load-bearing** claim (the plan's approach depends on it) → back to `planner`; do not patch around it.
- **All-REFUTED is a legitimate outcome.** One verified migration plan proved to be a complete no-op — finding that before implementation is the gate's biggest win, not a failure of the gate.
- Verification is read-only: no edits, no writes, no mutating queries.
- Append the gate result to `plans/<plan>/STATE.md` (`[[run-state]]`): `phase 0: gate verify-plan → PASS|FAIL (evidence: <K> claims, <c>/<r>/<u>)`.
## When it triggers
- **Mandatory:** `/ck:cook --from-plan` — a plan authored in another session is exactly the case that failed.
- **Auto-trigger elsewhere:** the plan asserts ≥1 falsifiable claim about *existing* behaviour. A greenfield feature plan has nothing to falsify — running the gate there is pure cost.
- **Standalone:** `/ck:plan verify <path>`.
- Also runs inside `/ck:fix` after its root-cause gate, on the diagnosis itself (the root cause is a claim like any other).
## Cross-links
`[[planning]]` (executable exit gates make claims checkable), `[[cook]]` (Stage 0.5), `[[run-state]]`, `[[code-review]]` (same Iron Law: evidence or it didn't happen), `[[debugging]]` (root-cause tracing supplies the evidence for cause claims)
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!