Planning Skill
When to use
Use this skill when the user asks for planning, a roadmap, a spec-to-implementation breakdown, or wants decisions documented.
Modes
Choose the lightest mode that meets the request.
quick-plan
Use when:
- task is small/medium and non-breaking
- no migrations and no multi-phase rollout
Output:
- 3–8 Work Items (WI-###), each with tests + acceptance
full-plan (default)
Use when:
- migrations/persistence changes
- API/contract changes (public tools, schemas, SDKs)
- multi-phase roadmaps
- performance-sensitive work
Output:
- structured plan sections (see “Plan file template”)
Process
Clarify outcomes
- Restate desired behaviors and constraints.
- Identify ambiguities and propose defaults if the user doesn’t decide.
- Capture constraints & dependencies (runtime versions, OS, external services, feature flags, required tools).
- Capture gaps: list requirement/behavior gaps or missing decisions revealed here.
Inventory current behavior
- Trace entry points → state/store → side effects → persistence.
- List key files/modules and the invariants they rely on.
- Note ownership/priority rules (windows, workspaces, files).
- Capture gaps: list where current behavior diverges from the stated outcomes.
Define target rules
- Convert outcomes into explicit rules and precedence.
- For each rule, include: trigger/context, expected behavior, scope, constraints, and exclusions.
- Edge-case pass: cover empty/none, invalid/malformed, boundary sizes, conflicting state, multi-surface coordination, persistence/restore, and I/O failures.
- Capture gaps: list rules that lack implementation support or current behavior conflicts.
- Create a Decision Log:
- decision, options considered, rationale, and why alternatives were rejected.
- Create an Open Questions list:
- questions that block correctness, who decides, and what the default is if not decided.
Structure the plan
- Break into Work Items (WI-###), each with:
- Goal
- Acceptance (measurable) (correctness + performance + UX where relevant)
- Tests (first) (file names + test intent; unit/integration/e2e as applicable)
- Touched areas (file paths + key functions/classes/symbols)
- Dependencies (other WIs, external tools/services)
- Risks + mitigations
- Rollback / revert strategy
- Add priority + estimates (S/M/L) and explicit ordering/dependencies between WIs.
- Capture gaps: map each gap to at least one WI (or record as “out of scope”).
- Plan lint (required):
- Sections present (Outcomes, Constraints, Current Behavior, Target Rules, Work Items, Testing).
- WI numbering is sequential and referenced consistently.
- Every WI includes tests + acceptance.
Write the plan file
- Use the template at
templates/TEMPLATE.md (bundled with this skill) if available, otherwise follow the structure above.
- Write plans to
dev-docs/plans/YYYYMMDD-HHMM-<topic>.md.
- Always report the saved plan path.
Testing Requirements
- Every WI must include explicit tests to write before implementation (file names and test intent).
- If tests cannot be written, call it out explicitly and propose the smallest test seam to enable them.
- Include a Testing Procedures section in the plan with required commands and when to run them.
- End the plan with a short Manual Test Checklist.
Acceptance Criteria Guidance
Acceptance must be measurable and verifiable:
- Good: “Search returns v1 schema with
locator_v1 for every result (unit test).”
- Bad: “Search feels better.”
Plan → Verify Handoff (required)
At the end of the plan, include:
- Evidence to collect per WI (tests, logs, manual steps).
- Any required fixtures or sample data.
Migration / persistence requirements (when applicable)
If the plan changes anything persisted (DB, on-disk cache, config files, APIs that clients store):
- Add a Data Model section (tables/columns/keys, versions).
- Add a Migration Plan:
- forward migration steps
- rollback steps
- compatibility guarantees (old clients vs new server)
- Add Invariants + validation queries (what to check post-migration).
- Add a Backfill / reindex strategy if needed.
Observability requirements (when applicable)
If the plan touches indexing/search/performance-sensitive paths:
- Define metrics (latency, throughput, memory, DB size growth).
- Define where logs go and how to enable verbose tracing.
- Add acceptance thresholds (e.g. “index 1000 docs < X minutes on machine Y”).
Rollout requirements (when applicable)
If behavior changes are user-visible or risky:
- Add a Rollout Plan (feature flags, staged enablement, default-off vs default-on).
- Define “kill switch” conditions and how to revert quickly.
Output Requirements
- Always produce a plan file and include its path in the response.
- Ask at most 1–2 clarifying questions only when they change the rules.
1---2name: planning3description: Create comprehensive implementation plans and write them to plan files. Use when the user asks for a plan, comprehensive plan, systematic workflow design, or wants decisions documented in a plan file.4---56# Planning Skill78## When to use910Use this skill when the user asks for planning, a roadmap, a spec-to-implementation breakdown, or wants decisions documented.1112## Modes1314Choose the lightest mode that meets the request.1516### `quick-plan`1718Use when:19- task is small/medium and non-breaking20- no migrations and no multi-phase rollout2122Output:23- 3–8 Work Items (WI-###), each with tests + acceptance2425### `full-plan` (default)2627Use when:28- migrations/persistence changes29- API/contract changes (public tools, schemas, SDKs)30- multi-phase roadmaps31- performance-sensitive work3233Output:34- structured plan sections (see “Plan file template”)3536## Process37381. **Clarify outcomes**39 - Restate desired behaviors and constraints.40 - Identify ambiguities and propose defaults if the user doesn’t decide.41 - Capture **constraints & dependencies** (runtime versions, OS, external services, feature flags, required tools).42 - **Capture gaps**: list requirement/behavior gaps or missing decisions revealed here.43442. **Inventory current behavior**45 - Trace entry points → state/store → side effects → persistence.46 - List key files/modules and the invariants they rely on.47 - Note ownership/priority rules (windows, workspaces, files).48 - **Capture gaps**: list where current behavior diverges from the stated outcomes.49503. **Define target rules**51 - Convert outcomes into explicit rules and precedence.52 - For each rule, include: trigger/context, expected behavior, scope, constraints, and exclusions.53 - **Edge-case pass**: cover empty/none, invalid/malformed, boundary sizes, conflicting state, multi-surface coordination, persistence/restore, and I/O failures.54 - **Capture gaps**: list rules that lack implementation support or current behavior conflicts.55 - Create a **Decision Log**:56 - decision, options considered, rationale, and why alternatives were rejected.57 - Create an **Open Questions** list:58 - questions that block correctness, who decides, and what the default is if not decided.59604. **Structure the plan**61 - Break into Work Items (WI-###), each with:62 - **Goal**63 - **Acceptance (measurable)** (correctness + performance + UX where relevant)64 - **Tests (first)** (file names + test intent; unit/integration/e2e as applicable)65 - **Touched areas** (file paths + key functions/classes/symbols)66 - **Dependencies** (other WIs, external tools/services)67 - **Risks + mitigations**68 - **Rollback / revert strategy**69 - Add **priority + estimates** (S/M/L) and explicit ordering/dependencies between WIs.70 - **Capture gaps**: map each gap to at least one WI (or record as “out of scope”).71 - **Plan lint (required)**:72 - Sections present (Outcomes, Constraints, Current Behavior, Target Rules, Work Items, Testing).73 - WI numbering is sequential and referenced consistently.74 - Every WI includes tests + acceptance.75765. **Write the plan file**77 - Use the template at `templates/TEMPLATE.md` (bundled with this skill) if available, otherwise follow the structure above.78 - Write plans to `dev-docs/plans/YYYYMMDD-HHMM-<topic>.md`.79 - Always report the saved plan path.8081## Testing Requirements8283- Every WI must include explicit tests to write **before** implementation (file names and test intent).84- If tests cannot be written, call it out explicitly and propose the smallest test seam to enable them.85- Include a **Testing Procedures** section in the plan with required commands and when to run them.86- End the plan with a short **Manual Test Checklist**.8788## Acceptance Criteria Guidance8990Acceptance must be **measurable and verifiable**:91- Good: “Search returns v1 schema with `locator_v1` for every result (unit test).”92- Bad: “Search feels better.”9394## Plan → Verify Handoff (required)9596At the end of the plan, include:97- Evidence to collect per WI (tests, logs, manual steps).98- Any required fixtures or sample data.99100## Migration / persistence requirements (when applicable)101102If the plan changes anything persisted (DB, on-disk cache, config files, APIs that clients store):103104- Add a **Data Model** section (tables/columns/keys, versions).105- Add a **Migration Plan**:106 - forward migration steps107 - rollback steps108 - compatibility guarantees (old clients vs new server)109- Add **Invariants + validation queries** (what to check post-migration).110- Add a **Backfill / reindex** strategy if needed.111112## Observability requirements (when applicable)113114If the plan touches indexing/search/performance-sensitive paths:115116- Define metrics (latency, throughput, memory, DB size growth).117- Define where logs go and how to enable verbose tracing.118- Add acceptance thresholds (e.g. “index 1000 docs < X minutes on machine Y”).119120## Rollout requirements (when applicable)121122If behavior changes are user-visible or risky:123124- Add a **Rollout Plan** (feature flags, staged enablement, default-off vs default-on).125- Define “kill switch” conditions and how to revert quickly.126127## Output Requirements128129- Always produce a plan file and include its path in the response.130- Ask at most 1–2 clarifying questions only when they change the rules.