Feature Development
Overview
You are helping a developer implement a new feature. Follow a systematic approach: understand the codebase deeply, identify and ask about all underspecified details, design elegant architectures, then implement.
Usage
/developer-kit:devkit.feature-development [--lang=java|spring|typescript|nestjs|react|python|general] [feature-description]
Arguments
| Argument | Description |
|---|---|
$ARGUMENTS |
Combined arguments passed to the command |
Current Context
The command will automatically gather context information when needed:
- Current git branch and status
- Recent commits and changes
- Available when the repository has history
Execution Instructions
Agent Selection: Based on the --lang parameter, select the appropriate agents:
Integration with Sub-agents
This command leverages three specialized sub-agents using the Task tool.
Language/Framework Selection
Parse $ARGUMENTS to detect the optional --lang parameter:
--lang=springor--lang=java: Use Java/Spring Boot specialized agents--lang=typescriptor--lang=ts: Use TypeScript specialized agents--lang=nestjs: Use NestJS specialized agents--lang=react: Use React frontend specialized agents--lang=aws: Use AWS specialized agents (architecture, CloudFormation, IaC)--lang=pythonor--lang=py: Use Python specialized agents--lang=generalor no flag: Use general-purpose agents (default)
Agent Mapping by Language:
| Phase | General (default) | Java/Spring Boot (--lang=spring or --lang=java) |
TypeScript (--lang=typescript or --lang=ts) |
NestJS (--lang=nestjs) |
React (--lang=react) |
AWS (--lang=aws) |
Python (--lang=python or --lang=py) |
|---|---|---|---|---|---|---|---|
| Exploration | developer-kit:general-code-explorer |
developer-kit:general-code-explorer |
developer-kit:general-code-explorer |
developer-kit:general-code-explorer |
developer-kit:general-code-explorer |
developer-kit:general-code-explorer |
developer-kit:general-code-explorer |
| Architecture | developer-kit:general-software-architect |
developer-kit-java:java-software-architect-review |
developer-kit-typescript:typescript-software-architect-review |
developer-kit-typescript:typescript-software-architect-review |
developer-kit-typescript:react-software-architect-review |
developer-kit-aws:aws-solution-architect-expert |
developer-kit-python:python-software-architect-expert |
| Code Review | developer-kit:general-code-reviewer |
developer-kit-java:spring-boot-code-review-expert |
developer-kit-typescript:general-code-reviewer |
developer-kit-typescript:nestjs-code-review-expert |
developer-kit-typescript:general-code-reviewer |
developer-kit-aws:aws-architecture-review-expert |
developer-kit-python:python-code-review-expert |
Core Principles
- Ask clarifying questions: Identify all ambiguities, edge cases, and underspecified behaviors. Ask specific, concrete questions rather than making assumptions. Wait for user answers before proceeding with implementation. Ask questions early (after understanding the codebase, before designing architecture).
- Structured user interaction: Use the AskUserQuestion tool in all phases where you need to ask structured questions to the user (Phase 3: Clarifying Questions, Phase 4: Architecture Design, and whenever multiple choice questions are presented).
- Understand before acting: Read and comprehend existing code patterns first
- Read files identified by agents: When launching agents, ask them to return lists of the most important files to read. After agents complete, read those files to build detailed context before proceeding.
- Simple and elegant: Prioritize readable, maintainable, architecturally sound code
- Use TodoWrite: Track all progress throughout
- No time estimates: DO NOT provide or request time estimates or implementation timelines at any phase
Phase 1: Discovery
Goal: Understand what needs to be built
Initial request: $ARGUMENTS
Actions:
- Create todo list with all phases
- If feature unclear, ask user for:
- What problem are they solving?
- What should the feature do?
- Any constraints or requirements?
- Summarize understanding and confirm with user
Phase 2: Codebase Exploration
Goal: Understand relevant existing code and patterns at both high and low levels
Actions:
Use the Task tool to launch a single explorer subagent (select agent based on
--langparameter) to comprehensively trace through the code and provide a prioritized list of key files to read.Example Task tool usage:
Task(
description: "Explore similar features",
prompt: "Find features similar to [feature] and trace through their implementation comprehensively. Focus on understanding patterns, architecture, and integration points.",
subagent_type: "developer-kit:general-code-explorer"
)
Example agent prompts:
- "Find features similar to [feature] and trace through their implementation comprehensively"
- "Map the architecture and abstractions for [feature area], tracing through the code comprehensively"
- "Analyze the current implementation of [existing feature/area], tracing through the code comprehensively"
- "Identify UI patterns, testing approaches, or extension points relevant to [feature]"
- Once the agents return, read all files identified by agents to build deep understanding
- Present comprehensive summary of findings and patterns discovered
Phase 3: Clarifying Questions
Goal: Fill in gaps and resolve all ambiguities before designing
CRITICAL: This is one of the most important phases. DO NOT SKIP.
Actions:
- Review the codebase findings and original feature request
- Identify underspecified aspects: edge cases, error handling, integration points, scope boundaries, design preferences, backward compatibility, performance needs
- Use the AskUserQuestion tool to present all questions to the user in a clear, organized format
- Wait for answers before proceeding to architecture design
If the user says "whatever you think is best", provide your recommendation and get explicit confirmation.
Phase 4: Architecture Design
Goal: Design multiple implementation approaches with different trade-offs
Actions:
- Use the Task tool to launch a single pragmatic architect subagent (select agent based on
--langparameter) focused on a balanced, pragmatic approach (speed + quality). - Review the pragmatic approach and form your recommendation based on task context (consider: small fix vs large feature, urgency, complexity, team context).
- Present to user: brief summary of the pragmatic approach, trade-offs, and concrete implementation differences.
- Use the AskUserQuestion tool to ask user whether they approve the pragmatic approach or want an alternative
Phase 5: Implementation
Goal: Build the feature
DO NOT START WITHOUT USER APPROVAL
Actions:
- Wait for explicit user approval
- Read all relevant files identified in previous phases
- Implement following chosen architecture
- Follow codebase conventions strictly
- Write clean, well-documented code
- Update todos as you progress
Phase 6: Quality Review
Goal: Ensure code is simple, DRY, elegant, easy to read, and functionally correct
Actions:
- Use the Task tool to launch a single code-reviewer subagent (select agent based on
--langparameter) focused on a balanced review covering simplicity, correctness, and conventions. - Consolidate findings and identify highest severity issues that you recommend fixing
- Present findings to user and ask what they want to do (fix now, fix later, or proceed as-is)
- Address issues based on user decision
Phase 7: Summary
Goal: Document what was accomplished
Actions:
- Mark all todos complete
- Summarize:
- What was built
- Key decisions made
- Files modified
- Suggested next steps
General Agents (default, or --lang=general)
- Code Explorer:
developer-kit:general-code-explorer - Software Architect:
developer-kit:general-software-architect - Code Reviewer:
developer-kit:general-code-reviewer
Java/Spring Boot Agents (--lang=spring or --lang=java)
- Code Explorer:
developer-kit-java:spring-boot-backend-development-expert - Software Architect:
developer-kit-java:java-software-architect-review - Code Reviewer:
developer-kit-java:spring-boot-code-review-expert
TypeScript Agents (--lang=typescript or --lang=ts)
- Code Explorer:
developer-kit:general-code-explorer - Software Architect:
developer-kit-typescript:typescript-software-architect-review - Code Reviewer:
developer-kit:general-code-reviewer
NestJS Agents (--lang=nestjs)
- Code Explorer:
developer-kit:nestjs-backend-development-expert - Software Architect:
developer-kit:typescript-software-architect-review - Code Reviewer:
developer-kit:nestjs-code-review-expert
React Agents (--lang=react)
- Code Explorer:
developer-kit:react-frontend-development-expert - Software Architect:
developer-kit:react-software-architect-review - Code Reviewer:
developer-kit:general-code-reviewer
Python Agents (--lang=python or --lang=py)
- Code Explorer:
developer-kit:general-code-explorer - Software Architect:
developer-kit-python:python-software-architect-expert - Code Reviewer:
developer-kit-python:python-code-review-expert - Security Expert:
developer-kit-python:python-security-expert
AWS Agents (--lang=aws)
- Code Explorer:
developer-kit:aws-solution-architect-expert - Software Architect:
developer-kit-aws:aws-solution-architect-expert - Code Reviewer:
developer-kit-aws:aws-architecture-review-expert - CloudFormation Expert:
developer-kit-aws:aws-cloudformation-devops-expert
Fallback: If specialized agents are not available, fall back to general-purpose agent.
Agent Selection Pattern
// General agents (default)
Task(
description: "Brief task description",
prompt: "Detailed prompt for the sub-agent",
subagent_type: "developer-kit:general-code-explorer"
)
// Java/Spring Boot agents (when --lang=spring or --lang=java)
Task(
description: "Brief task description",
prompt: "Detailed prompt for the sub-agent",
subagent_type: "developer-kit-java:spring-boot-backend-development-expert"
)
// TypeScript agents (when --lang=typescript or --lang=ts)
Task(
description: "Brief task description",
prompt: "Detailed prompt for the sub-agent",
subagent_type: "developer-kit-typescript:typescript-software-architect-review"
)
// NestJS agents (when --lang=nestjs)
Task(
description: "Brief task description",
prompt: "Detailed prompt for the sub-agent",
subagent_type: "developer-kit-typescript:nestjs-backend-development-expert"
)
// React agents (when --lang=react)
Task(
description: "Brief task description",
prompt: "Detailed prompt for the sub-agent",
subagent_type: "developer-kit-typescript:react-frontend-development-expert"
)
// Python agents (when --lang=python or --lang=py)
Task(
description: "Explore Python codebase",
prompt: "Explore the Python codebase and identify patterns, architecture, and key files",
subagent_type: "developer-kit:general-code-explorer"
)
Task(
description: "Design Python architecture",
prompt: "Design architecture using Clean Architecture, DDD, and Python best practices",
subagent_type: "developer-kit-python:python-software-architect-expert"
)
Task(
description: "Review Python code",
prompt: "Review Python code for quality, Pythonic patterns, and adherence to PEP standards",
subagent_type: "developer-kit-python:python-code-review-expert"
)
// AWS agents (when --lang=aws)
Task(
description:"Design AWS architecture",
prompt:"Design scalable cloud architecture for the feature",
subagent_type:"developer-kit-aws:aws-solution-architect-expert"
)
Task(
description:"Create CloudFormation templates",
prompt:"Create IaC templates for the infrastructure",
subagent_type:"developer-kit-aws:aws-cloudformation-devops-expert"
)
Task(
description:"Review AWS architecture",
prompt:"Review architecture against Well-Architected Framework",
subagent_type:"developer-kit-aws:aws-architecture-review-expert"
)
Important Notes
- Each sub-agent operates with its own context window
- Multiple sub-agents can be launched in parallel for different perspectives
- The main Claude maintains control and coordination of the overall process
Each agent is launched with specific prompts tailored to the phase of development.
Todo Management
Throughout the process, maintain a todo list like:
[ ] Phase 1: Discovery
[ ] Phase 2: Codebase Exploration
[ ] Phase 3: Clarifying Questions
[ ] Phase 4: Architecture Design
[ ] Phase 5: Implementation
[ ] Phase 6: Quality Review
[ ] Phase 7: Summary
Update the status as you progress through each phase.
Note: This command follows a systematic approach to ensure high-quality implementations that integrate well with existing codebases and meet user requirements effectively.
Examples
# Simple feature (general agents)
/developer-kit:devkit.feature-development Add user authentication
# Java/Spring Boot feature
/developer-kit:devkit.feature-development --lang=spring Add REST API for user management
# Java feature with specialized agents
/developer-kit:devkit.feature-development --lang=java Implement caching layer for products
# Complex feature with description
/developer-kit:devkit.feature-development Implement real-time notifications using WebSockets
# Integration feature
/developer-kit:devkit.feature-development --lang=spring Add payment processing with Stripe integration
# TypeScript feature
/developer-kit:devkit.feature-development --lang=typescript Add GraphQL resolver for user queries
# NestJS feature
/developer-kit:devkit.feature-development --lang=nestjs Implement authentication module with JWT
# React frontend feature
/developer-kit:devkit.feature-development --lang=react Create dashboard with charts and user filters
# Python feature
/developer-kit:devkit.feature-development --lang=python Implement REST API with FastAPI and SQLAlchemy
# Python feature with specialized agents
/developer-kit:devkit.feature-development --lang=py Add async task queue with Celery integration
# AWS infrastructure feature
/developer-kit:devkit.feature-development --lang=aws Design multi-region high availability architecture
# AWS CloudFormation feature
/developer-kit:devkit.feature-development --lang=aws Create ECS Fargate infrastructure with auto scaling
# Explicit general agents
/developer-kit:devkit.feature-development --lang=general Create dashboard with charts and filters