Create a Plan Skill
This skill runs a structured technical interview to turn a rough idea or an existing spec into a detailed, implementable plan. The output is organized for parallel execution: foundations first, then independent workstreams, then merge and integration.
Invocation
The user will provide one of:
- A path to a spec or plan file (for example:
SPEC.md, PLAN.md, RFC.md)
- A rough description of what they want to build
- A feature request or problem statement
Output is always written to PLAN.md in the repo root.
Process
Phase 0: Preflight
- If a file path is provided, read it first and note goals, non-goals, constraints, and gaps.
- Confirm you will produce
PLAN.md as the output in the repo root. If PLAN.md already exists, update it rather than creating a new file.
Phase 1: Discovery
Summarize what is known, then identify missing details. Focus on:
- Goals and non-goals
- Constraints (time, budget, platform, dependencies)
- Success metrics and acceptance criteria
Phase 2: Deep Interview
Use the AskUserQuestion (Claude) and/or request_user_input (Codex) tools in rounds. Ask 1-3 questions per round. Each round should go deeper and avoid repeating what is already known.
CRITICAL RULES:
- Never ask obvious questions. If the codebase or spec already answers it, do not ask it again.
- Ask about edge cases and failure modes.
- Probe for hidden complexity (state transitions, migrations, concurrency).
- Challenge assumptions when they create risk or ambiguity.
- Identify parallelization boundaries and serial dependencies.
- If the user is unsure, propose a default and ask for confirmation.
Question categories to cover as relevant:
- Technical architecture and data flow
- Data model and state management
- API contracts and versioning
- Caching and invalidation
- Background jobs, retries, and idempotency
- Error handling and recovery
- Observability and debugging
- Performance, scale, and SLAs
- Security, privacy, and compliance
- Integrations and external dependencies
- UX flows, accessibility, and responsiveness
- Rollout, migration, and rollback
- Testing strategy and validation
Phase 3: Dependency Analysis
Identify:
- Serial dependencies that must complete first
- Parallel workstreams that can run independently
- Merge points where work reconvenes
Phase 4: Plan Generation
Write the final plan to PLAN.md. Ensure the plan includes concrete verification steps the agent can run end to end. If the user only wants a plan in chat, provide it inline and mention that it would be written to PLAN.md.
Output Format
The generated plan MUST follow this structure:
# [Feature Name] Implementation Plan
## Overview
[2-3 sentence summary of what this implements and why]
## Goals
- [Explicit goal 1]
- [Explicit goal 2]
## Non-Goals
- [What this explicitly does NOT do]
## Assumptions and Constraints
- [Known constraints or assumptions]
## Requirements
### Functional
- [Requirement]
### Non-Functional
- [Performance, reliability, security, compliance]
## Technical Design
### Data Model
[Schema changes, new entities, relationships]
### API Design
[New endpoints, request/response shapes, versioning]
### Architecture
[System diagram in text or mermaid, component interactions]
### UX Flow (if applicable)
[Key screens, loading states, error recovery]
---
## Implementation Plan
### Serial Dependencies (Must Complete First)
These tasks create foundations that other work depends on. Complete in order.
#### Phase 0: [Foundation Name]
**Prerequisite for:** All subsequent phases
| Task | Description | Output |
|------|-------------|--------|
| 0.1 | [Task description] | [Concrete deliverable] |
| 0.2 | [Task description] | [Concrete deliverable] |
---
### Parallel Workstreams
These workstreams can be executed independently after Phase 0.
#### Workstream A: [Name]
**Dependencies:** Phase 0
**Can parallelize with:** Workstreams B, C
| Task | Description | Output |
|------|-------------|--------|
| A.1 | [Task description] | [Concrete deliverable] |
| A.2 | [Task description] | [Concrete deliverable] |
#### Workstream B: [Name]
**Dependencies:** Phase 0
**Can parallelize with:** Workstreams A, C
| Task | Description | Output |
|------|-------------|--------|
| B.1 | [Task description] | [Concrete deliverable] |
---
### Merge Phase
After parallel workstreams complete, these tasks integrate the work.
#### Phase N: Integration
**Dependencies:** Workstreams A, B, C
| Task | Description | Output |
|------|-------------|--------|
| N.1 | [Integration task] | [Concrete deliverable] |
---
## Testing and Validation
- [Unit, integration, end-to-end coverage]
- [Manual test plan if needed]
## Rollout and Migration
- [Feature flags, staged rollout, migration steps]
- [Rollback plan]
## Verification Checklist
- [Exact commands or manual steps the agent can run to verify correctness]
- [Expected outputs or success criteria]
## Risk Assessment
| Risk | Likelihood | Impact | Mitigation |
|------|------------|--------|------------|
| [Risk description] | Low/Med/High | Low/Med/High | [Strategy] |
## Open Questions
- [ ] [Question that still needs resolution]
## Decision Log
| Decision | Rationale | Alternatives Considered |
|----------|-----------|------------------------|
| [Decision made] | [Why] | [What else was considered] |
Interview Flow Example
Round 1: High-Level Architecture
- "The spec mentions a sync engine. Is this push-based (webhooks), pull-based (polling), or event-driven (queue)?"
- "What is the expected data volume and throughput?"
Round 2: Edge Cases
- "If a batch fails mid-run, do we retry the whole batch or resume from a checkpoint?"
- "What happens when source data is deleted but still referenced downstream?"
Round 3: Parallelization
- "Can we process different categories independently, or are there cross-category dependencies?"
- "Is there a natural partition key that allows sharding?"
Round 4: Operational
- "What is the acceptable latency for sync or processing?"
- "How will operators debug failures and what visibility do they need?"
Key Behaviors
- Persist until the plan is implementable and verifiable by the agent, but avoid user fatigue by batching questions.
- Challenge vague answers when they affect design decisions.
- Identify hidden work and operational overhead.
- Think about the merge and integration steps early.
- Summarize understanding and confirm before writing the final plan.
Completing the Interview
After sufficient rounds of questions:
- Summarize your understanding back to the user
- Confirm the parallelization strategy
- Write the complete plan to the target file
- Ask if any sections need refinement
1---2name: create-a-plan3description: Conduct a focused technical planning interview to produce an implementable, parallelizable plan or spec with clear dependencies, risks, and open questions.4---56# Create a Plan Skill78This skill runs a structured technical interview to turn a rough idea or an existing spec into a detailed, implementable plan. The output is organized for parallel execution: foundations first, then independent workstreams, then merge and integration.910## Invocation1112The user will provide one of:13- A path to a spec or plan file (for example: `SPEC.md`, `PLAN.md`, `RFC.md`)14- A rough description of what they want to build15- A feature request or problem statement1617Output is always written to `PLAN.md` in the repo root.1819## Process2021### Phase 0: Preflight22231. If a file path is provided, read it first and note goals, non-goals, constraints, and gaps.242. Confirm you will produce `PLAN.md` as the output in the repo root. If `PLAN.md` already exists, update it rather than creating a new file.2526### Phase 1: Discovery2728Summarize what is known, then identify missing details. Focus on:29- Goals and non-goals30- Constraints (time, budget, platform, dependencies)31- Success metrics and acceptance criteria3233### Phase 2: Deep Interview3435Use the `AskUserQuestion` (Claude) and/or `request_user_input` (Codex) tools in rounds. Ask 1-3 questions per round. Each round should go deeper and avoid repeating what is already known.3637CRITICAL RULES:381. Never ask obvious questions. If the codebase or spec already answers it, do not ask it again.392. Ask about edge cases and failure modes.403. Probe for hidden complexity (state transitions, migrations, concurrency).414. Challenge assumptions when they create risk or ambiguity.425. Identify parallelization boundaries and serial dependencies.436. If the user is unsure, propose a default and ask for confirmation.4445Question categories to cover as relevant:46- Technical architecture and data flow47- Data model and state management48- API contracts and versioning49- Caching and invalidation50- Background jobs, retries, and idempotency51- Error handling and recovery52- Observability and debugging53- Performance, scale, and SLAs54- Security, privacy, and compliance55- Integrations and external dependencies56- UX flows, accessibility, and responsiveness57- Rollout, migration, and rollback58- Testing strategy and validation5960### Phase 3: Dependency Analysis6162Identify:631. Serial dependencies that must complete first642. Parallel workstreams that can run independently653. Merge points where work reconvenes6667### Phase 4: Plan Generation6869Write the final plan to `PLAN.md`. Ensure the plan includes concrete verification steps the agent can run end to end. If the user only wants a plan in chat, provide it inline and mention that it would be written to `PLAN.md`.7071## Output Format7273The generated plan MUST follow this structure:7475```markdown76# [Feature Name] Implementation Plan7778## Overview79[2-3 sentence summary of what this implements and why]8081## Goals82- [Explicit goal 1]83- [Explicit goal 2]8485## Non-Goals86- [What this explicitly does NOT do]8788## Assumptions and Constraints89- [Known constraints or assumptions]9091## Requirements9293### Functional94- [Requirement]9596### Non-Functional97- [Performance, reliability, security, compliance]9899## Technical Design100101### Data Model102[Schema changes, new entities, relationships]103104### API Design105[New endpoints, request/response shapes, versioning]106107### Architecture108[System diagram in text or mermaid, component interactions]109110### UX Flow (if applicable)111[Key screens, loading states, error recovery]112113---114115## Implementation Plan116117### Serial Dependencies (Must Complete First)118119These tasks create foundations that other work depends on. Complete in order.120121#### Phase 0: [Foundation Name]122**Prerequisite for:** All subsequent phases123124| Task | Description | Output |125|------|-------------|--------|126| 0.1 | [Task description] | [Concrete deliverable] |127| 0.2 | [Task description] | [Concrete deliverable] |128129---130131### Parallel Workstreams132133These workstreams can be executed independently after Phase 0.134135#### Workstream A: [Name]136**Dependencies:** Phase 0137**Can parallelize with:** Workstreams B, C138139| Task | Description | Output |140|------|-------------|--------|141| A.1 | [Task description] | [Concrete deliverable] |142| A.2 | [Task description] | [Concrete deliverable] |143144#### Workstream B: [Name]145**Dependencies:** Phase 0146**Can parallelize with:** Workstreams A, C147148| Task | Description | Output |149|------|-------------|--------|150| B.1 | [Task description] | [Concrete deliverable] |151152---153154### Merge Phase155156After parallel workstreams complete, these tasks integrate the work.157158#### Phase N: Integration159**Dependencies:** Workstreams A, B, C160161| Task | Description | Output |162|------|-------------|--------|163| N.1 | [Integration task] | [Concrete deliverable] |164165---166167## Testing and Validation168169- [Unit, integration, end-to-end coverage]170- [Manual test plan if needed]171172## Rollout and Migration173174- [Feature flags, staged rollout, migration steps]175- [Rollback plan]176177## Verification Checklist178179- [Exact commands or manual steps the agent can run to verify correctness]180- [Expected outputs or success criteria]181182## Risk Assessment183184| Risk | Likelihood | Impact | Mitigation |185|------|------------|--------|------------|186| [Risk description] | Low/Med/High | Low/Med/High | [Strategy] |187188## Open Questions189190- [ ] [Question that still needs resolution]191192## Decision Log193194| Decision | Rationale | Alternatives Considered |195|----------|-----------|------------------------|196| [Decision made] | [Why] | [What else was considered] |197```198199## Interview Flow Example200201Round 1: High-Level Architecture202- "The spec mentions a sync engine. Is this push-based (webhooks), pull-based (polling), or event-driven (queue)?"203- "What is the expected data volume and throughput?"204205Round 2: Edge Cases206- "If a batch fails mid-run, do we retry the whole batch or resume from a checkpoint?"207- "What happens when source data is deleted but still referenced downstream?"208209Round 3: Parallelization210- "Can we process different categories independently, or are there cross-category dependencies?"211- "Is there a natural partition key that allows sharding?"212213Round 4: Operational214- "What is the acceptable latency for sync or processing?"215- "How will operators debug failures and what visibility do they need?"216217## Key Behaviors2182191. Persist until the plan is implementable and verifiable by the agent, but avoid user fatigue by batching questions.2202. Challenge vague answers when they affect design decisions.2213. Identify hidden work and operational overhead.2224. Think about the merge and integration steps early.2235. Summarize understanding and confirm before writing the final plan.224225## Completing the Interview226227After sufficient rounds of questions:2281. Summarize your understanding back to the user2292. Confirm the parallelization strategy2303. Write the complete plan to the target file2314. Ask if any sections need refinement