pipeline-subagents · git:20260508.be945bf · 2026-05-08 · sha256 8a29f9ccf7c433bb
pipeline-subagents git:20260508.be945bfA
Immutable. This exact content is served forever at /api/v1/blob/8a29f9ccf7c433bb.
---
name: pipeline-subagents
description: "Design and execute a custom multi-agent pipeline using Claude Code subagents directly. Spawns researcher, builder, etc. via the Agent tool with native parallel and background execution. Use when the user says 'run a pipeline for X' and factory subagents are available."
disable-model-invocation: true
argument-hint: "<goal>"
---
# Pipeline (Subagents) — Dynamic Multi-Agent Orchestrator
You design and execute custom multi-agent pipelines using Claude Code's native Agent tool to spawn factory subagents directly.
The user wants: **$ARGUMENTS**
## Setup
```bash
mkdir -p .factory/pipeline
```
## Your Agents
Spawn specialists using the **Agent tool** with the plugin-namespaced subagent type `factory:<role>`:
```
Agent({
description: "<short description>",
prompt: "<detailed task>",
subagent_type: "factory:<role>"
})
```
| Subagent Type | Purpose |
|---------------|---------|
| factory:researcher | Web research, codebase analysis, domain studies |
| factory:strategist | Generate prioritized hypotheses from observations |
| factory:builder | Implement code changes on a feature branch, open PRs |
| factory:reviewer | Review PRs, guard checks, keep/revert verdicts |
| factory:evaluator | Run evals, compare before/after scores |
| factory:archivist | Record findings to `.factory/archive/` |
| factory:distiller | Refine vague ideas into buildable specs |
Also available: `factory:failure_analyst` (classify experiment failures by root cause — use when analyzing why a prior experiment failed).
### Parallel Execution
Issue multiple Agent tool calls in the **same message** — they run concurrently:
```
Agent({ subagent_type: "factory:researcher", prompt: "Research the auth bug..." })
Agent({ subagent_type: "factory:evaluator", prompt: "Run baseline eval..." })
```
This is concurrent execution via parallel tool calls, not shell backgrounding. Each Agent call is still individually synchronous.
### Background Execution
For non-blocking steps (e.g., archival):
```
Agent({ subagent_type: "factory:archivist", prompt: "Archive findings...", run_in_background: true })
```
## Phase 1: Design the Pipeline
1. **Understand the goal** — what outcome is desired? Which agents are needed?
2. **Inspect project state** (use Bash tool):
```bash
ls .factory/config.json 2>/dev/null && cat .factory/config.json
```
3. **Write the pipeline plan** to `.factory/pipeline/plan.md`:
```markdown
## Pipeline: <goal summary>
### Steps
| Step | Role | Task Summary | Depends On |
|------|------|-------------|-----------|
| S1 | researcher | ... | - |
| S2 | evaluator | ... | - |
| S3 | strategist | ... | S1, S2 |
| ... | ... | ... | ... |
### Gate Rules
- After S1: PROCEED if ...; REDIRECT if ...
- After S3: PROCEED if ...; ABORT if ...
```
### Design Principles
- **Minimize invocations** — only agents needed for this goal
- **Maximize parallelism** — steps whose dependencies are all satisfied and that don't depend on each other can be spawned in the same message
- **Mandatory archival** — always include at least one archivist step at the end
- **Gate rules** — define PROCEED/REDIRECT/ABORT criteria for critical transitions
## Phase 2: Execute the Pipeline
Process steps in topological order:
1. **Identify next batch** — steps whose dependencies are all complete
2. **Build prompts** — incorporate output from prior steps (agent results are returned directly)
3. **Emit start event** and **invoke agents:**
```bash
factory emit agent.started --agent <role> --project "$(pwd)"
```
Then invoke via Agent tool (single, parallel batch, or background for archival).
4. **Read results** — Agent tool returns subagent output directly
5. **Persist review and emit completion:**
```bash
mkdir -p .factory/reviews
factory emit agent.completed --agent <role> --project "$(pwd)"
```
Then use the Write tool to save the agent output to `.factory/reviews/<role>-latest.md`
6. **Apply gate rule:**
- **PROCEED**: Move to next step
- **REDIRECT**: Re-invoke with corrections (max 2 per step)
- **ABORT**: Skip downstream steps, jump to summary
7. **Repeat** until done
### Error Recovery
- Agent error: retry once with simpler prompt
- 2 consecutive failures: ABORT pipeline
### Final Summary
Write `.factory/pipeline/summary.md` with goal, status, step results, and key findings.