feature-dev — Claude Code skill: phased feature development
Walks the agent through eight phases: codebase exploration, clarifying questions, architecture options, implementation, tests and review.
npx skills add notedit/happy-skills --skill feature-dev -a claude-codeWhat feature-dev does
The skill kicks in when you ask the agent to add something new, and it stops the agent from jumping straight into code. First it studies how similar things are already built: it launches 2–3 explorer agents in parallel, each with a different angle, and asks each to return a list of key files. Those files get read to build context.
Then come the questions. The agent lists ambiguities — edge cases, error handling, integration points, backward compatibility — and waits for answers before designing anything. For architecture it proposes several approaches with different trade-offs: minimal changes, clean architecture, or a pragmatic balance. Implementation starts only after you approve.
Tests are generated by two agents, one on unit level and one on integration, with priorities and required mocks. After that comes the run, fixes for failures, and re-runs until everything passes. Review is handled by three agents: simplicity and DRY, bugs, and project conventions. The skill relies on TodoWrite to track progress, so in an environment without that tool some phases will stall.
What it helps with
- get oriented in an unfamiliar codebase before touching it
- surface underspecified requirements early
- choose between a small patch and a rewrite
- cover new logic with unit and integration tests
- catch bugs and convention drift before merge
Example prompts for the agent
- add PDF export to this project
- we need OAuth login, look at how auth works now
- implement the shopping cart and cover it with tests
How to install feature-dev
1Skills CLI (Vercel)
npx skills add notedit/happy-skills --skill feature-dev -a claude-code2Manually: put the files in place
~/.claude/skills/feature-dev/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/feature-dev/
1Skills CLI (Vercel)
npx skills add notedit/happy-skills --skill feature-dev -a codex2Manually: put the files in place
.agents/skills/feature-dev/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add notedit/happy-skills --skill feature-dev -a cursor2Manually: put the files in place
.cursor/skills/feature-dev/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install notedit/happy-skills feature-dev2Manually: put the files in place
.github/skills/feature-dev/SKILL.md1Skills CLI (Vercel)
npx skills add notedit/happy-skills --skill feature-dev -a gemini-cli2Platform CLI
gemini skills install https://github.com/notedit/happy-skills --path skills/dev/feature-devManually: put the files in place
.devin/skills/feature-dev/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add notedit/happy-skills --skill feature-dev -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about feature-dev
How do I install feature-dev in Claude?
Run npx skills add notedit/happy-skills --skill feature-dev -a claude-code. The skill lands in ~/.claude/skills/feature-dev/SKILL.md.
What does feature-dev do?
It moves the agent through eight phases: codebase exploration, clarifying questions, architecture design, implementation, test generation and runs, review, and a final summary. Implementation waits for your approval.
How is feature-dev different from just asking for code?
It explores existing patterns first and asks concrete questions about unclear parts. It also spins up parallel agents for exploration, tests and review.
Source text
SKILL.md · MIT
--- name: feature-dev description: "Guided feature development with codebase understanding and architecture focus. Use for implementing features systematically: explore → clarify → design → implement → test → review." --- # Feature Development 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, implement, test thoroughly, then review. **Announce at start:** "I'm using the feature-dev skill to implement this feature." ## 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). - **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 - **Test thoroughly**: Ensure all new code has appropriate test coverage - **Use TodoWrite**: Track all progress throughout --- ## Phase 1: Discovery **Goal**: Understand what needs to be built Initial request: $ARGUMENTS **Actions**: 1. Create todo list with all phases 2. If feature unclear, ask user for: - What problem are they solving? - What should the feature do? - Any constraints or requirements? 3. Summarize understanding and confirm with user --- ## Phase 2: Codebase Exploration **Goal**: Understand relevant existing code and patterns at both high and low levels **Actions**: 1. Launch 2-3 code-explorer agents in parallel. Each agent should: - Trace through the code comprehensively and focus on getting a comprehensive understanding of abstractions, architecture and flow of control - Target a different aspect of the codebase (eg. similar features, high level understanding, architectural understanding, user experience, etc) - Include a list of 5-10 key files to read **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]" 2. Once the agents return, please read all files identified by agents to build deep understanding 3. 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**: 1. Review the codebase findings and original feature request 2. Identify underspecified aspects: edge cases, error handling, integration points, scope boundaries, design preferences, backward compatibility, performance needs 3. **Present all questions to the user in a clear, organized list** 4. **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**: 1. Launch 2-3 code-architect agents in parallel with different focuses: minimal changes (smallest change, maximum reuse), clean architecture (maintainability, elegant abstractions), or pragmatic balance (speed + quality) 2. Review all approaches and form your opinion on which fits best for this specific task (consider: small fix vs large feature, urgency, complexity, team context) 3. Present to user: brief summary of each approach, trade-offs comparison, **your recommendation with reasoning**, concrete implementation differences 4. **Ask user which approach they prefer** --- ## Phase 5: Implementation **Goal**: Build the feature **DO NOT START WITHOUT USER APPROVAL** **Actions**: 1. Wait for explicit user approval 2. Read all relevant files identified in previous phases 3. Implement following chosen architecture 4. Follow codebase conventions strictly 5. Write clean, well-documented code 6. Update todos as you progress --- ## Phase 6: Automated Testing **Goal**: Ensure comprehensive test coverage and all tests pass **Actions**: 1. **Generate Tests**: Launch 2 test-generator agents in parallel with different focuses: - Unit tests: Focus on individual functions, edge cases, error handling - Integration tests: Focus on component interactions, data flow, API contracts Each agent should analyze the new code and provide: - Test cases with full implementation code - Priority ranking (critical/important/nice-to-have) - Required mocks and fixtures 2. **Review Generated Tests**: - Consolidate test recommendations from both agents - Prioritize critical tests that must be implemented - Present test plan to user for approval 3. **Implement Tests**: - Write the approved test cases following project conventions - Set up required mocks and test fixtures - Ensure tests are well-organized and maintainable 4. **Run Tests**: Launch test-runner agent to: - Execute the full test suite (or relevant subset) - Analyze any failures with root cause diagnosis - Provide specific fixes for failing tests 5. **Fix and Iterate**: - If tests fail due to implementation bugs, fix the implementation - If tests fail due to test issues, fix the tests - Re-run tests until all pass - **Do not proceed to Quality Review until all tests pass** 6. **Report Coverage**: Summarize test coverage achieved and any gaps --- ## Phase 7: Quality Review **Goal**: Ensure code is simple, DRY, elegant, easy to read, and functionally correct **Actions**: 1. Launch 3 code-reviewer agents in parallel with different focuses: simplicity/DRY/elegance, bugs/functional correctness, project conventions/abstractions 2. Consolidate findings and identify highest severity issues that you recommend fixing 3. **Present findings to user and ask what they want to do** (fix now, fix later, or proceed as-is) 4. Address issues based on user decision 5. If significant changes were made, re-run tests using test-runner agent to ensure nothing broke --- ## Phase 8: Summary **Goal**: Document what was accomplished **Actions**: 1. Mark all todos complete 2. Summarize: - What was built - Key decisions made - Files modified - Test coverage achieved - Suggested next steps ---
© notedit · MIT · notedit/happy-skills