Skip to content
Back to skills

Development Pipeline

ASecurity

Guided 6-phase development pipeline: Gate, Design, Hypothesize, Plan, Build (TDD), Verify. Chains brainstorming, quality gates, and testing skills with human checkpoints. Supports greenfield, brownfield, bugfix, and refactor modes. Use when: building a feature end-to-end, implementing a ticket, or following a structured dev process. Triggers on: develop, build feature, implement, create feature, from ticket, structured development, pipeline, end-to-end

  • 6 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 6, 2026
ai-agentspythongosqlreactawsterraformtestingdebuggingcode-reviewgit

Security analysis

A100/100

Pro scans all 4 files and shows the line behind each finding

Scanned September 6, 2026

npx -y skills add ArieGoldkin/claude-forge --skill development-pipeline --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Development Pipeline?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Development Pipeline
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/ariegoldkin-development-pipeline/badge)](https://www.skillsdirectory.com/skills/ariegoldkin-development-pipeline)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: development-pipeline
description: "Guided 6-phase development pipeline: Gate, Design, Hypothesize, Plan, Build (TDD), Verify. Chains brainstorming, quality gates, and testing skills with human checkpoints. Supports greenfield, brownfield, bugfix, and refactor modes. Use when: building a feature end-to-end, implementing a ticket, or following a structured dev process. Triggers on: develop, build feature, implement, create feature, from ticket, structured development, pipeline, end-to-end"
effort: xhigh
context: fork
---

## Overview

A 6-phase development pipeline that orchestrates existing etk skills into a
structured process: **Gate → Design → Hypothesize → Plan → Build → Verify**. Each phase delegates to
specialized skills and includes human checkpoints for approval.

## No-Interlocutor Guard (mandatory — governs every "Human checkpoint" below)

This skill declares `context: fork`, and **a forked skill has no `AskUserQuestion` tool** — measured on CC 2.1.222, issue #134. `background: false` does not change this; it controls only whether the parent waits. **Every "Human checkpoint" in the flow below is therefore delivered by relay, not by a direct prompt.**

At each checkpoint:

1. **Never treat an unaskable checkpoint as approved.** A checkpoint you could not ask is not a checkpoint you passed.
2. **Stop at the gate.** Do not proceed into the next phase — and never into Phase 4 (BUILD), which writes code — on an approval you did not receive.
3. Return the artifact awaiting approval plus the open questions in your final report under `## Questions requiring a human`.
4. Never invent the user's answer or silently take a default. The caller relays and re-invokes.

The failure mode this prevents is a pipeline that reports six passed checkpoints having asked nothing at any of them.

### Pipeline Flow

```
/develop "task description"
    │
Phase 0: GATE ─────── Blocks if >3 critical unknowns
    │
Phase 1: DESIGN ───── Brainstorming skill (simple or deep)
    │                  Human checkpoint: approve design
    │
Phase 2: HYPOTHESIZE ─ State assumptions, risks, success criteria
    │                  Human checkpoint: approve hypotheses
    │
Phase 3: PLAN ──────── Quality gates + task breakdown + test strategy
    │                  Human checkpoint: approve plan
    │
Phase 4: BUILD ─────── TDD implementation per task
    │                  Human checkpoint: review changes
    │
Phase 5: VERIFY ────── Evidence collection + quality checks
    │                  Human checkpoint: approve for merge
    │
  DONE ─── Summary + optional MR
```

## Mode Detection

Detect mode from explicit flag or context. Explicit flag in arguments takes priority.

| Signal | Mode |
|--------|------|
| `greenfield` flag or no existing code referenced | `greenfield` |
| `brownfield` flag or modifying existing files | `brownfield` |
| `bugfix` flag or mentions "bug", "fix", "broken", "error" | `bugfix` |
| `refactor` flag or mentions "refactor", "clean up", "reorganize" | `refactor` |

**Bugfix abbreviated pipeline**: Skip Phase 1 (Design) and Phase 2 (Hypothesize). Go directly Gate → Plan → Build → Verify.

### Parallel Dispatch Flag

When `--parallel` is present in arguments, Phase 4 (Build) dispatches tasks to fresh subagents instead of sequential execution:

1. Extract all tasks from the Phase 3 plan
2. Identify independent tasks (no shared file dependencies)
3. Dispatch each independent task to a fresh subagent using the implementer prompt template — **selecting the specialist by task domain**:

   | Task domain | Dispatch to | Do NOT use for |
   |---|---|---|
   | Tests-first build task (default) | `etk:tdd-implementer` | design, planning, review |
   | Frontend (React, UI components, styling) | `ftk:ui-developer` | backend/Python, schemas, infra |
   | Backend (Python, Lambda, SQL, REST) | `dtk:devops-architect` | frontend/React, UI, Terraform |
   | LLM/AI feature (prompts, RAG, embeddings) | `atk:ai-ml-engineer` | general CRUD, UI, non-AI infra |

   Honor each agent's "Do NOT use for" clause — a mis-routed specialist flounders (dispatch-ladder failure mode *wrong-specialist dispatch*). When a task spans domains, split it or fall back to `etk:tdd-implementer`. **Emit all Agent calls in a single message** (soft phrasing serializes). This is the pipeline's **L2 rung** — full escalation criteria in `agent-loops/references/dispatch-policy.md`; tasks whose files could collide get worktree isolation.
4. Each subagent gets: task description, file ownership, test requirements, and the status protocol (DONE/DONE_WITH_CONCERNS/NEEDS_CONTEXT/BLOCKED)
5. Controller collects results, runs spec compliance review, then proceeds to Phase 5 (Verify)

**When to use --parallel**:
- 3+ independent tasks identified in the plan
- Tasks operate on different files/modules
- Greenfield or brownfield mode (not bugfix — bugfixes are typically sequential)

**When NOT to use**: Single-file changes, tightly coupled tasks, bugfixes with cascading dependencies.

**Mode routing matrix** (quick reference):

| Phase | greenfield | brownfield | bugfix | refactor |
|-------|-----------|-----------|--------|----------|
| 0: Gate | Full (5 unknowns) | Full (5 unknowns) | Light (3 unknowns) | Medium (4 unknowns) |
| 1: Design | Deep brainstorm | Simple brainstorm | SKIP | Simple brainstorm |
| 2: Hypothesize | Full (assumptions + risks) | Focused (change impact) | SKIP | Focused (preservation) |
| 3: Plan | Full quality gates | Full quality gates | Light plan | Full quality gates |
| 4: Build | Strict TDD | Test-alongside | Regression test | Characterization tests |
| 5: Verify | Full evidence | Full evidence | Regression proof | Behavior preservation |

## Phase 0: Erotetic-Lite Gating

Identify critical unknowns before proceeding. Use mode-specific checklists from
`${CLAUDE_SKILL_DIR}/references/gating-checklists.md`.

**Scope check first** (when a ticket is in play): delegate to the `scope-check` skill — auto-loaded by description match on the ticket ID — to enumerate the ticket's acceptance criteria into a checklist. The checklist becomes the working contract for the rest of the pipeline. Skip if no ticket is referenced.

**Process:**
1. Load the checklist for the detected mode
2. For each item, assess: **known** (have answer), **unknown** (don't have answer), or **N/A**
3. Count unknowns and assess complexity (1-5 scale)

**Blocking rule:**
- Unknowns > 3 AND complexity >= 3 → **BLOCK**. Ask user to resolve unknowns before proceeding.
- Unknowns > 3 AND complexity <= 2 → **WARN**. Note risks but allow proceeding.
- Unknowns <= 3 → **PASS**. Proceed to next phase.

**Output:** Present unknowns table to user. If blocked, list specific questions that need answers.

**State update:** Record gating result, unknowns count, complexity score, and resolution in state file.

## Phase 1: Design

Delegate to the brainstorming skill for design exploration.

**brainstorming**: Use this skill to explore the design space and refine the approach.

**Mode routing:**
- `greenfield`: Use `--deep` mode (comprehensive multi-agent analysis)
- `brownfield`: Use simple mode (Socratic questioning focused on change impact)
- `bugfix`: **SKIP** this phase entirely (go to Phase 3: Plan)
- `refactor`: Use simple mode (focused on target architecture)

**Tip — unfamiliar code region (brownfield / refactor)?** If Phase 0's classification routed here AND the target region is one you don't understand at a glance, suggest the user invoke [`/etk:zoom-out`](../zoom-out/SKILL.md) before activating brainstorming. A higher-level map (modules, callers, glossary) makes the Socratic questions sharper and reduces "designing without knowing what you're designing against." `zoom-out` is user-invoked — surface the suggestion, don't auto-fire.

**Process:**
1. Announce: "Phase 1: Design — Activating brainstorming skill"
2. Invoke brainstorming with appropriate mode
3. Capture design output (key decisions, architecture choices, constraints)

**Human checkpoint:** Present design summary and ask:
> "Design complete. Options: **yes** (approve and continue) | **adjust** (refine design) |
> **skip** (skip to planning) | **stop** (pause pipeline)"

**State update:** Record design decisions, chosen approach, and approval status.

## Phase 2: Hypothesize

Before investing in planning and implementation, explicitly state assumptions and define validation criteria.

**Mode routing:**
- `greenfield`: Full hypothesis — cover assumptions, risks, and a minimal validation approach
- `brownfield`: Focused — emphasize change-impact assumptions and integration risks
- `bugfix`: **SKIP** this phase entirely (go to Phase 3: Plan)
- `refactor`: Focused — emphasize behavior-preservation assumptions

**Process:**
1. Announce: "Phase 2: Hypothesize — Stating assumptions and defining success criteria"
2. Answer three key questions:
   - **Core assumption**: "What is our core assumption about why this solution will work?"
   - **Validation approach**: "How will we verify it works before investing in full implementation?"
   - **Invalidation risks**: "What are the top 3 things that could invalidate our approach?"
3. Define success criteria: "How will we know this works?"
4. Propose a minimal test or spike: "What is the smallest thing we can build to validate our approach?"

**Human checkpoint:** Present hypotheses summary and ask:
> "Hypotheses defined. Options: **yes** (approve and continue to planning) | **adjust** (refine assumptions) |
> **skip** (skip to planning) | **stop** (pause pipeline)"

**State update:** Record core assumption, success criteria, risks, and approval status.

## Phase 3: Plan

Create implementation plan with quality assessment and test strategy.

**quality-gates**: Use this skill to assess complexity and identify risks.
**testing-strategy-builder**: Use this skill to define the testing approach.

**Process:**
1. Announce: "Phase 3: Plan — Assessing quality gates and building test strategy"
2. Run quality gates assessment on the planned work
3. Break work into numbered tasks (each task = one logical unit of change)
4. Define test strategy per task using testing-strategy-builder
5. Order tasks by dependency (what must be built first)

**Task breakdown format:**
```
Task 1: [description] — Tests: [test type]
Task 2: [description] — Tests: [test type]
...
```

**Human checkpoint:** Present plan and ask:
> "Plan complete with [N] tasks. Options: **yes** (approve and start building) |
> **adjust** (modify plan) | **skip** (skip to building) | **stop** (pause pipeline)"

**State update:** Record task list, quality gate results, test strategy, and approval status.

## Phase 3.5: Business Invariants Gate

Before any code is written, check the plan against the project's documented business invariants (if present).

Follow the shared loader at `skills/code-review-playbook/references/load-business-invariants.md` with `mode: planning`. The loader handles all four cases (file present / missing / sparse / user-skipped) including the create-or-skip prompt.

**If the loader returns `status: loaded`:**

For each task in the plan, ask: "Does this task touch the domain of any invariant? Does the planned approach preserve it, weaken it, or risk violating it?" Present any plan tasks that risk violating a rule as a structured warning before Phase 4 begins:

```markdown
### ⚠ Planning-time invariants check

- **Task [N]** "[task summary]" touches **I.X** ([rule name]).
  Risk: [one-sentence concrete risk]. Suggested adjustment: [one-line fix].
```

Then ask the user: **"Adjust the plan to address these, or proceed anyway?"** If the user proceeds, the warning is surfaced again at review time by Agent #10 — planning-time consultation is *additional*, not a substitute for review-time enforcement.

**If the loader returns `status: skipped` or `status: absent`:** skip this gate and proceed to Phase 4. Note in the state record that invariants were not consulted.

**Skip-marker reminder:** if a project has `.claude/business-invariants-skipped` set, this gate is silent. Delete that file to re-enable prompting.

## Phase 4: Build

Implement each task using test-driven development. Delegate to the **tdd-implementer** agent
when available, or follow TDD protocol directly.

Follow TDD rules from `${CLAUDE_SKILL_DIR}/references/tdd-protocol.md` based on the detected mode.

**Process (per task):**
1. Announce: "Phase 4: Build — Task [N]/[total]: [description]"
2. Follow TDD cycle for the current mode:
   - `greenfield`: Write test → confirm fail → implement → confirm pass → refactor
   - `brownfield`: Write test + implementation → run together → refactor
   - `bugfix`: Write regression test → confirm it reproduces bug → fix → confirm pass
   - `refactor`: Write characterization tests → refactor → confirm still passing
3. After each task, update state with completion status

**coding-standards**: Use this skill to ensure implementation follows project standards.

**Human checkpoint** (after all tasks complete): Present changes summary and ask:
> "Build complete. [N] tasks implemented, [M] tests passing. Options: **yes** (proceed to
> verify) | **adjust** (revise implementation) | **stop** (pause pipeline)"

**State update:** Record per-task completion, test results, files modified.

## Phase 5: Verify

Collect evidence and run quality checks on the completed work.

**verify**: Use the standalone `/verify` skill (etk:verify) to run all checks.
**evidence-verification**: Use this skill to collect and verify evidence of completion.
**coding-standards**: Use this skill to validate code meets project standards.

**Process:**
1. Announce: "Phase 5: Verify — Collecting evidence and running quality checks"
2. Run the `/verify` skill pipeline: detect stack → run checks → collect evidence → assess quality
3. Verify coding standards compliance
4. **Independent review gate (L1)**: for any non-trivial build, dispatch `etk:adversarial-verifier` (or `etk:quality-reviewer`) over the changes — self-report and green checks miss what an independent reviewer catches. Skip only for trivial single-file changes; note the skip in the state file. (Dispatch rationale: `agent-loops/references/dispatch-policy.md`.)
5. Compile evidence summary

**Evidence checklist:**
- [ ] All tests pass (exit code 0)
- [ ] No linting errors
- [ ] Type checking passes
- [ ] Coverage meets thresholds
- [ ] No security issues introduced
- [ ] Code follows project standards

**Human checkpoint:** Present evidence summary and ask:
> "Verification complete. [pass/fail counts]. Options: **yes** (done — optionally create MR) |
> **adjust** (fix issues) | **stop** (pause pipeline)"

**State update:** Record evidence results, pass/fail status.

**On approval:** Mark pipeline as done. Offer to open the MR with **`/etk:prepare-pr`** — it authors the standardized description (Background / High-Level Design + sequence / Pitfalls) from the diff plus this pipeline's design/plan/verify context, then hands off to `/review-mr`. The Phase-5 verify result satisfies prepare-pr's Step-1 verify gate (it reuses it — no re-prompt). (`/review-mr` reviews an existing MR; it does not create one — prepare-pr is the surface that opens it.)

## State Management

Pipeline state is stored in `.develop/pipeline-state.md` (gitignored). Use the template from
`${CLAUDE_SKILL_DIR}/templates/pipeline-state.md`.

**On pipeline start:**
1. Create `.develop/` directory if it doesn't exist
2. Copy template to `.develop/pipeline-state.md`
3. Fill in metadata (task description, mode, timestamp)

**On phase transitions:**
1. Update current phase status to `completed` with summary
2. Update next phase status to `in-progress`
3. Record checkpoint decision (yes/adjust/skip/stop)

**On pipeline completion:**
1. Update all phases to `completed`
2. Set current phase to `done`
3. Record final summary

## Resume Protocol

When invoked with `--resume`:

1. Read `.develop/pipeline-state.md`
2. If file doesn't exist → error: "No active pipeline found. Start a new one with `/develop [task]`"
3. Find the current phase (status = `in-progress` or first `pending` after a `completed`)
4. Announce: "Resuming pipeline: [task] — Phase [N]: [phase name]"
5. Continue from that phase, preserving all previous phase results

## Phase Transitions

At every human checkpoint, parse user response:

| Response | Action |
|----------|--------|
| **yes** / **approve** / **continue** / **y** | Proceed to next phase |
| **adjust** / **change** / **modify** | Stay in current phase, incorporate feedback |
| **skip** | Mark phase as `skipped`, proceed to next |
| **stop** / **pause** | Save state, exit pipeline (resume later with `--resume`) |

If user response doesn't match any pattern, ask for clarification.

## Skills Delegated To

- **brainstorming** → Phase 1 (Design)
- **quality-gates** → Phase 3 (Plan)
- **testing-strategy-builder** → Phase 3 (Plan)
- **coding-standards** → Phase 4 (Build), Phase 5 (Verify)
- **evidence-verification** → Phase 5 (Verify)

## Reference Files

- `${CLAUDE_SKILL_DIR}/references/gating-checklists.md` — Mode-specific critical unknowns checklists for Phase 0
- `${CLAUDE_SKILL_DIR}/references/tdd-protocol.md` — TDD enforcement rules by mode for Phase 4
- `${CLAUDE_SKILL_DIR}/templates/pipeline-state.md` — State file template copied to `.develop/pipeline-state.md`

## Compliance

### Iron Laws

Violating the letter of these rules is violating the spirit of the rules.

**IRON LAW: NEVER SKIP A PHASE WITHOUT EXPLICIT USER APPROVAL**

**IRON LAW: NEVER CLAIM A PHASE IS COMPLETE WITHOUT PRESENTING EVIDENCE**

### Red Flags

| If You're Thinking... | Required Action |
|---|---|
| "This is a small change, I can skip gating" | STOP. Small changes with hidden dependencies cause the biggest incidents. Run the gate. |
| "The design is obvious, no need to brainstorm" | STOP. 'Obvious' designs miss edge cases. At minimum, run a quick system design check. |
| "I'll verify at the end instead of per-phase" | STOP. Late verification finds problems when they're expensive to fix. Verify each phase. |
| "The user seems impatient, I should move faster" | STOP. Speed without process creates rework. Present the phase checkpoint and let the user decide. |

### Common Rationalizations

| Rationalization | Why It's Wrong |
|---|---|
| "This bugfix doesn't need a plan" | Bugfixes have the highest regression rate. A light plan prevents introducing new bugs while fixing old ones. |
| "The hypothesis phase is overhead" | Stating assumptions explicitly catches wrong ones early. Skipping it means discovering wrong assumptions during implementation. |
| "I'll combine build and verify to save time" | Building without intermediate verification means debugging a larger change surface when something fails. |

Files in this skill

  • SKILL.md18.6 KB
  • references/gating-checklists.md4.3 KB
  • references/tdd-protocol.md5.1 KB
  • templates/pipeline-state.md1.5 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…