Move fast without collapsing everything into one oversized chat context.
Feature Dev Workflow is a multi-agent setup built around a single orchestrator, feature-dev, that delegates work to specialized agents for prompt refinement, requirements, design, planning, implementation, review, and logging.
The repository ships two variants:
.github/agentsis the active VS Code-oriented setup.portable/agentsis a runtime-neutral baseline ready to be dropped into provider-specific folders. See the Claude Code setup section below for concrete instructions.
A single-agent workflow collapses all concerns into one growing context. As scope expands, quality degrades. This workflow keeps each agent focused on a narrow responsibility, so context stays tight and outputs stay reliable.
The orchestrator, feature-dev, owns routing and approvals. Specialized subagents handle the rest. Backend work skips the design phase entirely. Only phases that actually run are logged.
The VS Code variant is operationally stronger because it uses native tools like vscode/askQuestions for approval gates. This is not just a UX detail: it prevents unnecessary premium-request consumption during checkpoints and keeps the workflow strict without burning tokens on avoidable back-and-forth.
- feature-dev.agent.md
- Owns the full workflow.
- Handles routing, approvals, and phase transitions.
- Treats FE/BE classification as an internal routing decision, not a standalone logged phase.
-
- Refines raw requests into approved prompts.
- Explicitly classifies requests as
frontend,backend, orfull-stack.
-
- Saves phase checkpoints, final feature summaries, notes, and ADR-style documentation.
-
requirements-creator.subagent.agent.md
- Expands the approved prompt into structured requirements.
-
- Produces UX concepts and static prototypes for frontend-facing work.
-
- Breaks the approved scope into implementation waves and dependencies.
-
- Implements individual tasks and writes tests.
-
code-reviewer.subagent.agent.md
- Reviews correctness, security, maintainability, and test coverage.
- frontend-design/SKILL.md
- Used by the Designer to improve frontend quality and visual direction.
At runtime, the workflow executes in this order:
- Prompt intake
- Internal routing as
frontend,backend, orfull-stack - Requirements creation
- Optional design phase (frontend and full-stack only)
- Planning
- Implementation
- Code review
- Logging and closeout
Key behaviors:
prompt-builderis optional. If the request is already well-scoped,feature-devaccepts it directly.- FE/BE/full-stack detection always happens, but it is not logged as a dedicated phase.
- Backend-only work skips
designer. - Every approved phase that actually runs is checkpointed by
documenter, followed by a final synthesis pass at closeout.
flowchart TD
U[User Request] --> FD[feature-dev]
FD --> PB[prompt-builder optional]
FD --> RT{Internal routing\nFE/BE/full-stack}
PB --> RT
RT --> RC[requirements-creator]
RC --> DG{Needs design?}
DG -->|Yes| DS[designer]
DG -->|No| PL[planner]
DS --> PL
PL --> IM[implementer]
IM --> CR[code-reviewer]
CR --> DC[documenter]
Prerequisites:
- VS Code with GitHub Copilot custom agents support
- GitHub Copilot access enabled for chat and agents
- A git repository for the target project
- Agent discovery from
.github/agents
If your environment does not automatically discover repository-local agents, verify the relevant VS Code settings such as chat.agentFilesLocations.
git clone https://github.com/Elverle/feature-workflow
cd feature-workflowOpen the repository in VS Code. The agents are versioned directly in .github/agents, so the project is already structured for repository-based sharing.
portable/agents contains runtime-neutral agent files with no VS Code-specific tooling. These are designed to be dropped into Claude Code's custom agent directory without modification.
Step 1 — Clone the repository
git clone https://github.com/Elverle/feature-workflow
cd feature-workflowStep 2 — Copy the portable agents into your target project
Claude Code discovers agents from the .claude/agents/ folder at the root of your project. Copy the portable agents there:
cp portable/agents/*.md /path/to/your-project/.claude/agents/If .claude/agents/ does not exist yet, create it first:
mkdir -p /path/to/your-project/.claude/agents/Step 3 — Copy the frontend-design skill (optional)
If your project includes frontend work and you want the designer subagent to use the skill, copy it as well:
mkdir -p /path/to/your-project/.claude/skills/frontend-design/
cp .github/skills/frontend-design/SKILL.md /path/to/your-project/.claude/skills/frontend-design/Step 4 — Start the workflow
Open Claude Code in your project and invoke the orchestrator:
@feature-dev Build a dashboard for tracking payout reconciliation and add the backend endpoints that power it.
Approval gates in Claude Code
The VS Code variant uses vscode/askQuestions for gated approvals. In Claude Code, the portable agents fall back to standard chat-turn confirmations: the orchestrator will ask for explicit approval at each checkpoint before continuing. This is slightly less efficient in token usage but functionally equivalent.
Differences from the VS Code variant
| Capability | VS Code | Claude Code |
|---|---|---|
| Approval gates | Native vscode/askQuestions |
Chat-turn confirmations |
| Agent discovery | .github/agents/ |
.claude/agents/ |
| File write tools | Native VS Code filesystem | Claude Code bash/edit tools |
| Token efficiency at gates | Higher | Slightly lower |
- Use
feature-devfor the full orchestrated workflow. - Use
prompt-builderwhen the request is still too vague to scope. - Use
documenterwhen you want to document decisions or notes outside the main workflow.
Skip prompt building. I need an internal batch job that reconciles supplier payouts.
What happens:
feature-devaccepts the user request as the approved prompt.- It classifies the feature as
backend. - It invokes
requirements-creator. - It skips
designer. - It invokes
planner,implementer,code-reviewer, anddocumenter.
Build a dashboard for tracking payout reconciliation and add the backend endpoints that power it.
What changes:
- The workflow classifies the feature as
full-stack. designeris invoked after approved requirements.- The generated design artifacts are passed into
plannerand then intoimplementer.
The workflow writes feature artifacts under feature/feature-{number}/.
Typical outputs include:
prompt.mdwhenprompt-builderranrequirements.mdimplementation-plan.md00-feature-summary.md01-prompt-builder-summary.mdwhen the prompt phase ran02-requirements-summary.md03-designer-summary.mdwhen the design phase ran04-planner-summary.md05-implementer-summary.md06-code-review-summary.mdprototypes/design-preview.htmlwhen the design phase randecisions/andnotes/for additional feature documentation
At repository level, the workflow can also maintain feature-index.md.
.
|-- README.md
|-- .github/
| |-- agents/
| | |-- feature-dev.agent.md
| | |-- prompt-builder.agent.md
| | |-- documenter.agent.md
| | |-- requirements-creator.subagent.agent.md
| | |-- designer.subagent.agent.md
| | |-- planner.subagent.agent.md
| | |-- implementer.subagent.agent.md
| | `-- code-reviewer.subagent.agent.md
| `-- skills/
| `-- frontend-design/
| `-- SKILL.md
|-- docs/
|-- portable/
| |-- agents/
| `-- docs/
`-- feature/
`-- feature-{number}/
Notes:
feature/is a generated output area used by the workflow at runtime.docs/is available for project documentation and examples.portable/contains the runtime-neutral agent copies for non-VS Code environments.