Architecture
Overview
buildcrew is a set of 15 Markdown agent definitions that Claude Code reads as instructions. There is no runtime, no binary, no server β just structured prompts.
npx buildcrew
β
βΌ
Copies 15 .md files to .claude/agents/
β
βΌ
Claude Code discovers agents automatically
β
βΌ
User talks to @buildcrew β routes to the right agentsAgent System
How Agents Work in Claude Code
Claude Code looks for agent definitions in .claude/agents/*.md. Each file has:
---
name: agent-name # How to invoke: @agent-name
description: ... # What it does
model: sonnet # Which model to use
tools: # Which tools the agent can use
- Read
- Write
- Bash
---
# Agent instructions in MarkdownWhen a user types @agent-name [message], Claude Code loads the Markdown as system instructions and gives the agent access to the listed tools.
Orchestrator Pattern
The key design decision is the orchestrator pattern: one lead agent (buildcrew) that dispatches to specialist agents based on the user's intent.
User message
β
βΌ
ββββββββββββββββ
β BUILDCREW β β Reads message, detects mode, dispatches agents
ββββββββ¬ββββββββ
β
βββ Mode 1 (Feature) β planner β designer β developer β qa-tester β browser-qa β reviewer
βββ Mode 2 (Audit) β planner(discovery) β [designer β] developer β qa-tester (loop)
βββ Mode 3 (BrowserQA) β browser-qa [β developer β browser-qa]
βββ Mode 4 (Security) β security-auditor [β developer β security-auditor]
βββ Mode 5 (Debug) β investigator β qa-tester
βββ Mode 6 (Health) β health-checker
βββ Mode 7 (Canary) β canary-monitor
βββ Mode 8 (Review) β reviewer [β developer β reviewer]
βββ Mode 9 (Ship) β shipperThe orchestrator auto-detects intent and chains agents β no manual skill invocation needed.
Agent Categories
Build Team (create) Quality Team (verify) Security & Ops (protect & ship)
ββββββββββββ βββββββββββββββ βββββββββββββββββ
β planner ββββββββββββββββΆβ qa-tester β β security- β
β designer β β browser-qa β β auditor β
β developerβββββββββββββββββ reviewer β β canary-monitorβ
β β β health- β β shipper β
β β β checker β β β
ββββββββββββ βββββββββββββββ βββββββββββββββββ
Specialist
ββββββββββββββββ
β investigator β (standalone β called by buildcrew for bug investigation)
ββββββββββββββββPipeline System
Agents communicate via files in .claude/pipeline/. Each mode creates its own subdirectory:
.claude/pipeline/
βββ {feature-name}/ Feature mode (sequential chain)
β βββ 01-plan.md β planner output
β βββ 02-design.md β designer output (spec)
β βββ 02-prototype.html β designer output (interactive)
β βββ 03-dev-notes.md β developer output
β βββ 04-qa-report.md β qa-tester output
β βββ 05-browser-qa.md β browser-qa output
β βββ 06-review.md β reviewer output
β βββ 07-ship.md β shipper output
β βββ iteration-log.md β buildcrew tracking
β
βββ project-audit/ Audit mode
β βββ 00-backlog.md
β βββ iteration-N/
β
βββ security-audit/ Security mode
β βββ security-audit.md
β
βββ health/ Health mode
β βββ health-report.md
β
βββ canary/ Canary mode
β βββ canary-report.md
β
βββ browser-qa/ Browser QA mode (standalone)
β βββ browser-qa-report.md
β
βββ review/ Review mode (standalone)
β βββ review-report.md
β
βββ debug-{bug}/ Debug mode
βββ investigation.mdHandoff Protocol
Each agent:
- Reads the previous agent's output file
- Does its work
- Writes its own output file
- The next agent reads that file
This creates an auditable chain where every decision is documented.
Quality Gates
The orchestrator implements quality gates after QA phases:
QA Result
β
βββ ALL PASS β proceed to next agent (or complete)
β
βββ FAIL β route back to responsible agent
βββ UI issue β designer
βββ Code bug β developer
βββ Spec unclear β plannerAfter max iterations (configurable), ship with known issues documented.
Iteration Control
Each mode has a default max iteration count:
| Mode | Default | What iterates |
|---|---|---|
| Feature | 3 | QA fail β fix β re-QA |
| Audit | 2 | Scan β fix β re-scan |
| Browser QA | 2 | Test β fix β re-test |
| Security | 2 | Audit β fix β re-audit |
| Debug | 3 | Hypothesis β test β new hypothesis |
| Review | 2 | Review β fix β re-review |
| Health/Canary/Ship | 1 | No iteration |
Design Decisions
Why Markdown, not code?
- Zero dependencies β nothing to install, build, or break
- Transparent β users can read and modify agent behavior
- Portable β works on any OS where Claude Code runs
- Versionable β git tracks changes to agent behavior over time
Why a single orchestrator?
- Users don't need to know which agent to invoke
- Mode detection from natural language is reliable
- Enables automatic chaining (Feature β Ship, Canary β Debug)
- Single entry point reduces cognitive load
Why Playwright MCP instead of a custom binary?
- Already available in the Claude Code ecosystem
- No build step, no Bun dependency
- Same capabilities (~100ms per command, persistent browser)
- Users may already have it installed
Why numbered pipeline files?
- Clear execution order
- Easy to find specific phase output
- Agents know exactly which file to read/write
- Git-friendly β you can commit pipeline docs as project history