| name | launchpad-spec |
| description | Spec-driven development framework with iterative refinement. Orchestrates feature development from intent to implementation via structured specs and task breakdown. Triggers on /lp:spec, /lp:refine, /lp:clarify, /lp:tasks, /lp:run-task. |
| allowed-tools | Read, Write, Edit, Glob, Grep, Bash, AskUserQuestion, TodoWrite, Task |
Launchpad Spec
Iterative feature development framework ensuring zero ambiguity before execution.
Quick Reference
| Command | Purpose | Input |
|---|
/lp:spec <intent> | Create spec from "I want to build/add X" | Feature description |
/lp:refine [section] | Improve spec with research | Optional section focus |
/lp:clarify <response> | Answer clarification questions | Your response |
/lp:tasks | Break spec into executable tasks | None (uses active spec) |
/lp:run-task [task#] | Execute tasks with TDD | Optional task number |
Core Principle
Iterate until clarity: No task execution begins until ALL questions are resolved and the spec is unambiguous. Claude must be able to execute without interruptions.
Phase 1: /lp:spec - Create Specification
Trigger: /lp:spec <description> or "I want to build/add X"
Workflow
-
Check specs/ folder:
- If missing: Create
specs/ and specs/README.md
- If exists: Read
specs/README.md for project overrides
-
Detect project context:
- Scan repo for language indicators (go.mod, pyproject.toml, package.json, etc.)
- Note primary language(s) for later skill invocation
- Check
specs/README.md for language overrides
-
Generate spec file:
- Filename:
specs/{feature-slug}.md (kebab-case)
-
Fill initial sections:
- Parse user intent into Objective
- List initial requirements (functional/non-functional)
- Mark status as
DRAFT
-
Generate clarifying questions:
- Identify ambiguities, edge cases, unknowns
- List as numbered questions in "Open Questions" section
- STOP and present questions to user
Output
Created: specs/feature-name.md (DRAFT)
Questions requiring clarification:
1. [Question about scope]
2. [Question about behavior]
3. [Question about constraints]
Use `/lp:clarify` to answer, or `/lp:refine` to research solutions.
Phase 2: /lp:refine - Research & Improve
Trigger: /lp:refine [section] (e.g., /lp:refine solution, /lp:refine requirements)
Workflow
-
Load active spec: Find most recent DRAFT spec in specs/
-
Check project conventions:
- Read
specs/README.md for behavior overrides
- Load relevant language skill (auto-detected or overridden)
-
Research phase:
- Search codebase for similar patterns
- Check skill references for best practices
-
Update spec:
- Fill "Technical Strategy" with concrete approach
- Add architecture decisions with rationale
- Update requirements based on findings
-
Re-evaluate clarity:
- Are there new questions?
- Are existing questions resolved?
- If questions remain: STOP and present them
Phase 3: /lp:clarify - Answer Questions
Trigger: /lp:clarify <response> or /lp:clarify Q1: answer, Q2: answer
Workflow
-
Load active spec with open questions
-
Parse user response:
- Match answers to numbered questions
- Accept free-form responses for single questions
-
Update spec:
- Move answered questions to relevant sections
- Add decisions/constraints to Requirements or Strategy
- Remove resolved questions from "Open Questions"
-
Check for new questions:
- Does the answer introduce new ambiguities?
- If questions remain: present them
- If no questions: announce spec is ready for
/lp:tasks
Example
User: /lp:clarify Q1: We need OAuth2 with Google provider only. Q2: No, admin can also delete.
Updated specs/auth-system.md:
- Added OAuth2/Google to Technical Strategy
- Updated permissions: admin can delete
Remaining questions: None
Spec is ready. Use `/lp:tasks` to create task breakdown.
Phase 4: /lp:tasks - Task Breakdown
Trigger: /lp:tasks
Prerequisites
- Active spec must have status
DRAFT or APPROVED
- "Open Questions" section must be empty
- If questions exist: STOP and redirect to
/lp:clarify
Workflow
-
Validate spec readiness:
If open_questions > 0:
ERROR: Spec has unresolved questions. Use /lp:clarify first.
-
Mark spec as APPROVED
-
Generate task file: specs/{feature-slug}.tasks.md
-
Break down by component:
- Group tasks by logical component/module
- Each task = one logical unit (not TDD-granular)
- TDD practice enforced during
/lp:run-task, not here
-
Add task metadata:
- Link back to spec
- Context summary
- Acceptance criteria per task
-
Final review:
- Present task list to user
- Ask: "Any tasks missing or need splitting?"
Task Granularity
Tasks should be high-level logical units:
- "Implement authentication middleware"
- "Create user model and repository"
- "Add API endpoints for user CRUD"
TDD cycle (Red-Green-Refactor) happens WITHIN each task during /lp:run-task.
Phase 5: /lp:run-task - Execute Tasks
Trigger: /lp:run-task [task#] (e.g., /lp:run-task, /lp:run-task 3)
Prerequisites
- Task file must exist:
specs/{feature}.tasks.md
- If no task file: STOP and redirect to
/lp:tasks
Workflow
-
Load task file and find next unchecked task (or specified task#)
-
Load context:
- Read linked spec for requirements
- Read
specs/README.md for project overrides
-
Execute with TDD:
- RED: Write failing test first
- GREEN: Minimal code to pass
- REFACTOR: Clean up
- COMMIT: After each phase
-
Update task file:
- Mark task as
[x] complete
- Add notes if needed
-
Continue or pause:
- If more tasks: Ask "Continue to next task?"
- If blocked: Document blocker, ask for input
- If all done: Mark spec as
COMPLETED
Execution Rules
- No interruptions: If questions arise during execution, the spec was not ready
- Respect hooks: Pre-commit hooks must pass before marking complete
Project Configuration: specs/README.md
Override default behaviors per-project:
# Spec Configuration
## Language Override
Primary: golang
Secondary: python
## Conventions
- All specs require security section
- Tasks must include rollback plan
- Use feature branches: feature/{spec-name}
## Templates
Use custom templates from: ./templates/
## Auto-invoke
- Always run /trivy before marking complete
State Management
Spec Status Flow
DRAFT -> APPROVED -> IN_PROGRESS -> COMPLETED
| |
v v
(questions?) (blocked?)
| |
v v
DRAFT IN_PROGRESS
File Structure
project/
└── specs/
├── README.md # Project overrides
├── auth-system.md # Spec (APPROVED)
├── auth-system.tasks.md # Task breakdown
├── user-dashboard.md # Spec (DRAFT)
└── ...
Session Resume
On context compaction or session resume:
- Check
specs/ for files with status IN_PROGRESS
- Check
.tasks.md files for unchecked items
- Report: "Found in-progress spec: X with Y tasks remaining"
- Ask: "Continue with
/lp:run-task?"
Error Handling
| Situation | Response |
|---|
/lp:tasks with open questions | "Spec has N unresolved questions. Use /lp:clarify first." |
/lp:run-task without task file | "No task file found. Use /lp:tasks first." |
/lp:clarify without active spec | "No active spec. Use /lp:spec to create one." |
Ambiguity during /lp:run-task | "Execution blocked: [issue]. Spec needs refinement. Use /lp:refine." |