Development Plan Skill
Purpose
Turn non-trivial engineering requests into executable plans with the smallest
responsible amount of structure. Preserve observable acceptance, verification
evidence, recovery guidance, and resumability without forcing large-plan
ceremony onto ordinary medium work.
Operating Mode
- Use this skill for medium or large coding tasks even when the user asks to
implement, fix, debug, refactor, connect, or migrate immediately.
- For plan-only requests, do not edit source or implementation files and use
Status: proposed. Return the plan in chat unless the user explicitly
requests a saved artifact; in that case, write only the plan. Do not label an
inline plan active merely because its work is not implemented.
- For medium or large execution requests, create or update a saved plan before
changing source files, then keep it current during implementation.
- Skip the saved-plan workflow for clearly small, low-risk work such as a typo,
an isolated config value, or a focused single-file edit with an obvious
check. Also skip it when the user explicitly asks not to create a plan.
- Ask at most three follow-up questions, and only when missing information
blocks responsible planning.
- Write the plan in the same language as the user's request.
Select Planning Depth
Choose the least detailed mode that preserves safe execution and honest
verification. Escalate the mode if new risk or ambiguity appears.
- Compact — default for bounded medium work that is likely to finish in one
session, has familiar architecture, and does not need independent step-level
recovery. Use concise actions with expected results and checks plus one shared
execution protocol and final quality gate. Prefer 3-5 actions and 1-3
implementation bullets per action.
- Full — use when work crosses system boundaries, changes architecture or
data flow, involves ambiguous debugging, migrations, rollout or compatibility
risk, substantial research, or benefits from step-local quality gates and
completion evidence.
- Long-running — extend full mode when work may span multiple sessions or
hours, multiple product areas, a major refactor or migration, or needs a
durable handoff record, decision log, and recovery instructions.
Read references/core-planning-rules.md for exact selection tests and required
content for each mode.
Reference Routing
- Read
references/core-planning-rules.md before drafting any plan. It defines
task intake, mode requirements, check classification, subagent guidance, and
quality gates.
- Read
references/compact-plan-template.md only for compact mode.
- Read
references/full-plan-template.md for full and long-running modes.
- Also read
references/long-running-addendum.md only for long-running mode.
Inspect Repository Context
When repository context is available, inspect relevant files before writing the
plan. Prefer:
README.md, AGENTS.md, AGENT.md, CLAUDE.md, and similar instructions;
- package, build, dependency, framework, test, and CI configuration;
docs/, architecture docs, ADRs, and implementation notes;
- relevant source modules, routes, services, models, components, jobs,
migrations, scripts, tests, and entrypoints.
Use that evidence to infer likely files, commands, constraints, risks, and
implementation order. Name a category or discovery action instead of inventing
an unsupported file, command, service, or architecture detail.
Saved Plan Workflow
- Follow the repository's planning convention when one exists. Otherwise save
active plans under
docs/plans/active/ as
YYYY-MM-DD-short-task-slug.md. For a split plan, use
docs/plans/active/YYYY-MM-DD-short-task-slug/PLAN.md plus phase files.
- Do not wrap a saved plan in an outer Markdown code fence.
- Keep the plan current before stopping, handing off, changing direction, or
giving a final answer.
- Mark
[x] only after implementation and verification both pass. Split partly
completed items; do not round them up to complete.
- Record the command, inspection, test, or manual check that proves completion.
- On successful completion, follow the repository convention or move the plan
from
active/ to completed/ and record the outcome. If work is stopped
without completion, move it to abandoned/ and record why, what remains, and
how to resume. When moves are not appropriate, record Status: completed or
Status: abandoned in place.
Verification Integrity
- A new or relevant failure blocks the affected step and final completion until
it is fixed and re-verified.
- Never mark a pre-existing, flaky, unavailable, or unrelated check as passed.
Classify it with evidence and follow the rules in
references/core-planning-rules.md.
- If a required check remains unresolved, report the result as partial or
blocked unless the user explicitly accepts the risk. Accepted risk remains an
unresolved check; it does not become a pass.
Authority Boundaries
A plan records intended work; it does not grant new authority. Commits, pushes,
deployments, destructive operations, external messages, issue or PR mutations,
and other consequential actions remain limited by the user's request and host
policy. Describing work as parent-owned or assigning it to an agent does not
authorize that work.
Execution Loop
For each current action or full-mode step:
- Confirm the expected result.
- Implement only the current scope.
- Record what changed.
- Run the planned checks.
- Fix relevant failures immediately, or re-plan when evidence disproves the
approach, then re-run affected checks.
- Classify any unresolved check without claiming it passed.
- Record completion evidence and update the plan.
- Continue only when the current quality gate permits it.
Compact mode may use one shared quality gate. Full and long-running modes use
step-local gates. Long-running plans also keep Progress,
Surprises & Discoveries, Decision Log, and Outcomes & Retrospective
current.
Avoid
- Do not produce vague actions such as "do backend" or "handle auth".
- Do not duplicate the shared execution protocol under every compact action.
- Do not expand a compact plan merely to fill a template.
- Do not label a plan-only response
active; use proposed.
- Do not treat skipped, unavailable, or accepted-risk checks as successful.
- Do not proceed past a relevant regression because another check passed.
- Do not recommend overlapping write-heavy subagents.
1---2name: development-plan3description: Use when an agent is asked to plan or execute a medium or large coding task, feature, refactor, migration, debugging task, integration, or multi-step implementation. Selects compact, full, or long-running planning depth, saves execution plans before source edits, and requires verification evidence.4---56# Development Plan Skill78## Purpose910Turn non-trivial engineering requests into executable plans with the smallest11responsible amount of structure. Preserve observable acceptance, verification12evidence, recovery guidance, and resumability without forcing large-plan13ceremony onto ordinary medium work.1415## Operating Mode1617- Use this skill for medium or large coding tasks even when the user asks to18 implement, fix, debug, refactor, connect, or migrate immediately.19- For plan-only requests, do not edit source or implementation files and use20 `Status: proposed`. Return the plan in chat unless the user explicitly21 requests a saved artifact; in that case, write only the plan. Do not label an22 inline plan `active` merely because its work is not implemented.23- For medium or large execution requests, create or update a saved plan before24 changing source files, then keep it current during implementation.25- Skip the saved-plan workflow for clearly small, low-risk work such as a typo,26 an isolated config value, or a focused single-file edit with an obvious27 check. Also skip it when the user explicitly asks not to create a plan.28- Ask at most three follow-up questions, and only when missing information29 blocks responsible planning.30- Write the plan in the same language as the user's request.3132## Select Planning Depth3334Choose the least detailed mode that preserves safe execution and honest35verification. Escalate the mode if new risk or ambiguity appears.3637- **Compact** — default for bounded medium work that is likely to finish in one38 session, has familiar architecture, and does not need independent step-level39 recovery. Use concise actions with expected results and checks plus one shared40 execution protocol and final quality gate. Prefer 3-5 actions and 1-341 implementation bullets per action.42- **Full** — use when work crosses system boundaries, changes architecture or43 data flow, involves ambiguous debugging, migrations, rollout or compatibility44 risk, substantial research, or benefits from step-local quality gates and45 completion evidence.46- **Long-running** — extend full mode when work may span multiple sessions or47 hours, multiple product areas, a major refactor or migration, or needs a48 durable handoff record, decision log, and recovery instructions.4950Read `references/core-planning-rules.md` for exact selection tests and required51content for each mode.5253## Reference Routing5455- Read `references/core-planning-rules.md` before drafting any plan. It defines56 task intake, mode requirements, check classification, subagent guidance, and57 quality gates.58- Read `references/compact-plan-template.md` only for compact mode.59- Read `references/full-plan-template.md` for full and long-running modes.60- Also read `references/long-running-addendum.md` only for long-running mode.6162## Inspect Repository Context6364When repository context is available, inspect relevant files before writing the65plan. Prefer:6667- `README.md`, `AGENTS.md`, `AGENT.md`, `CLAUDE.md`, and similar instructions;68- package, build, dependency, framework, test, and CI configuration;69- `docs/`, architecture docs, ADRs, and implementation notes;70- relevant source modules, routes, services, models, components, jobs,71 migrations, scripts, tests, and entrypoints.7273Use that evidence to infer likely files, commands, constraints, risks, and74implementation order. Name a category or discovery action instead of inventing75an unsupported file, command, service, or architecture detail.7677## Saved Plan Workflow7879- Follow the repository's planning convention when one exists. Otherwise save80 active plans under `docs/plans/active/` as81 `YYYY-MM-DD-short-task-slug.md`. For a split plan, use82 `docs/plans/active/YYYY-MM-DD-short-task-slug/PLAN.md` plus phase files.83- Do not wrap a saved plan in an outer Markdown code fence.84- Keep the plan current before stopping, handing off, changing direction, or85 giving a final answer.86- Mark `[x]` only after implementation and verification both pass. Split partly87 completed items; do not round them up to complete.88- Record the command, inspection, test, or manual check that proves completion.89- On successful completion, follow the repository convention or move the plan90 from `active/` to `completed/` and record the outcome. If work is stopped91 without completion, move it to `abandoned/` and record why, what remains, and92 how to resume. When moves are not appropriate, record `Status: completed` or93 `Status: abandoned` in place.9495## Verification Integrity9697- A new or relevant failure blocks the affected step and final completion until98 it is fixed and re-verified.99- Never mark a pre-existing, flaky, unavailable, or unrelated check as passed.100 Classify it with evidence and follow the rules in101 `references/core-planning-rules.md`.102- If a required check remains unresolved, report the result as partial or103 blocked unless the user explicitly accepts the risk. Accepted risk remains an104 unresolved check; it does not become a pass.105106## Authority Boundaries107108A plan records intended work; it does not grant new authority. Commits, pushes,109deployments, destructive operations, external messages, issue or PR mutations,110and other consequential actions remain limited by the user's request and host111policy. Describing work as parent-owned or assigning it to an agent does not112authorize that work.113114## Execution Loop115116For each current action or full-mode step:1171181. Confirm the expected result.1192. Implement only the current scope.1203. Record what changed.1214. Run the planned checks.1225. Fix relevant failures immediately, or re-plan when evidence disproves the123 approach, then re-run affected checks.1246. Classify any unresolved check without claiming it passed.1257. Record completion evidence and update the plan.1268. Continue only when the current quality gate permits it.127128Compact mode may use one shared quality gate. Full and long-running modes use129step-local gates. Long-running plans also keep `Progress`,130`Surprises & Discoveries`, `Decision Log`, and `Outcomes & Retrospective`131current.132133## Avoid134135- Do not produce vague actions such as "do backend" or "handle auth".136- Do not duplicate the shared execution protocol under every compact action.137- Do not expand a compact plan merely to fill a template.138- Do not label a plan-only response `active`; use `proposed`.139- Do not treat skipped, unavailable, or accepted-risk checks as successful.140- Do not proceed past a relevant regression because another check passed.141- Do not recommend overlapping write-heavy subagents.