Implementation Plan
Purpose
Turn a large engineering change into a concrete execution plan that can be implemented step by step later.
This skill is for software delivery planning:
- architecture changes
- adding a new module
- migration work
- non-trivial refactors
- staged implementation of a feature
The output must be implementation-ready, not just a high-level idea list.
Use when
Use this skill when the user wants a plan for:
- architecture changes
- adding a new module or subsystem
- refactoring a significant code area
- migrations or staged replacements
- multi-step implementation with checkpoints
Typical trigger phrases:
- "давай сделаем план"
- "сделай план реализации"
- "составь поэтапный план"
- "спланируй рефактор"
- "сделай план архитектурного изменения"
- "prepare an implementation plan"
- "make a migration plan"
- "break this into milestones"
Do not use when
Do not use this skill for:
- personal scheduling
- study plans
- quarterly product roadmaps
- vague brainstorming with no implementation target
- direct implementation work when the user did not ask for planning
- bug fixing that only needs a local code change
- PR writing or review
Inputs
Expected inputs:
- target change
- current repository state
- relevant modules, interfaces, configs, and docs
- any explicit constraints from the user
Optional inputs:
- logs, failing tests, TODO notes, issue text, or design notes
- existing repo planning conventions
- performance, migration, or compatibility constraints
Outputs
Always produce:
- a written plan document in the repository
- the path to that document
- a milestone-by-milestone execution plan for the user
- assumptions, non-goals, and risks when relevant
- lightweight validation for milestones that change behavior
Planning principles
The plan must be:
- minimal, not speculative
- self-contained enough to execute later
- implementation-oriented
- decomposed into isolated milestones
- balanced so milestones are reasonably similar in size
- explicit about validation
- explicit about what is out of scope
Do not add architectural layers, helper systems, abstractions, or migrations unless they are needed for the stated change.
Constraints
- Read the current code, docs, interfaces, and nearest
AGENTS.md before proposing milestones.
- Prefer existing repository planning conventions when they already exist.
- Documentation is mandatory in the first and last milestones.
- Middle milestones should update docs only when contracts, config, usage, or operational behavior actually change.
- Validation should be lightweight by default: narrow unit tests, smoke tests, focused integration checks, static validation, or schema checks.
- Avoid planning heavy validation unless the requested change truly requires it.
- Keep scope anchored to the requested change; do not silently expand it.
Procedure
Inspect current state first.
Read the narrowest relevant code, tests, docs, configs, and interfaces.
Understand:
- what exists now
- what must change
- what must remain stable
- what constraints are already present
Define the target clearly.
Before writing milestones, identify:
- desired outcome
- hard constraints
- compatibility requirements
- explicit non-goals
- any unresolved assumptions
Choose where to write the plan.
Prefer an existing repository convention if one exists.
Otherwise:
- use
PLANS.md when the repo already treats planning as a shared execution artifact
- or create
docs/plans/<short-slug>.md for change-specific plans
Start documentation in the first milestone.
The first milestone must include creating or updating the plan document with:
- problem statement
- target outcome
- scope
- non-goals
- constraints
- affected components
- milestone list
Decompose into milestones.
Break the work into isolated milestones that:
- each produce a meaningful intermediate state
- minimize cross-milestone entanglement
- are reasonably similar in size
- can contain substeps when needed
- avoid mixing unrelated work
For each milestone, include:
- goal
- affected files, components, or interfaces
- concrete implementation steps
- substeps when necessary
- lightweight validation
- exit criteria
- optional documentation updates if that milestone changes contracts or usage
Keep validation lightweight.
Prefer:
- narrow unit tests
- smoke tests
- static validation
- focused integration checks
- interface, schema, or config validation
Avoid heavy or expensive validation unless clearly required:
- large end-to-end suites
- long training jobs
- full benchmark pipelines
- broad regression runs
Use a spike milestone only when uncertainty is real.
If a major unknown blocks correct decomposition, add an early spike or proof-of-concept milestone.
It must be narrow and must answer a concrete uncertainty, not become open-ended exploration.
Keep milestone size balanced.
If one milestone is too large, split it.
If a milestone is too small and has no standalone value, merge it into a neighboring milestone.
End with closure.
The final milestone must include:
- final documentation reconciliation
- cleanup of temporary transitions if applicable
- final lightweight validation
- confirmation that the plan document reflects the final intended shape
Decision rules
Minimality rule
Do not invent additional architecture, wrappers, adapters, services, or abstractions unless they are necessary for this exact change.
Isolation rule
Prefer milestones that can be implemented and validated independently.
Validation rule
Every milestone that changes behavior should include the smallest credible validation proving that the logic is still correct.
Documentation rule
Documentation is mandatory in the first and last milestones.
In middle milestones, update docs only if interfaces, config, usage, or operational behavior changed.
Unknowns rule
If a key unknown could invalidate the plan, surface it explicitly and isolate it in an early spike or assumption note.
Scope rule
Keep the plan anchored to the requested change. Do not silently expand scope.
Optional subagent use
For large or cross-cutting changes, subagents are optional but useful before finalizing the plan:
- one repository-mapper subagent to find the affected modules, interfaces, configs, and existing docs
- one validation-surface subagent to identify cheap tests and verification points
Wait for both results, then write the final plan.
Do not spawn subagents for small, local changes.
Required plan document structure
The written plan document should contain:
- Title
- Goal
- Current state
- Desired end state
- Scope
- Non-goals
- Constraints or assumptions
- Affected components
- Milestones
- Validation strategy
- Risks or open questions
- Progress log (optional but recommended for living plans)
Definition of done
- A concrete plan document exists in the repository.
- Milestones are implementation-ready, isolated, and reasonably balanced.
- First and last milestones include documentation work.
- Behavior-changing milestones include lightweight validation.
- Non-goals, assumptions, and risks are explicit where they materially affect execution.
- The plan is minimal and avoids speculative architecture.
Final response format
Return a compact response in this structure:
- Plan document:
<path>
- Goal: ...
- Scope: ...
- Non-goals: ...
- Milestones:
- ...
- substep ...
- validation ...
- ...
- substep ...
- validation ...
- ...
- substep ...
- validation ...
- Risks or assumptions: ...
Positive examples
Use this skill for:
- "давай сделаем план реализации"
- "составь план рефактора"
- "сделай поэтапный план миграции"
- "спланируй добавление нового модуля"
- "prepare an implementation plan for this architecture change"
Negative examples
Do not use this skill for:
- "распланируй мою неделю"
- "сделай roadmap на квартал"
- "почини этот баг"
- "закоммить и запушь"
- "ускорь этот модуль"
1---2name: implementation-plan3description: Create an execution-ready implementation plan for a software change such as an architecture update, new module, migration, or non-trivial refactor. Trigger when the user asks for a plan, implementation plan, migration plan, refactor plan, architecture plan, or phased execution plan, including phrases like "давай сделаем план", "сделай план реализации", "спланируй рефактор", and "составь поэтапный план". Inspect the current codebase and docs, decompose the work into isolated, reasonably balanced milestones, write or update a repo plan document, and return the milestone plan with the document path. Each milestone must include scope, affected components, concrete steps, lightweight validation, and exit criteria. Keep it minimal and implementation-oriented; avoid speculative abstractions or invented future-proofing. Do not use for personal scheduling, product roadmaps, brainstorming, or direct coding tasks where no plan was requested.4---56# Implementation Plan78## Purpose910Turn a large engineering change into a concrete execution plan that can be implemented step by step later.1112This skill is for software delivery planning:13- architecture changes14- adding a new module15- migration work16- non-trivial refactors17- staged implementation of a feature1819The output must be implementation-ready, not just a high-level idea list.2021## Use when2223Use this skill when the user wants a plan for:24- architecture changes25- adding a new module or subsystem26- refactoring a significant code area27- migrations or staged replacements28- multi-step implementation with checkpoints2930Typical trigger phrases:31- "давай сделаем план"32- "сделай план реализации"33- "составь поэтапный план"34- "спланируй рефактор"35- "сделай план архитектурного изменения"36- "prepare an implementation plan"37- "make a migration plan"38- "break this into milestones"3940## Do not use when4142Do not use this skill for:43- personal scheduling44- study plans45- quarterly product roadmaps46- vague brainstorming with no implementation target47- direct implementation work when the user did not ask for planning48- bug fixing that only needs a local code change49- PR writing or review5051## Inputs5253Expected inputs:54- target change55- current repository state56- relevant modules, interfaces, configs, and docs57- any explicit constraints from the user5859Optional inputs:60- logs, failing tests, TODO notes, issue text, or design notes61- existing repo planning conventions62- performance, migration, or compatibility constraints6364## Outputs6566Always produce:671. a written plan document in the repository682. the path to that document693. a milestone-by-milestone execution plan for the user704. assumptions, non-goals, and risks when relevant715. lightweight validation for milestones that change behavior7273## Planning principles7475The plan must be:76- minimal, not speculative77- self-contained enough to execute later78- implementation-oriented79- decomposed into isolated milestones80- balanced so milestones are reasonably similar in size81- explicit about validation82- explicit about what is out of scope8384Do not add architectural layers, helper systems, abstractions, or migrations unless they are needed for the stated change.8586## Constraints8788- Read the current code, docs, interfaces, and nearest `AGENTS.md` before proposing milestones.89- Prefer existing repository planning conventions when they already exist.90- Documentation is mandatory in the first and last milestones.91- Middle milestones should update docs only when contracts, config, usage, or operational behavior actually change.92- Validation should be lightweight by default: narrow unit tests, smoke tests, focused integration checks, static validation, or schema checks.93- Avoid planning heavy validation unless the requested change truly requires it.94- Keep scope anchored to the requested change; do not silently expand it.9596## Procedure97981. Inspect current state first.99 Read the narrowest relevant code, tests, docs, configs, and interfaces.100 Understand:101 - what exists now102 - what must change103 - what must remain stable104 - what constraints are already present1051062. Define the target clearly.107 Before writing milestones, identify:108 - desired outcome109 - hard constraints110 - compatibility requirements111 - explicit non-goals112 - any unresolved assumptions1131143. Choose where to write the plan.115 Prefer an existing repository convention if one exists.116 Otherwise:117 - use `PLANS.md` when the repo already treats planning as a shared execution artifact118 - or create `docs/plans/<short-slug>.md` for change-specific plans1191204. Start documentation in the first milestone.121 The first milestone must include creating or updating the plan document with:122 - problem statement123 - target outcome124 - scope125 - non-goals126 - constraints127 - affected components128 - milestone list1291305. Decompose into milestones.131 Break the work into isolated milestones that:132 - each produce a meaningful intermediate state133 - minimize cross-milestone entanglement134 - are reasonably similar in size135 - can contain substeps when needed136 - avoid mixing unrelated work1371386. For each milestone, include:139 - goal140 - affected files, components, or interfaces141 - concrete implementation steps142 - substeps when necessary143 - lightweight validation144 - exit criteria145 - optional documentation updates if that milestone changes contracts or usage1461477. Keep validation lightweight.148 Prefer:149 - narrow unit tests150 - smoke tests151 - static validation152 - focused integration checks153 - interface, schema, or config validation154155 Avoid heavy or expensive validation unless clearly required:156 - large end-to-end suites157 - long training jobs158 - full benchmark pipelines159 - broad regression runs1601618. Use a spike milestone only when uncertainty is real.162 If a major unknown blocks correct decomposition, add an early spike or proof-of-concept milestone.163 It must be narrow and must answer a concrete uncertainty, not become open-ended exploration.1641659. Keep milestone size balanced.166 If one milestone is too large, split it.167 If a milestone is too small and has no standalone value, merge it into a neighboring milestone.16816910. End with closure.170 The final milestone must include:171 - final documentation reconciliation172 - cleanup of temporary transitions if applicable173 - final lightweight validation174 - confirmation that the plan document reflects the final intended shape175176## Decision rules177178### Minimality rule179180Do not invent additional architecture, wrappers, adapters, services, or abstractions unless they are necessary for this exact change.181182### Isolation rule183184Prefer milestones that can be implemented and validated independently.185186### Validation rule187188Every milestone that changes behavior should include the smallest credible validation proving that the logic is still correct.189190### Documentation rule191192Documentation is mandatory in the first and last milestones.193In middle milestones, update docs only if interfaces, config, usage, or operational behavior changed.194195### Unknowns rule196197If a key unknown could invalidate the plan, surface it explicitly and isolate it in an early spike or assumption note.198199### Scope rule200201Keep the plan anchored to the requested change. Do not silently expand scope.202203## Optional subagent use204205For large or cross-cutting changes, subagents are optional but useful before finalizing the plan:206- one repository-mapper subagent to find the affected modules, interfaces, configs, and existing docs207- one validation-surface subagent to identify cheap tests and verification points208209Wait for both results, then write the final plan.210211Do not spawn subagents for small, local changes.212213## Required plan document structure214215The written plan document should contain:216- Title217- Goal218- Current state219- Desired end state220- Scope221- Non-goals222- Constraints or assumptions223- Affected components224- Milestones225- Validation strategy226- Risks or open questions227- Progress log (optional but recommended for living plans)228229## Definition of done230231- A concrete plan document exists in the repository.232- Milestones are implementation-ready, isolated, and reasonably balanced.233- First and last milestones include documentation work.234- Behavior-changing milestones include lightweight validation.235- Non-goals, assumptions, and risks are explicit where they materially affect execution.236- The plan is minimal and avoids speculative architecture.237238## Final response format239240Return a compact response in this structure:241242- Plan document: `<path>`243- Goal: ...244- Scope: ...245- Non-goals: ...246- Milestones:247 1. ...248 - substep ...249 - validation ...250 2. ...251 - substep ...252 - validation ...253 3. ...254 - substep ...255 - validation ...256- Risks or assumptions: ...257258## Positive examples259260Use this skill for:261- "давай сделаем план реализации"262- "составь план рефактора"263- "сделай поэтапный план миграции"264- "спланируй добавление нового модуля"265- "prepare an implementation plan for this architecture change"266267## Negative examples268269Do not use this skill for:270- "распланируй мою неделю"271- "сделай roadmap на квартал"272- "почини этот баг"273- "закоммить и запушь"274- "ускорь этот модуль"