$npx -y skills add PaulRBerg/agent-skills --skill claude-handoffOrchestrate one to five Sonnet subagents to implement an approved Claude Code plan.
| 1 | # Claude Handoff |
| 2 | |
| 3 | Plan in Claude Code with the session's planning model, then hand the approved implementation to one to five Sonnet |
| 4 | subagents in the sequence the task requires. Subagents run in-session through the Agent tool with the host session's |
| 5 | permissions, so they can write anywhere the session can. Use this skill to reserve the expensive planning model for |
| 6 | thinking, orchestration, and verification while cheaper Sonnet agents do the implementation. |
| 7 | |
| 8 | ## Contract |
| 9 | |
| 10 | - Run only after the user explicitly invokes this skill in Plan mode. If Plan mode is not active, ask the user to switch |
| 11 | and stop. |
| 12 | - Claude owns discovery, decisions, the implementation plan, and agent orchestration. Do not consult subagents while |
| 13 | planning. |
| 14 | - Each subagent implements its assigned part of the approved plan. It may inspect, edit, and validate, but must not |
| 15 | redesign the solution or return another plan. |
| 16 | - Use the smallest effective team. One agent remains valid; use additional agents only when decomposition materially |
| 17 | improves latency, correctness, or verification. Never exceed five agents total across the handoff. |
| 18 | - Keep Claude's implementation work to orchestration, integrity checks, failure handling, and the conditional polish |
| 19 | pass. |
| 20 | |
| 21 | Use `$ARGUMENTS` as the task when present; otherwise use the active user request. |
| 22 | |
| 23 | ## Plan Phase |
| 24 | |
| 25 | Produce a decision-complete plan with this section: |
| 26 | |
| 27 | ```markdown |
| 28 | ## Claude Handoff |
| 29 | |
| 30 | - Strategy: `<sequential|parallel|hybrid>` |
| 31 | - Agents: `<1-5>` — `<why this is the smallest effective count>` |
| 32 | - Validation owner: `<agent-id|claude>` — `<aggregate checks it runs once>` |
| 33 | |
| 34 | | Agent | Wave | Depends on | Scope | Implementation brief | Completion evidence | |
| 35 | | ----- | ---- | ---------- | ------------------ | ------------------------------------------------------ | ----------------------------------- | |
| 36 | | `A1` | `1` | `none` | `<files/behavior>` | `<outcome, edits, constraints, and stopping criteria>` | `<commands and observable results>` | |
| 37 | |
| 38 | - Code polish: `<required|not required>` — `<reason>` |
| 39 | ``` |
| 40 | |
| 41 | Choose the execution shape from repository evidence and the approved work: |
| 42 | |
| 43 | - Use sequential agents when one agent depends on another, their write scopes overlap, or a later agent owns integration |
| 44 | or aggregate validation. |
| 45 | - Use parallel agents only for independent work with explicitly disjoint write scopes. Agents may inspect shared |
| 46 | context, but must not write outside their assigned scope. |
| 47 | - Use hybrid execution for dependency-ordered waves: run independent agents within a wave in parallel, reconcile the |
| 48 | entire wave, then start its dependents. |
| 49 | |
| 50 | A wave finishes with its slowest agent. Keep every agent's scope focused and move deferrable validation to the |
| 51 | validation owner. |
| 52 | |
| 53 | The five-agent limit applies to the entire handoff, not each wave. Assign every agent a stable ID, exact dependencies, |
| 54 | an implementation scope, and its own stopping criteria. If parallel work does not collectively prove the overall plan, |
| 55 | reserve a later sequential agent for integration and aggregate validation. |
| 56 | |
| 57 | Assign aggregate validation to exactly one owner per handoff: package-wide or repo-wide checks (full test suites, |
| 58 | whole-package typecheck or lint, catalog-wide checks) run once — by the integration agent when one exists, otherwise by |
| 59 | Claude during post-wave reconciliation. Every other agent's completion evidence must be the narrowest checks that prove |
| 60 | its own edits: file-scoped lint, format, or typecheck plus targeted tests for the files it touched. Duplicate aggregate |
| 61 | runs across a wave's agents are wasted wall-clock time, not extra assurance. |
| 62 | |
| 63 | Every agent runs on the latest Sonnet model through the `general-purpose` subagent type; the Agent tool exposes no |
| 64 | per-agent effort or timeout controls, so balance a wave by decomposing scope, not by tuning configuration. |
| 65 | |
| 66 | Require `$code-polish` for nonlocal invariants, concurrency or state machines, migrations or parsing, auth or security, |
| 67 | retry or error semantics, and public API or data-contract changes. File count alone is not a trigger. |
| 68 | |
| 69 | Do not spawn subagents until the user approves the plan and Claude leaves Plan mode. |
| 70 | |
| 71 | ## Execution Phase |
| 72 | |
| 73 | ### Launch |
| 74 | |
| 75 | Launch each agent with the Agent tool: `subagent_type: "general-purpose"`, `model: "sonnet"`, and a description like |
| 76 | `A1/3: <scope>`. Start every agent in a parallel wave in the same message as parallel tool calls; start sequential |
| 77 | agents only after reconciling their dependencies. Claude Code renders subagent progress natively — do not build bespoke |
| 78 | progress dashboards, polling loops, or status tables around the calls. After launc |