Feature Development
Rigorous, staged feature development: interrogate requirements → understand the codebase → design architecture → implement → review quality.
Quick start
Invoke with a feature request: /feature-dev add a notifications panel
Claude will ask your questioning mode (Quick / Normal / Grill Me) and whether to enable Log Mode, then proceed stage by stage — stopping for approval before implementation.
Core Principles
- Understand before acting — read existing patterns before designing anything
- Design-quality frontend — any UI work gets full aesthetic intention; see FRONTEND.md
- Simple and elegant — readable, maintainable, architecturally sound. Minimum code that solves the problem; nothing speculative. No features beyond what was asked, no abstractions for single-use code, no error handling for impossible scenarios. If you wrote 200 lines and it could be 50, rewrite.
- Surgical changes — touch only what the task requires. Don't "improve" adjacent code, comments, or formatting. Match existing style even if you'd do it differently. Remove imports/variables your changes orphan; don't delete pre-existing dead code unless asked. Every changed line should trace directly to the request.
- Surface assumptions, don't hide them — if multiple plausible interpretations exist with materially different implementations, present them; don't pick silently. If something is unclear, name what's confusing and ask. Hidden confusion turns into rework.
- Goal-driven execution — transform tasks into verifiable goals before coding. "Add validation" → "tests for invalid inputs, then make them pass". "Fix the bug" → "test that reproduces it, then make it pass". Strong success criteria let you loop independently; weak ones ("make it work") force constant clarification.
- Track everything — use TodoWrite to track all stages and progress
- Log decisions — when Log Mode is on, record decisions to
plans/ per LOG.md
Stage 0: Setup
- Read the request:
$ARGUMENTS
- If
$ARGUMENTS is empty — scan plans/ for an existing implementation plan (e.g. car-fleet-plan.md). If one is found:
- Read the plan and identify all pending stages (not marked ✅ Done).
- Ask the user via AskUserQuestion: work on the next pending stage (Recommended) or pick a specific stage from the list.
- Once a stage is selected, use that as the feature scope and proceed. Skip to the relevant stage in the workflow.
- If no plan is found, ask the user what they want to build.
- Create a todo list covering all stages.
- Check memory for prior work on this feature area.
- Check for existing decision logs:
plans/technical-decisions.md and plans/design-decisions.md. If either exists, read it and note decisions already resolved for this feature — these do not need to be re-asked in Stage 1.
- Ask the user two questions via AskUserQuestion (one call, two questions):
- Questioning mode: Quick / Normal / Grill Me (see modes below)
- Log Mode: On or Off (if either decisions file exists with entries for this feature, suggest On as recommended)
Questioning Modes
Quick Mode — make obvious decisions autonomously. Only ask when a choice is genuinely ambiguous and different answers lead to meaningfully different implementations. Summarize all autonomous decisions and ask for a single go/no-go confirmation before proceeding.
Normal Mode — ask focused questions for each major decision area (user flows, data model, edge cases, permissions, integrations). Use AskUserQuestion one at a time. Skip obvious choices but ask about preferences that affect the design. Always include a recommended option, clearly labelled (e.g. "Yes, keep it simple (Recommended)").
Grill Me Mode — interrogate every branch of the decision tree relentlessly. Never make assumptions. One AskUserQuestion at a time. Always lead with your recommended answer and reasoning before asking for confirmation.
In all modes: if a question can be answered by reading the codebase, answer it yourself.
Stage 1: Discovery & Requirements
- If a prior log was found in Stage 0, briefly present the already-resolved decisions and confirm they still stand before continuing. Skip re-asking any question that is already answered in the log.
- Interrogate remaining open requirements using the chosen mode.
- Summarize all confirmed decisions. Get explicit sign-off before proceeding.
- If Log Mode is on, write or update the log file per LOG.md.
Stage 2: Codebase Exploration & Clarification
Codemap first. Before using Glob/Grep/Read, check if .codemap/MAP.md exists in the target repo. If yes, read it and use .codemap/graph.json for targeted symbol/edge lookups. Fall back to Glob/Grep/Read only for details the map doesn't cover. If the map is missing or stale, suggest the right builder: /ken-swe:ts-codemap for TS/JS repos, /ken-swe:codemap for Java/Go/Python/Rust.
- Launch 2–3 general-purpose agents in parallel using Explorer prompts from AGENTS.md.
- Read all key files the agents identify.
- Present findings: patterns discovered, abstractions to reuse, conventions to follow.
- Ask any follow-up questions the codebase revealed, using the active questioning mode.
- If Log Mode is on, update the log with any new technical decisions.
Stage 3: Architecture Design
- Launch 2–3 general-purpose agents in parallel using Architect prompts from AGENTS.md.
- Review all approaches and form your own recommendation.
- Present: brief summary of each approach, trade-off comparison, your recommendation with reasoning.
- Ask the user which approach they prefer (AskUserQuestion).
- If Log Mode is on, record the architecture decision to the log.
Stage 4: Implementation
DO NOT START WITHOUT EXPLICIT USER APPROVAL.
- Wait for approval on the chosen architecture.
- Read all relevant files identified in previous stages.
- Break the work into sub-tasks, each phrased as a verifiable goal (failing test, type check, observable behavior). Loop on each: write the verification, make it pass, move on. Don't ask for check-ins between green sub-tasks.
- Implement following the chosen architecture and codebase conventions. Keep changes surgical — every edited line traces to the task. Update todos as you go.
- Frontend work: If the feature includes meaningful UI — pages, components, layouts, forms, visual changes — follow FRONTEND.md. Ask the user whether to use
frontend-design or proceed inline. If Log Mode is on, record design decisions to the log.
Stage 5: Code Quality
- Ask the user if they want automated quality passes (AskUserQuestion).
- If yes: run a simplification pass (redundancy, DRY, complexity) then a review pass (bugs, security, conventions). Report by severity. Ask what to fix now vs defer.
- Launch 3 general-purpose agents in parallel using Reviewer prompts from AGENTS.md.
- Surface highest-severity issues. Address based on user decision.
Stage 6: Summary
- Mark all todos complete.
- Summarize: what was built, key decisions, files modified/created, frontend choices, suggested next steps.
- If Log Mode is on, finalize the log file with a summary section.
1---2name: feature-dev3description: Optimized guided feature development with deep requirement drilling, codebase understanding, and design-quality frontend implementation. Use this skill whenever the user wants to build or implement a feature — whether they say "let's build X", "add feature Y", "implement Z", "I want to create", "can we add", or any variation. This is the go-to skill for any non-trivial software feature work. Prefer this over a plain coding response whenever the feature has more than one moving part.4---56# Feature Development78Rigorous, staged feature development: interrogate requirements → understand the codebase → design architecture → implement → review quality.910## Quick start1112Invoke with a feature request: `/feature-dev add a notifications panel`1314Claude will ask your questioning mode (Quick / Normal / Grill Me) and whether to enable Log Mode, then proceed stage by stage — stopping for approval before implementation.1516## Core Principles1718- **Understand before acting** — read existing patterns before designing anything19- **Design-quality frontend** — any UI work gets full aesthetic intention; see [FRONTEND.md](FRONTEND.md)20- **Simple and elegant** — readable, maintainable, architecturally sound. Minimum code that solves the problem; nothing speculative. No features beyond what was asked, no abstractions for single-use code, no error handling for impossible scenarios. If you wrote 200 lines and it could be 50, rewrite.21- **Surgical changes** — touch only what the task requires. Don't "improve" adjacent code, comments, or formatting. Match existing style even if you'd do it differently. Remove imports/variables your changes orphan; don't delete pre-existing dead code unless asked. Every changed line should trace directly to the request.22- **Surface assumptions, don't hide them** — if multiple plausible interpretations exist with materially different implementations, present them; don't pick silently. If something is unclear, name what's confusing and ask. Hidden confusion turns into rework.23- **Goal-driven execution** — transform tasks into verifiable goals before coding. "Add validation" → "tests for invalid inputs, then make them pass". "Fix the bug" → "test that reproduces it, then make it pass". Strong success criteria let you loop independently; weak ones ("make it work") force constant clarification.24- **Track everything** — use TodoWrite to track all stages and progress25- **Log decisions** — when Log Mode is on, record decisions to `plans/` per [LOG.md](LOG.md)2627## Stage 0: Setup28291. Read the request: `$ARGUMENTS`302. **If `$ARGUMENTS` is empty** — scan `plans/` for an existing implementation plan (e.g. `car-fleet-plan.md`). If one is found:31 - Read the plan and identify all pending stages (not marked ✅ Done).32 - Ask the user via AskUserQuestion: work on the **next pending stage** (Recommended) or **pick a specific stage** from the list.33 - Once a stage is selected, use that as the feature scope and proceed. Skip to the relevant stage in the workflow.34 - If no plan is found, ask the user what they want to build.353. Create a todo list covering all stages.364. Check memory for prior work on this feature area.375. Check for existing decision logs: `plans/technical-decisions.md` and `plans/design-decisions.md`. If either exists, read it and note decisions already resolved for this feature — these do not need to be re-asked in Stage 1.386. Ask the user two questions via AskUserQuestion (one call, two questions):39 - **Questioning mode**: Quick / Normal / Grill Me (see modes below)40 - **Log Mode**: On or Off (if either decisions file exists with entries for this feature, suggest On as recommended)4142## Questioning Modes4344**Quick Mode** — make obvious decisions autonomously. Only ask when a choice is genuinely ambiguous and different answers lead to meaningfully different implementations. Summarize all autonomous decisions and ask for a single go/no-go confirmation before proceeding.4546**Normal Mode** — ask focused questions for each major decision area (user flows, data model, edge cases, permissions, integrations). Use AskUserQuestion one at a time. Skip obvious choices but ask about preferences that affect the design. Always include a recommended option, clearly labelled (e.g. "Yes, keep it simple (Recommended)").4748**Grill Me Mode** — interrogate every branch of the decision tree relentlessly. Never make assumptions. One AskUserQuestion at a time. Always lead with your recommended answer and reasoning before asking for confirmation.4950In all modes: if a question can be answered by reading the codebase, answer it yourself.5152## Stage 1: Discovery & Requirements53541. If a prior log was found in Stage 0, briefly present the already-resolved decisions and confirm they still stand before continuing. Skip re-asking any question that is already answered in the log.552. Interrogate remaining open requirements using the chosen mode.563. Summarize all confirmed decisions. Get explicit sign-off before proceeding.574. If Log Mode is on, write or update the log file per [LOG.md](LOG.md).5859## Stage 2: Codebase Exploration & Clarification6061**Codemap first.** Before using Glob/Grep/Read, check if `.codemap/MAP.md` exists in the target repo. If yes, read it and use `.codemap/graph.json` for targeted symbol/edge lookups. Fall back to Glob/Grep/Read only for details the map doesn't cover. If the map is missing or stale, suggest the right builder: `/ken-swe:ts-codemap` for TS/JS repos, `/ken-swe:codemap` for Java/Go/Python/Rust.62631. Launch 2–3 general-purpose agents in parallel using Explorer prompts from [AGENTS.md](AGENTS.md).642. Read all key files the agents identify.653. Present findings: patterns discovered, abstractions to reuse, conventions to follow.664. Ask any follow-up questions the codebase revealed, using the active questioning mode.675. If Log Mode is on, update the log with any new technical decisions.6869## Stage 3: Architecture Design70711. Launch 2–3 general-purpose agents in parallel using Architect prompts from [AGENTS.md](AGENTS.md).722. Review all approaches and form your own recommendation.733. Present: brief summary of each approach, trade-off comparison, your recommendation with reasoning.744. Ask the user which approach they prefer (AskUserQuestion).755. If Log Mode is on, record the architecture decision to the log.7677## Stage 4: Implementation7879**DO NOT START WITHOUT EXPLICIT USER APPROVAL.**80811. Wait for approval on the chosen architecture.822. Read all relevant files identified in previous stages.833. Break the work into sub-tasks, each phrased as a verifiable goal (failing test, type check, observable behavior). Loop on each: write the verification, make it pass, move on. Don't ask for check-ins between green sub-tasks.844. Implement following the chosen architecture and codebase conventions. Keep changes surgical — every edited line traces to the task. Update todos as you go.855. **Frontend work**: If the feature includes meaningful UI — pages, components, layouts, forms, visual changes — follow [FRONTEND.md](FRONTEND.md). Ask the user whether to use `frontend-design` or proceed inline. If Log Mode is on, record design decisions to the log.8687## Stage 5: Code Quality88891. Ask the user if they want automated quality passes (AskUserQuestion).902. If yes: run a **simplification pass** (redundancy, DRY, complexity) then a **review pass** (bugs, security, conventions). Report by severity. Ask what to fix now vs defer.913. Launch 3 general-purpose agents in parallel using Reviewer prompts from [AGENTS.md](AGENTS.md).924. Surface highest-severity issues. Address based on user decision.9394## Stage 6: Summary95961. Mark all todos complete.972. Summarize: what was built, key decisions, files modified/created, frontend choices, suggested next steps.983. If Log Mode is on, finalize the log file with a summary section.