Orchestrates the full feature development lifecycle from ideation through verification. Guides through phases (brainstorm → design → specify → plan → implement → verify) and loads appropriate sub-skills at each stage.
This skill orchestrates the complete feature development workflow, guiding you through each phase and loading the appropriate sub-skills automatically.
Use when: Starting any new feature, migration, refactor, or significant change.
Announce at start: "I'm using development-lifecycle to guide this work through all phases."
┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ IDEATION │───▶│ DESIGN │───▶│ SPECIFICATION│───▶│ PLANNING │───▶│IMPLEMENTATION│
│ brainstorming│ │ design.md │ │ prd.md │ │ tasks.md │ │executing-plans│
└─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘
│ │ │ │
└──────────────────┴──────────────────┴──────────────────┤
│ ▼
┌─────────────────┐ ┌─────────────┐
│ RESEARCH │ │VERIFICATION │
│ (optional) │ │verification-│
│ /research cmd │ │before- │
└─────────────────┘ │completion │
└─────────────┘
Note: Research (/research <bead-id>) can happen at any phase when you need external information or deeper codebase understanding. It's not a sequential step but a parallel activity.
When: You have a rough idea but need to explore and refine it.
Load skill:
skill({ name: "brainstorming" });
Entry criteria: User has an idea or problem to solve.
Process:
Exit criteria:
.beads/artifacts/<bead-id>/design.mdTemplate: .opencode/memory/_templates/design.md
When: Design is validated, need formal requirements and task breakdown.
Load skill:
skill({ name: "prd" });
Entry criteria: Design document exists and is validated.
Process:
br create "Feature Name")Exit criteria:
.beads/artifacts/<bead-id>/prd.mdTemplate: .opencode/memory/_templates/prd.md
When: PRD is complete, need executable task list.
Load skill:
skill({ name: "prd-task" });
Entry criteria: PRD exists at .beads/artifacts/<bead-id>/prd.md.
Process:
Exit criteria:
.beads/artifacts/<bead-id>/prd.json, progress.txtWhen: Tasks defined, need detailed implementation instructions.
Load skill:
skill({ name: "writing-plans" });
Entry criteria: Task list exists (prd.json or tasks.md).
Process:
Exit criteria:
.beads/artifacts/<bead-id>/plan.mdTemplate: .opencode/memory/_templates/tasks.md (for task structure reference)
When: Plan is ready, time to build.
Load skill:
skill({ name: "executing-plans" });
Entry criteria: Plan exists at .beads/artifacts/<bead-id>/plan.md.
Process:
Exit criteria:
When: Implementation complete, before claiming done.
Load skill:
skill({ name: "verification-before-completion" });
Entry criteria: All implementation tasks marked complete.
Process:
Exit criteria:
br close <bead-id>| Starting Point | Begin At | Command |
|---|---|---|
| Rough idea | Phase 1 | skill({ name: "brainstorming" }) |
| Design done, need requirements | Phase 2 | skill({ name: "prd" }) |
| PRD done, need task JSON | Phase 3 | skill({ name: "prd-task" }) |
| Tasks defined, need detailed plan | Phase 4 | skill({ name: "writing-plans" }) |
| Plan ready, time to build | Phase 5 | skill({ name: "executing-plans" }) |
| Done coding, need verification | Phase 6 | skill({ name: "verification-before-completion" }) |
For small changes, you can skip early phases:
| Phase | Template | Purpose |
|---|---|---|
| Design | _templates/design.md | Architecture decisions |
| Specification | _templates/prd.md | Requirements + task breakdown |
| Planning | _templates/tasks.md | Detailed task structure |
| Quick Ideas | _templates/proposal.md | Lightweight change proposals |
Every phase should operate within a bead context:
# Create bead for new feature
br create "Feature Name"
# Check current bead status
br show <bead-id>
# Update status as you progress
br update <bead-id> --status in_progress
# Close when complete
br close <bead-id> --reason "All verification passed"
# Sync changes
br sync --flush-only
User: "I want to add a dark mode toggle"
1. IDEATION
→ skill({ name: "brainstorming" })
→ Questions about scope, triggers, persistence
→ Design decisions documented
→ Output: .beads/artifacts/br-dark-mode/design.md
2. SPECIFICATION
→ skill({ name: "prd" })
→ Full PRD with requirements
→ Tasks section for conversion
→ Output: .beads/artifacts/br-dark-mode/prd.md
3. TASK CONVERSION
→ skill({ name: "prd-task" })
→ JSON task list with dependencies
→ Output: .beads/artifacts/br-dark-mode/prd.json
4. PLANNING
→ skill({ name: "writing-plans" })
→ Bite-sized implementation steps
→ Output: .beads/artifacts/br-dark-mode/plan.md
5. IMPLEMENTATION
→ skill({ name: "executing-plans" })
→ Execute in batches with feedback
→ All code written and committed
6. VERIFICATION
→ skill({ name: "verification-before-completion" })
→ Tests pass: ✓
→ Lint clean: ✓
→ Build succeeds: ✓
→ br close br-dark-mode --reason "Dark mode implemented and verified"