Verify
Strict 3-stage handoff workflow (plan → execute → verify) for coding agents. Disk-backed state lets verify run in a fresh chat.
npx -y skills add WillowRyu/agent-handoff --skill verifyAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Use after /execute to verify the changes are correct. Reads .handoff/{config,plan,task}.md, runs the verification commands from plan (typically test + lint; typecheck is execute's job), compares plan-vs-code, writes review.md, and on success cleans up handoff state. For multi-phase plans, advances phase markers instead of full cleanup until the last phase. STRONGLY recommended to run in a fresh chat — fresh context is the entire point of this stage. Part of the agent-handoff bundle (4 skills) — install /setup-handoff, /plan, /execute, /verify together.
SKILL.md
3.0 KB, 587 tokens by cl100k_base, as published. Nobody here has run it
Verify
Independent validation of execute's output. Strict separation of context is the value: a fresh chat reading only the plan and code can spot what an in-context verify would miss.
Compile check (typecheck) has already been run by /execute as the safety net there. Verify focuses on test, lint, plan-vs-code judgment, and convention adherence — the work that requires fresh-context judgment.
Gate (run first)
Required files in .handoff/: config.md, plan.md, task.md. If any missing, abort with the matching message:
config.mdmissing:❌ No config found. Run
/setup-handofffirst.plan.mdmissing:❌ No plan found. Run
/planfirst.task.mdmissing:❌ No task found. Run
/executefirst.
Output language
All output from this skill — conversational replies to the user, status messages, AND the written review.md — uses the language specified by config.md's response_language. Default if config missing or field absent: en. Verification command output (test/typecheck/lint stdout/stderr) is kept verbatim in its original language; your summary of those results uses response_language.
Workflow
- Read config, plan, task. If plan has
## Phases, note the active[🔄]phase — only that phase's change list is in scope for plan-vs-code comparison. - Run verification commands from plan's
## Verification plan(or fallback to config's test+lint — NOT typecheck). See checks.md for command execution rules. - Compare actual code changes against the active phase's change list — note anything missing or extra. Surface high-risk items first in the report so they can't be glossed over by self-review bias.
- Build review.md per review-template.md. Order findings by risk tag (high → medium → low/untagged).
- Run cycle close per cycle-close.md: file cleanup + backlog auto-resolve + non-blocking append. For multi-phase plans, this advances phase markers instead of full cleanup unless this is the final phase.
- Print summary based on outcome (see cycle-close.md).
Boundaries
- Allowed: run verification commands, read any file, write
.handoff/review.md, edit.handoff/backlog.md(resolve 🔄 items, append non-blocking), delete.handoff/{plan,task,review}.mdper cycle-close rules. - Forbidden: modify any code, modify
plan.mdortask.mdmid-cycle, delete.handoff/config.md, delete the user's source files.
What ships with it: 3 files
8.9 KB alongside SKILL.md
- checks.md2.7 KB
- cycle-close.md4.3 KB
- review-template.md2.0 KB