with one click
feature-plan
// Use when planning a new feature before implementation. Triggers on "plan", "design", "architect", or when describing a feature to build.
// Use when planning a new feature before implementation. Triggers on "plan", "design", "architect", or when describing a feature to build.
| name | feature-plan |
| description | Use when planning a new feature before implementation. Triggers on "plan", "design", "architect", or when describing a feature to build. |
Specify architecture with wave-assigned tasks for parallel execution.
# [Feature Name]
[One paragraph: what we're building and why]
**Research**: `docs/research/<name>.md` (if applicable)
## Design
### Types
[Struct/enum layouts: field names, types, defaults]
### Algorithm (if applicable)
[Prose or pseudocode. Inline all shader formulas and SDF functions. Key GLSL as math or code.]
### Parameters
| Parameter | Type | Range | Default | Modulatable | UI Label |
|-----------|------|-------|---------|-------------|----------|
### Constants
- Enum name: `TRANSFORM_FEATURE_NAME`
- Display name: `"Feature Name"`
- Category: `TRANSFORM_CATEGORY_X`
---
## Tasks
### Wave 1: [Foundation]
#### Task 1.1: [Name]
**Files**: `path/to/file.h`
**Creates**: [What this task produces that others need]
**Do**: What to build, which existing code to follow as pattern
**Verify**: `cmake.exe --build build` compiles.
---
### Wave 2: [Parallel Implementation]
#### Task 2.1: [Name]
**Files**: `path/to/file.cpp`
**Depends on**: Wave 1 complete
**Do**: What to build, which existing code to follow as pattern
**Verify**: Compiles.
---
## Final Verification
- [ ] Build succeeds with no warnings
- [ ] [Feature-specific checks]
Goal: Understand what to plan
Actions:
/feature-plan docs/research/foo.md):
docs/plans/<kebab-case-name>.mdCRITICAL: This phase determines whether you build from vetted research or invent approaches.
Goal: Load existing research BEFORE any other exploration
Actions:
docs/research/ for documents related to this feature/brainstorm <name> first.STOP: Do not proceed until research docs are read (if they exist).
Goal: Let user choose exploration approach based on complexity
Actions:
Assess feature complexity:
Ask user using AskUserQuestion:
STOP: Do not proceed until user chooses exploration approach.
Goal: Understand relevant existing code and patterns
Launch 2-3 code-explorer agents in parallel (Task tool, subagent_type=code-explorer). Each agent should:
After agents return, read all files they identified
Present summary of findings and patterns
docs/structure.md for file locationsGoal: Resolve ambiguities the research doc does NOT already answer
Actions:
If user says "whatever you think is best": provide specific recommendation and get explicit confirmation.
STOP: Do not proceed until user answers remaining questions (if any).
Goal: Design implementation approach with user input
Actions:
If research doc exists and specifies the approach: Use it. Do not present alternatives. The research doc already made this decision. Proceed directly to Phase 7 using the researched approach.
If NO research doc, or research leaves approach open:
STOP: Do not proceed until user chooses an approach (if choice was needed).
Goal: Capture every design decision agents need
Actions:
UI gate: If any task touches UI code, invoke /ui-guide and enforce its rules in the design.
Test: Does this section cover every decision an agent would otherwise guess at? If yes, stop. If an agent would face an unresolved design choice, add it.
Goal: Group tasks for parallel execution
Wave Assignment Rules:
Wave 1: Tasks that CREATE files others #include
Wave 2+: Tasks that MODIFY existing files or depend on Wave 1
For Effects (using add-effect checklist):
*_config.h (creates the struct)Validation (do this BEFORE writing the plan):
Goal: Create docs/plans/<feature-name>.md
Actions:
Skip if: No research docs identified in Phase 2.
Goal: Verify plan faithfully represents research
Actions:
Dispatch agent (Task tool, subagent_type=general-purpose) with prompt:
docs/research/[name].md and docs/plans/[name].md. Compare them. Report ANY: drift (formulas differ), invention (techniques not in research), omission (steps dropped), parameter mismatch (ranges/semantics differ), reference leak (plan defers to research doc instead of inlining shader code)."Agent returns either:
If issues found:
<!-- Intentional deviation: [reason] -->Actions:
/implement docs/plans/<name>.md"docs/plans/<feature-name>.md| Thought | Reality |
|---|---|
| "I understand the request already" | Read the research doc first. Then check for gaps. |
| "The research doc is just background" | WRONG. It contains the algorithm you MUST use. Read it. |
| "The research doc mentions X could work" | Speculative notes are not commitments. Ignore "could", "might", "alternatively". |
| "I'll recommend this approach" | Have you tested it? No? Then don't call it recommended. |
| "I should ask about [thing research doc specifies]" | The research doc already decided this. Use its answer. |
| "No clarifying questions needed" | If the research doc covers everything, that's correct. Proceed. |
| "I'll figure out the struct later" | Agents need type layouts. Define field names and types now. |
| "Let me write the full C++ function" | Describe what it does. Agents write the code. |
| "Research exists but I'll improve it" | NO. Use the researched approach exactly. |
| "Research exists but I'll present alternatives" | NO. The research already chose the approach. Follow it. |
| "I'll reference the research doc for the algorithm" | NO. Inline the formulas. The plan is the single source of truth. |
| "I described the shader functions in prose" | Prose is not code. Paste the actual GLSL. |
| "I can skip the fidelity check" | NO. Phase 10 catches drift and invention. |
| "These tasks can run in parallel" | Did you check file overlap? List the files first. |
[HINT] Download the complete skill directory including SKILL.md and all related files