| # Feature Development Plugin |
|
|
| A comprehensive, structured workflow for feature development with specialized agents for codebase exploration, architecture design, and quality review. |
|
|
| ## Overview |
|
|
| The Feature Development Plugin provides a systematic 7-phase approach to building new features. Instead of jumping straight into code, it guides you through understanding the codebase, asking clarifying questions, designing architecture, and ensuring quality—resulting in better-designed features that integrate seamlessly with your existing code. |
|
|
| ## Philosophy |
|
|
| Building features requires more than just writing code. You need to: |
| - **Understand the codebase** before making changes |
| - **Ask questions** to clarify ambiguous requirements |
| - **Design thoughtfully** before implementing |
| - **Review for quality** after building |
|
|
| This plugin embeds these practices into a structured workflow that runs automatically when you use the `/feature-dev` command. |
|
|
| ## Command: `/feature-dev` |
|
|
| Launches a guided feature development workflow with 7 distinct phases. |
|
|
| **Usage:** |
| ```bash |
| /feature-dev Add user authentication with OAuth |
| ``` |
|
|
| Or simply: |
| ```bash |
| /feature-dev |
| ``` |
|
|
| The command will guide you through the entire process interactively. |
|
|
| ## The 7-Phase Workflow |
|
|
| ### Phase 1: Discovery |
|
|
| **Goal**: Understand what needs to be built |
|
|
| **What happens:** |
| - Clarifies the feature request if it's unclear |
| - Asks what problem you're solving |
| - Identifies constraints and requirements |
| - Summarizes understanding and confirms with you |
|
|
| **Example:** |
| ``` |
| You: /feature-dev Add caching |
| Claude: Let me understand what you need... |
| - What should be cached? (API responses, computed values, etc.) |
| - What are your performance requirements? |
| - Do you have a preferred caching solution? |
| ``` |
|
|
| ### Phase 2: Codebase Exploration |
|
|
| **Goal**: Understand relevant existing code and patterns |
|
|
| **What happens:** |
| - Launches 2-3 `code-explorer` agents in parallel |
| - Each agent explores different aspects (similar features, architecture, UI patterns) |
| - Agents return comprehensive analyses with key files to read |
| - Claude reads all identified files to build deep understanding |
| - Presents comprehensive summary of findings |
|
|
| **Agents launched:** |
| - "Find features similar to [feature] and trace implementation" |
| - "Map the architecture and abstractions for [area]" |
| - "Analyze current implementation of [related feature]" |
|
|
| **Example output:** |
| ``` |
| Found similar features: |
| - User authentication (src/auth/): Uses JWT tokens, middleware pattern |
| - Session management (src/session/): Redis-backed, 24hr expiry |
| - API security (src/api/middleware/): Rate limiting, CORS |
| |
| Key files to understand: |
| - src/auth/AuthService.ts:45 - Core authentication logic |
| - src/middleware/authMiddleware.ts:12 - Request authentication |
| - src/config/security.ts:8 - Security configuration |
| ``` |
|
|
| ### Phase 3: Clarifying Questions |
|
|
| **Goal**: Fill in gaps and resolve all ambiguities |
|
|
| **What happens:** |
| - Reviews codebase findings and feature request |
| - Identifies underspecified aspects: |
| - Edge cases |
| - Error handling |
| - Integration points |
| - Backward compatibility |
| - Performance needs |
| - Presents all questions in an organized list |
| - **Waits for your answers before proceeding** |
|
|
| **Example:** |
| ``` |
| Before designing the architecture, I need to clarify: |
| |
| 1. OAuth provider: Which OAuth providers? (Google, GitHub, custom?) |
| 2. User data: Store OAuth tokens or just user profile? |
| 3. Existing auth: Replace current auth or add alongside? |
| 4. Sessions: Integrate with existing session management? |
| 5. Error handling: How to handle OAuth failures? |
| ``` |
|
|
| **Critical**: This phase ensures nothing is ambiguous before design begins. |
|
|
| ### Phase 4: Architecture Design |
|
|
| **Goal**: Design multiple implementation approaches |
|
|
| **What happens:** |
| - Launches 2-3 `code-architect` agents with different focuses: |
| - **Minimal changes**: Smallest change, maximum reuse |
| - **Clean architecture**: Maintainability, elegant abstractions |
| - **Pragmatic balance**: Speed + quality |
| - Reviews all approaches |
| - Forms opinion on which fits best for this task |
| - Presents comparison with trade-offs and recommendation |
| - **Asks which approach you prefer** |
|
|
| **Example output:** |
| ``` |
| I've designed 3 approaches: |
| |
| Approach 1: Minimal Changes |
| - Extend existing AuthService with OAuth methods |
| - Add new OAuth routes to existing auth router |
| - Minimal refactoring required |
| Pros: Fast, low risk |
| Cons: Couples OAuth to existing auth, harder to test |
| |
| Approach 2: Clean Architecture |
| - New OAuthService with dedicated interface |
| - Separate OAuth router and middleware |
| - Refactor AuthService to use common interface |
| Pros: Clean separation, testable, maintainable |
| Cons: More files, more refactoring |
| |
| Approach 3: Pragmatic Balance |
| - New OAuthProvider abstraction |
| - Integrate into existing AuthService |
| - Minimal refactoring, good boundaries |
| Pros: Balanced complexity and cleanliness |
| Cons: Some coupling remains |
| |
| Recommendation: Approach 3 - gives you clean boundaries without |
| excessive refactoring, and fits your existing architecture well. |
| |
| Which approach would you like to use? |
| ``` |
|
|
| ### Phase 5: Implementation |
|
|
| **Goal**: Build the feature |
|
|
| **What happens:** |
| - **Waits for explicit approval** before starting |
| - Reads all relevant files identified in previous phases |
| - Implements following chosen architecture |
| - Follows codebase conventions strictly |
| - Writes clean, well-documented code |
| - Updates todos as progress is made |
|
|
| **Notes:** |
| - Implementation only starts after you approve |
| - Follows patterns discovered in Phase 2 |
| - Uses architecture designed in Phase 4 |
| - Continuously tracks progress |
|
|
| ### Phase 6: Quality Review |
|
|
| **Goal**: Ensure code is simple, DRY, elegant, and functionally correct |
|
|
| **What happens:** |
| - Launches 3 `code-reviewer` agents in parallel with different focuses: |
| - **Simplicity/DRY/Elegance**: Code quality and maintainability |
| - **Bugs/Correctness**: Functional correctness and logic errors |
| - **Conventions/Abstractions**: Project standards and patterns |
| - Consolidates findings |
| - Identifies highest severity issues |
| - **Presents findings and asks what you want to do**: |
| - Fix now |
| - Fix later |
| - Proceed as-is |
| - Addresses issues based on your decision |
|
|
| **Example output:** |
| ``` |
| Code Review Results: |
| |
| High Priority Issues: |
| 1. Missing error handling in OAuth callback (src/auth/oauth.ts:67) |
| 2. Memory leak: OAuth state not cleaned up (src/auth/oauth.ts:89) |
| |
| Medium Priority: |
| 1. Could simplify token refresh logic (src/auth/oauth.ts:120) |
| 2. Consider extracting OAuth config validation |
| |
| All tests pass. Code follows project conventions. |
| |
| What would you like to do? |
| ``` |
|
|
| ### Phase 7: Summary |
|
|
| **Goal**: Document what was accomplished |
|
|
| **What happens:** |
| - Marks all todos complete |
| - Summarizes: |
| - What was built |
| - Key decisions made |
| - Files modified |
| - Suggested next steps |
|
|
| **Example:** |
| ``` |
| Feature Complete: OAuth Authentication |
| |
| What was built: |
| - OAuth provider abstraction supporting Google and GitHub |
| - OAuth routes and middleware integrated with existing auth |
| - Token refresh and session integration |
| - Error handling for all OAuth flows |
| |
| Key decisions: |
| - Used pragmatic approach with OAuthProvider abstraction |
| - Integrated with existing session management |
| - Added OAuth state to prevent CSRF |
| |
| Files modified: |
| - src/auth/OAuthProvider.ts (new) |
| - src/auth/AuthService.ts |
| - src/routes/auth.ts |
| - src/middleware/authMiddleware.ts |
| |
| Suggested next steps: |
| - Add tests for OAuth flows |
| - Add more OAuth providers (Microsoft, Apple) |
| - Update documentation |
| ``` |
|
|
| ## Agents |
|
|
| ### `code-explorer` |
|
|
| **Purpose**: Deeply analyzes existing codebase features by tracing execution paths |
|
|
| **Focus areas:** |
| - Entry points and call chains |
| - Data flow and transformations |
| - Architecture layers and patterns |
| - Dependencies and integrations |
| - Implementation details |
|
|
| **When triggered:** |
| - Automatically in Phase 2 |
| - Can be invoked manually when exploring code |
|
|
| **Output:** |
| - Entry points with file:line references |
| - Step-by-step execution flow |
| - Key components and responsibilities |
| - Architecture insights |
| - List of essential files to read |
|
|
| ### `code-architect` |
|
|
| **Purpose**: Designs feature architectures and implementation blueprints |
|
|
| **Focus areas:** |
| - Codebase pattern analysis |
| - Architecture decisions |
| - Component design |
| - Implementation roadmap |
| - Data flow and build sequence |
|
|
| **When triggered:** |
| - Automatically in Phase 4 |
| - Can be invoked manually for architecture design |
|
|
| **Output:** |
| - Patterns and conventions found |
| - Architecture decision with rationale |
| - Complete component design |
| - Implementation map with specific files |
| - Build sequence with phases |
|
|
| ### `code-reviewer` |
|
|
| **Purpose**: Reviews code for bugs, quality issues, and project conventions |
|
|
| **Focus areas:** |
| - Project guideline compliance (CLAUDE.md) |
| - Bug detection |
| - Code quality issues |
| - Confidence-based filtering (only reports high-confidence issues ≥80) |
|
|
| **When triggered:** |
| - Automatically in Phase 6 |
| - Can be invoked manually after writing code |
|
|
| **Output:** |
| - Critical issues (confidence 75-100) |
| - Important issues (confidence 50-74) |
| - Specific fixes with file:line references |
| - Project guideline references |
|
|
| ## Usage Patterns |
|
|
| ### Full workflow (recommended for new features): |
| ```bash |
| /feature-dev Add rate limiting to API endpoints |
| ``` |
|
|
| Let the workflow guide you through all 7 phases. |
|
|
| ### Manual agent invocation: |
|
|
| **Explore a feature:** |
| ``` |
| "Launch code-explorer to trace how authentication works" |
| ``` |
|
|
| **Design architecture:** |
| ``` |
| "Launch code-architect to design the caching layer" |
| ``` |
|
|
| **Review code:** |
| ``` |
| "Launch code-reviewer to check my recent changes" |
| ``` |
|
|
| ## Best Practices |
|
|
| 1. **Use the full workflow for complex features**: The 7 phases ensure thorough planning |
| 2. **Answer clarifying questions thoughtfully**: Phase 3 prevents future confusion |
| 3. **Choose architecture deliberately**: Phase 4 gives you options for a reason |
| 4. **Don't skip code review**: Phase 6 catches issues before they reach production |
| 5. **Read the suggested files**: Phase 2 identifies key files—read them to understand context |
|
|
| ## When to Use This Plugin |
|
|
| **Use for:** |
| - New features that touch multiple files |
| - Features requiring architectural decisions |
| - Complex integrations with existing code |
| - Features where requirements are somewhat unclear |
|
|
| **Don't use for:** |
| - Single-line bug fixes |
| - Trivial changes |
| - Well-defined, simple tasks |
| - Urgent hotfixes |
|
|
| ## Requirements |
|
|
| - Claude Code installed |
| - Git repository (for code review) |
| - Project with existing codebase (workflow assumes existing code to learn from) |
|
|
| ## Troubleshooting |
|
|
| ### Agents take too long |
|
|
| **Issue**: Code exploration or architecture agents are slow |
|
|
| **Solution**: |
| - This is normal for large codebases |
| - Agents run in parallel when possible |
| - The thoroughness pays off in better understanding |
|
|
| ### Too many clarifying questions |
|
|
| **Issue**: Phase 3 asks too many questions |
|
|
| **Solution**: |
| - Be more specific in your initial feature request |
| - Provide context about constraints upfront |
| - Say "whatever you think is best" if truly no preference |
|
|
| ### Architecture options overwhelming |
|
|
| **Issue**: Too many architecture options in Phase 4 |
|
|
| **Solution**: |
| - Trust the recommendation—it's based on codebase analysis |
| - If still unsure, ask for more explanation |
| - Pick the pragmatic option when in doubt |
|
|
| ## Tips |
|
|
| - **Be specific in your feature request**: More detail = fewer clarifying questions |
| - **Trust the process**: Each phase builds on the previous one |
| - **Review agent outputs**: Agents provide valuable insights about your codebase |
| - **Don't skip phases**: Each phase serves a purpose |
| - **Use for learning**: The exploration phase teaches you about your own codebase |
|
|
| ## Author |
|
|
| Sid Bidasaria (sbidasaria@anthropic.com) |
|
|
| ## Version |
|
|
| 1.0.0 |
|
|