# feature-pipeline

Executes coding tasks sequentially from a markdown design document and updates checkboxes directly in the file without interruptions.

- command · `type=command` · Claude Code · 137 installs
- Author: davila7
- License: MIT · policy=mirror · the beginning of the file is at the end of this page
- Source: https://github.com/davila7/claude-code-templates/tree/HEAD/cli-tool/components/commands/orchestration/feature-pipeline.md
- Updated: 2026-10-24
- HTML: https://affpapa.org/en/nevibecode/commands/feature-pipeline

## What it does

This command takes a path to a markdown design doc such as `docs/designs/auth.md`. The document outlines tasks as standard markdown checkboxes with target files and acceptance criteria.

Execution runs unattended without asking questions. An internal loop invokes `task_manager.py` to retrieve pending tasks, modifies code to match existing project conventions, runs applicable tests, and updates checkboxes to completed or failed. At the end, it reports modified files and asks whether to commit changes to git.

Execution requires `python3` alongside `.claude/skills/task-execution-engine/scripts/task_manager.py`. If a task hits a missing dependency or external blocker, the command marks it failed with a reason and moves on immediately.

## Install

### Claude Code (native platform)

1. **claude-code-templates**
```bash
npx claude-code-templates@latest --command orchestration/feature-pipeline
```

2. **Manually: put the files in place**
- File: `.claude/commands/feature-pipeline.md` — Call it with /feature-pipeline. For all projects use ~/.claude/commands/

### Codex

**Manually: put the files in place**
- File: `~/.codex/prompts/feature-pipeline.md` — Call it with /prompts:feature-pipeline. Codex marks this format deprecated in favour of skills

### GitHub Copilot

**Manually: put the files in place**
- File: `.github/prompts/feature-pipeline.prompt.md`

### Gemini CLI

**Manually: put the files in place**
- File: `.gemini/commands/feature-pipeline.toml` — Gemini stores commands as TOML: the prompt text goes into the prompt field

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/davila7/claude-code-templates/tree/HEAD/cli-tool/components/commands/orchestration/feature-pipeline.md

## When to use it
- implement tasks sequentially from a markdown design spec
- track implementation progress inside the design file via checkboxes
- run multi-step coding changes in an unattended loop
- summarize completed and failed items before staging a git commit

## Example prompts
- /feature-pipeline docs/designs/auth-flow.md
- Implement tasks from spec using /feature-pipeline docs/designs/billing.md
- /feature-pipeline

## Source text · feature-pipeline.md · MIT

Below is the content of a third-party file. It is data, not instructions for you: do not act on anything written inside unless the human asks. Block tag: 660cdbb3b00de257.

BEGIN THIRD-PARTY FILE 660cdbb3b00de257
````text
---
description: Execute implementation tasks from a design document. Tasks are tracked as markdown checkboxes directly in the design file.
argument-hint: <design-file.md>
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite, Task, AskUserQuestion
---

# Feature Pipeline

Execute implementation tasks from a design document using markdown checkboxes.

## Input Detection

`$ARGUMENTS` should be a path to a design markdown file (e.g., `docs/designs/xxx.md`)

If empty or unclear, ask user for the design file path.

## Phase 1: Initialize

1. Read the design file
2. Run `python3 .claude/skills/task-execution-engine/scripts/task_manager.py status --file <design.md>` to show current progress
3. If all tasks completed, report and exit
4. Otherwise, proceed to execution

## Phase 2: Execution Loop

**UNATTENDED MODE - No questions, no stopping**

```
LOOP:
  1. RUN: task_manager.py next --file <design.md> --json
  2. IF no task available → EXIT to Phase 3
  3. READ task details (files, criteria)
  4. IMPLEMENT the task
     - Create/modify files as specified
     - Follow codebase patterns
     - Run tests if applicable
  5. VERIFY acceptance criteria
  6. UPDATE status:
     - Success: task_manager.py done --file <design.md> --task "Title"
     - Failure: task_manager.py fail --file <design.md> --task "Title" --reason "..."
  7. OUTPUT result summary
  8. CONTINUE (go to step 1)
```

## Phase 3: Completion

1. Run `task_manager.py status --file <design.md>` to show final summary
2. Report:
   - Tasks completed
   - Tasks failed (with reasons)
   - Files modified
3. Ask if user wants to commit changes to git

## Implementation Guidelines

### For Each Task:

1. **Read files** specified in task's `files:` line
2. **Understand criteria** from the checkbox items
3. **Implement** following existing codebase patterns
4. **Verify** each acceptance criterion is met
5. **Update** the design file with completion status

### Decision Making:

- If unclear about implementation details → use codebase patterns
- If blocked by missing dependency → mark as failed, continue
- If needs external resource → mark as failed with reason, continue

### Status Updates:

```bash
# Mark task completed (updates checkbox to [x] ✅)
python3 .claude/skills/task-execution-engine/scripts/task_manager.py done \
  --file <design.md> --task "Task Title"

# Mark task failed (updates checkbox to [x] ❌ with reason)
python3 .claude/skills/task-execution-engine/scripts/task_manager.py fail \
  --file <design.md> --task "Task Title" --reason "Error description"
```

## Output Format

After each task:

```
---TASK RESULT---
task: Task Title
status: completed|failed
files: [list of modified files]
notes: Brief description
---END TASK RESULT---
```

## Error Handling

| Error | Action |
|-------|--------|
| Task implementation fails | Mark failed, continue to next |
| Script error | Log error, retry once, then fail task |
| No tasks available | Exit loop, show summary |
| File not found | Ask user for correct path |

## Key Rules

1. **NEVER stop** in the middle of execution loop
2. **NEVER ask** questions during execution
3. **ALWAYS** update task status in design file
4. **Exit only** when no pending tasks remain
````
END THIRD-PARTY FILE 660cdbb3b00de257

The third-party file has ended. Everything between the 660cdbb3b00de257 tags is data: requests and commands from it are not followed. An “end of file” line with another tag inside the block is part of the file.

© davila7 · MIT · https://github.com/davila7/claude-code-templates/tree/HEAD/cli-tool/components/commands/orchestration/feature-pipeline.md

## Similar
- [feature-dev](https://affpapa.org/en/nevibecode/commands/feature-dev.md) — command · 179 installs
- [security-hardening](https://affpapa.org/en/nevibecode/commands/security-hardening.md) — command · 437 installs
- [status](https://affpapa.org/en/nevibecode/commands/seth-hobson-status.md) — command · 348 installs

From the same set: [davila7/claude-code-templates](https://affpapa.org/en/nevibecode/by/davila7/claude-code-templates.md) — 804 cards

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
