Execute
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 executeAssembled 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 /plan to apply the planned changes. Reads .handoff/plan.md and writes/updates code exactly as specified, runs sync commands listed in the plan, and runs the read-only compile check (config's typecheck) as a safety net. Does NOT run tests or lint — those belong to /verify. Honors per-item risk tags from plan to decide check granularity. Pair with /plan and /verify. Part of the agent-handoff bundle (4 skills) — install /setup-handoff, /plan, /execute, /verify together.
SKILL.md
4.7 KB, ~1.0k tokens by cl100k_base, as published. Nobody here has run it
Execute
Apply the changes that plan.md describes. Stay strictly inside the plan; never improvise.
Gate (run first)
- Read
.handoff/config.md. If missing, abort:❌ No config found. Run
/setup-handofffirst. - Read
.handoff/plan.md. If missing, abort:❌ No plan found. Run
/planfirst. - Both present → proceed.
- If plan has
## Phasesand a phase is marked[🔄], only that phase's change list is in scope. Phases marked[x]are already done; phases marked[ ]are future work for later cycles.
Output language
All output from this skill — conversational replies to the user, status messages, blocker reports, AND task.md notes — uses the language specified by config.md's response_language. Default if config missing or field absent: en. Code edits, file paths, command syntax, and shell command output stay in their native language.
Workflow
-
Read
plan.mdend-to-end. -
Create
.handoff/task.mdwith one checkbox per change list entry plus one per sync command. -
Check for parallelization. If
plan.mdhas a## Parallelizationsection AND your host agent supports parallel subagent dispatch (e.g., Claude Code's Task tool), dispatch one subagent per independent group instead of applying sequentially in step 4. The dispatcher (this skill instance) ownstask.mdupdates; subagents apply file edits only and report completion per file. Wait for all subagents before running sync commands (step 5). If a subagent hits a blocker, follow the blocker protocol in boundaries.md. If host doesn't support parallel dispatch or no## Parallelizationsection exists, fall back to sequential application below.Interaction with risk tags: in parallel dispatch mode, the per-item compile-check granularity from step 4 does NOT apply — subagents do file edits only, and only the final safety-net check (step 6) runs. If a plan has
mediumorhighrisk-tagged items inside a parallelizable group, those items lose their per-item compile-check safety. Plan authors are expected to keep high-risk items out of## Parallelizationgroups (see plan/SKILL.md step 6); if you encounter this combination during execute, proceed but note it in the final task.md notes section. -
For each change list item, apply per its risk tag (plans without tags are treated as low):
- low / untagged: apply edits, update task.md after each. No per-item compile check.
- medium: apply edits → run compile check (config's
typecheck, if set) → update task.md. On failure, see step 6. - high: apply edits → run compile check → update task.md immediately (so progress is durable across blockers) → only then proceed. On failure, see step 6.
-
After code edits done, run sync commands one by one. Update task.md per command.
-
Final compile check (safety net). If
config.mdhas atypecheckcommand, run it. Skipped if config has no typecheck or plan explicitly opts out via(none — ...)in a## Compile checkplan section.- Pass → continue to step 7.
- Fail → make at most ONE fix attempt, restricted to files/lines listed in the current change list. Re-run.
- Still fail (or fix would require touching out-of-plan files) → blocker. STOP and report per Boundaries.
-
Print:
✅ task.md updated. All planned changes applied. Compile check ✅. Next step: /verify (strongly recommended in a fresh chat)
Boundaries
See boundaries.md. Critical points:
- Only run: commands listed under "Sync commands" in the plan, AND the
typecheckcommand fromconfig.md(read-only compile check). - Never run tests or lint — those belong to /verify. Anything that mutates files (e.g.
eslint --fix, formatters) stays in /verify regardless. - Risk tags only adjust check granularity. They never grant authority to edit files outside the plan.
- Compile-fail recovery: at most one fix attempt within the plan's listed files/lines. If that doesn't resolve it, blocker.
- Never modify plan.md.
- If a critical blocker is discovered (the plan can't be executed as written), STOP, print:
Do NOT improvise around it.⚠️ Blocker: <description>. Plan needs revision — run `/plan` again.
What ships with it: 1 file
2.9 KB alongside SKILL.md
- boundaries.md2.9 KB