Feature Development Workflow
Execute a structured 7-phase feature development workflow. This workflow guides you through understanding, exploring, designing, implementing, and reviewing a feature.
Phase Overview
Execute these phases in order, completing all of them:
- Discovery - Understand the feature requirements
- Codebase Exploration - Map relevant code areas
- Clarifying Questions - Resolve ambiguities
- Architecture Design - Design the implementation approach
- Implementation - Build the feature
- Quality Review - Review for issues
- Summary - Document accomplishments
Phase 1: Discovery
Goal: Understand what the user wants to build.
- Analyze the feature description from
$ARGUMENTS: - What is the core functionality?
- What are the expected inputs and outputs?
- Are there any constraints mentioned?
- What success criteria can you infer?
- Summarize your understanding to the user. Prompt the user to confirm if your understanding is correct before proceeding.
Phase 2: Codebase Exploration
Goal: Understand the relevant parts of the codebase.
- Run deep-analysis workflow:
- Refer to the deep-analysis skill for the exploration and synthesis workflow.
- Pass the feature description from Phase 1 as the analysis context.
- This handles reconnaissance, team planning, parallel exploration, and synthesis.
- Present the synthesized analysis to the user.
Phase 3: Clarifying Questions
Goal: Resolve any ambiguities before designing.
- Review the feature requirements and exploration findings.
- Identify underspecified aspects:
- Edge cases not covered
- Technical decisions that could go multiple ways
- Integration points that need clarification
- Performance or scale requirements
- Ask clarifying questions:
Prompt the user to answer critical unknowns. Only ask questions that would significantly impact the implementation.
If no clarifying questions are needed, inform the user and proceed.
Phase 4: Architecture Design
Goal: Design the implementation approach.
- Load skills for this phase:
- Refer to the architecture-patterns, language-patterns, and technical-diagrams skills and apply their guidance for any Mermaid diagrams in architecture proposals.
- Delegate to 2-3 independent architecture agents to design different approaches:
`` Agent 1: Design a minimal, focused approach prioritizing simplicity Agent 2: Design a flexible, extensible approach prioritizing future changes Agent 3: Design an approach optimized for the project's existing patterns (if applicable) ``
Each agent should receive: ``` Feature: [feature description] Design approach: [specific approach for this agent]
Based on the codebase exploration: [Summary of relevant files and patterns]
Design an implementation that:
- Lists files to create/modify
- Describes the changes needed in each file
- Explains the data flow
- Identifies risks and mitigations
Return a detailed implementation blueprint. ```
- Present approaches:
- Summarize each approach
- Compare trade-offs (simplicity, flexibility, performance, maintainability)
- Make a recommendation with justification
- User chooses approach:
Prompt the user to choose:
- Select an approach as-is
- Request modifications to an approach
- Generate ADR artifact:
- Use the ADR template below
- Create an ADR documenting:
- Context: Why this feature is needed
- Decision: The chosen approach
- Consequences: Trade-offs and implications
- Alternatives: Other approaches considered
- Determine the next ADR number by checking existing files in
internal/docs/adr/ - Save to
internal/docs/adr/NNNN-[feature-slug].md(createinternal/docs/adr/if needed) - Inform the user of the saved ADR location
Phase 5: Implementation
Goal: Build the feature.
- Require explicit approval:
Ask the user: "Ready to begin implementation of [feature] using [chosen approach]?" Wait for confirmation before proceeding.
- Read all relevant files:
Before making any changes, read the complete content of every file you will modify.
- Implement the feature:
- Follow the chosen architecture design
- Match existing code patterns and conventions
- Create new files as needed
- Modify existing files with targeted edits
- Add appropriate error handling
- Include inline comments only where logic is not obvious
- Test if applicable:
- If the project has tests, add tests for the new functionality
- Run existing tests to ensure nothing broke
- Proceed immediately to Phase 6.
Phase 6: Quality Review
Goal: Review the implementation for issues.
- Load skills for this phase:
- Refer to the code-quality skill and apply its guidance.
- Delegate to 3 independent review agents with different focuses (correctness, security, maintainability):
`` Agent 1: Review for correctness and edge cases Agent 2: Review for security and error handling Agent 3: Review for maintainability and code quality ``
Each agent should receive: ``` Review focus: [specific focus for this agent]
Files to review: [List of files modified/created]
Review the implementation and report:
- Issues found with confidence scores (0-100)
- Suggestions for improvement
- Positive observations
Only report issues with confidence >= 80. ```
- Aggregate findings:
- Collect results from all reviewers
- Deduplicate similar issues
- Prioritize by severity and confidence
- Present findings:
Show the user:
- Critical issues (must fix)
- Moderate issues (should fix)
- Minor suggestions (nice to have)
- User decides:
Prompt the user to choose:
- Fix all issues now
- Fix critical issues only
- Proceed without fixes
- I will fix manually later
- If fixing: make the changes and re-review if needed.
- Proceed immediately to Phase 7.
Phase 7: Summary
Goal: Document and celebrate accomplishments.
- Summarize accomplishments:
Present to the user:
- What was built
- Key files created/modified
- Architecture decisions made
- Architecture diagram (Mermaid flowchart showing the implemented structure)
- Any known limitations or future work
- Update CHANGELOG.md:
- Use the changelog entry template below
- Refer to the changelog-format skill for Keep a Changelog guidelines
- Create an entry under the
[Unreleased]section with: - Appropriate category (Added, Changed, Fixed, etc.)
- Concise description of the feature
- If
CHANGELOG.mddoes not exist, create it with proper header - Add the entry to the appropriate section under
[Unreleased] - Inform the user of the update
- Final message:
Congratulate the user and offer next steps:
- Commit the changes
- Create a PR
- Additional testing suggestions
Error Handling
If any phase fails:
- Explain what went wrong
- Prompt the user to choose:
- Retry the phase
- Skip to next phase
- Abort the workflow
Agent Coordination
When launching parallel agents (architecture agents, review agents):
- Give each agent a distinct focus area
- Wait for all agents to complete before proceeding
- Handle agent failures gracefully (continue with partial results)
ADR Template
Use this template when generating Architecture Decision Records in Phase 4.
Template
# ADR-NNNN: [Title]
**Date:** YYYY-MM-DD
**Status:** Accepted
**Feature:** [Feature name/description]
## Context
[Describe the situation that led to this decision. Include:]
- What problem are we solving?
- What constraints do we have?
- What are the driving forces?
## Decision
[State the decision clear