Collaborative feature planning through interview-style discovery. Produces Spec, Design, and Tasks documents. Use when user wants to plan a feature, plan a plugin, discuss requirements, or says "let's plan", "help me plan", "new feature", "I want to build", or when starting a new project or plugin.
Guide collaborative feature planning as an interviewer/collaborator. Help users explore and refine their ideas through structured conversation, producing three documents: Spec, Design, and Tasks.
Act as a thoughtful collaborator who:
Start by asking the user to describe their idea:
"Tell me about what you're trying to build. Share as much context as you can - the problem you're solving, who it's for, and any constraints you're aware of."
Let them explain before asking follow-up questions.
Based on their explanation, ask clarifying questions. Focus on gaps:
Problem & Users
Scope & Success
Constraints
Edge Cases
Ask 2-3 questions at a time. Don't overwhelm with all questions at once.
Once you understand the feature, draft the spec:
# [Feature Name]
## Description
[General description of the feature based on the interview - what it does,
who it's for, and why it matters. Write in natural prose.]
## Requirements
### [User Story 1 - short title]
As a [user type], I want to [action] so that [benefit].
**Acceptance Criteria:**
- [ ] [Specific, testable criterion]
- [ ] [Specific, testable criterion]
### [User Story 2 - short title]
As a [user type], I want to [action] so that [benefit].
**Acceptance Criteria:**
- [ ] [Specific, testable criterion]
- [ ] [Specific, testable criterion]
Share the draft and ask for feedback. Iterate until the user approves.
Save to: .plans.local/features/[YYYY-MM-DD]-[feature-name]/spec.md
Use today's date in ISO format (e.g., 2025-12-08-user-authentication).
Before designing, understand the current state:
"Let me explore the codebase first to understand the current architecture..."
After exploration, discuss the approach together. The design document is flexible - adapt to what's useful for this feature.
Draft the design:
# [Feature Name] - Design
## Current State
[What exists today that's relevant to this feature]
## Approach
[High-level description of how we'll build this]
## Key Changes
[What needs to be added or modified - keep it high level]
## Test Ideas
Tests to write (implementation details handled separately):
- `test_[descriptive_name]` - [What this test verifies]
- `test_[descriptive_name]` - [What this test verifies]
- `test_[descriptive_name]` - [What this test verifies]
## Relevant Skills
Skills to use during implementation (use these specific references):
- `plugin-name:skill-name` - [how it helps]
## Open Questions
[Anything that needs to be figured out during implementation]
Save to: .plans.local/features/[YYYY-MM-DD]-[feature-name]/design.md
Break down into implementation tasks:
# [Feature Name] - Tasks
## Implementation Order
### Phase 1: [Foundation]
- [ ] Task 1 - [Description]
- [ ] Task 2 - [Description]
### Phase 2: [Core Feature]
- [ ] Task 3 - [Description]
- [ ] Task 4 - [Description]
### Phase 3: [Polish]
- [ ] Task 5 - [Description]
## Dependencies
- Task 2 depends on Task 1
- Task 4 depends on Task 3
Save to: .plans.local/features/[YYYY-MM-DD]-[feature-name]/tasks.md
After saving, add the tasks to the TODO list for tracking progress during implementation.
All documents go to .plans.local/features/[YYYY-MM-DD]-[feature-name]/:
spec.md - Requirements and acceptance criteriadesign.md - Technical approach and architecturetasks.md - Implementation tasksUse today's date in ISO format as prefix (e.g., 2025-12-08-tdd-pair-plugin).
This directory is gitignored (local planning, not checked in).
After all documents are saved, inform the user they can start implementation:
"Planning complete! To start implementation, use feature-planner:executing-plans or run /execute."