A Claude Code plugin that encodes the "hidden 80%" of software engineering expertise into 6 specialized agents and 15 composable skills — now with cost-aware model tiering, MCP-aware routing, and workflow fan-out.
Most AI coding tools help with the visible 20% -- writing code, answering syntax questions, generating boilerplate. But experienced developers spend 80% of their effort on skills that are rarely taught: reading code strategically, recognizing cross-domain patterns, estimating with risk awareness, self-reviewing before anyone sees the code, and managing technical debt deliberately.
This plugin encodes those skills into a coordinated agent team that Claude Code uses automatically.
- Long-running orchestration (Fable parity) — a
long-runningskill mimics Fable 5's long-horizon harness with durable.loop/checkpoint state, an append-only journal, a rewritten-per-iteration resume pack, and cache-window-aware self-paced scheduling. - loop-assist enforcement agent — a haiku-tier
unicorn-team:loop-assistgate certifies GO/NO-GO between loop iterations: green regression baseline, coherent loop state, fresh handoff, clean tree, testable acceptance criteria for the next milestone. /long-taskworkflow — one enforced iteration of a long-running task: orient from.loop/state → TDD the milestone → review → GO/NO-GO gate.
- Cost-aware model tiering — the orchestrator routes each delegation to the lowest model tier that does the job correctly (
haiku→sonnet→opus, withfablereserved for the single hardest task and a free local-codegen tier below them all). - MCP-aware routing — discovers the MCP servers you have configured and routes to them (code generation → local-codegen, library docs → context7, browser testing → playwright, memory → memory), degrading gracefully when they're absent.
- Workflow fan-out — ships three ready workflow templates (
/review,/feature,/research) for multi-agent passes with adversarial verification, installable into.claude/workflows/. - Goal-based delegation — prompts are written as objectives (Goal / Context / Constraints / Definition of done) instead of micro-steps, which the higher reasoning tiers handle better.
# Add the marketplace
claude plugin marketplace add aj-geddes/unicorn-team
# Install the plugin
claude plugin install unicorn-team@unicorn-teamDone. Claude Code discovers all 15 skills, registers the PostToolUse reminder hook, and activates the orchestrator.
To register the bundled workflow templates as slash commands:
# from the plugin/repo root
./skills/orchestrator/scripts/install-workflows.sh
# (or ask Claude: "install the unicorn workflow templates")You make a request. The orchestrator picks an execution surface (a direct answer, a single agent, parallel agents, or a workflow), routes each delegation to the cheapest correct model tier, uses any MCP servers you have configured, and enforces quality gates on the result.
flowchart TB
User([User Request])
subgraph Orchestrator["ORCHESTRATOR (skill, main loop)"]
O["Pick surface: direct / agent / workflow\nPick model tier: haiku→sonnet→opus→fable\nDiscover + route to MCP servers\nEnforce quality gates"]
end
subgraph Agents["AGENT TEAM (fresh 200K context each)"]
direction LR
AR["Architect\nopus"]
DV["Developer\nsonnet"]
QA["QA-Security\nsonnet"]
DO["DevOps\nsonnet"]
PG["Polyglot\nopus"]
end
subgraph Surfaces["EXECUTION SURFACES"]
direction LR
AG["Agent tool\n1–4 delegations"]
WF["Workflow tool\nfan-out + verify"]
end
QG{{"Quality Gates\ntests pass · coverage ≥ 80%\nself-review · QA approved"}}
User --> O
O --> AG & WF
AG & WF --> AR & DV & QA & DO & PG
AR & DV & QA & DO & PG --> QG
QG --> Result([Result + Proof])
style Orchestrator fill:#313244,stroke:#cba6f7,stroke-width:2px,color:#ffffff
style Agents fill:#313244,stroke:#fab387,stroke-width:2px,color:#ffffff
style Surfaces fill:#313244,stroke:#89b4fa,stroke-width:2px,color:#ffffff
style QG fill:#45475a,stroke:#a6e3a1,stroke-width:2px,color:#ffffff
Every implementation follows strict TDD:
flowchart LR
R["RED\nWrite failing test"]
G["GREEN\nMinimum code to pass"]
F["REFACTOR\nImprove, tests still green"]
V["VERIFY\nSelf-review + coverage"]
R --> G --> F --> V -->|Next feature| R
style R fill:#f38ba8,stroke:#f38ba8,color:#1e1e2e
style G fill:#a6e3a1,stroke:#a6e3a1,color:#1e1e2e
style F fill:#89b4fa,stroke:#89b4fa,color:#1e1e2e
style V fill:#cba6f7,stroke:#cba6f7,color:#1e1e2e
The orchestrator routes each delegation to the lowest tier that produces a correct result, overriding the agent's default model per-invocation. Raise effort within a tier before jumping tiers, and escalate only behind a cheap verifier (tests/lint) — otherwise start at the right tier.
| Tier | Model | Use for |
|---|---|---|
| T-free | local-codegen MCP | Bounded codegen with a cheap verifier ($0 API cost; review before committing) |
| T3 | haiku |
Recon, search, summarize, classify, mechanical edits |
| T2 | sonnet |
Routine implementation, code review, devops — the workhorse |
| T1 | opus |
Architecture, design, novel/hard implementation, language learning |
| T0 | fable |
The single hardest long-horizon task only — opt-in, never a default |
See skills/orchestrator/references/model-tiering.md for the full economics (pricing, effort matrix, cache rules, escalation policy).
Four bundled templates in skills/orchestrator/workflows/ run multi-agent passes via the Workflow tool. Install them with skills/orchestrator/scripts/install-workflows.sh to get slash commands:
| Command | What it does |
|---|---|
/review |
Reviews the branch diff across correctness, security, and design, then adversarially verifies each finding |
/feature |
Design (opus) → parallel TDD build (sonnet) → QA review |
/research |
Parallel haiku recon over sub-topics → synthesis → completeness critique |
/long-task |
One enforced iteration of a long-running task: orient -> TDD milestone -> review -> GO/NO-GO gate |
Protocols are inlined in their definitions (agents/*.md), keeping them off the slash-command list. The model column is each agent's default tier — the orchestrator overrides it per task.
| Agent | Default | What It Does |
|---|---|---|
| architect | opus | System design, ADRs, API contracts, tradeoff analysis |
| developer | sonnet | TDD-first implementation across Python, JS/TS, Go, Rust (offloads bounded codegen to local-codegen when available) |
| qa-security | sonnet | 4-layer code review, STRIDE threat modeling |
| devops | sonnet | CI/CD pipelines, deployment strategies, runbooks |
| polyglot | opus | Rapid language acquisition, cross-ecosystem pattern transfer |
| loop-assist | haiku | Iteration gate: certifies GO/NO-GO between long-running loop iterations |
| Skill | What It Does |
|---|---|
| orchestrator | Picks execution surface, routes by model tier, discovers MCP servers, delegates, enforces quality gates |
Meta Skills -- The Hidden 80%
| Skill | What It Does |
|---|---|
| self-verification | Systematic pre-commit quality checks (6-step protocol) |
| code-reading | Strategic codebase comprehension -- entry points, data flow, error paths |
| pattern-transfer | Recognize problem classes, transfer proven solutions across domains |
| estimation | Risk-aware PERT estimation with decomposition and confidence levels |
| technical-debt | Track, classify, and deliberately manage shortcuts and debt |
| language-learning | 5-phase protocol: zero to productive in a new language |
| hvs-skill-buddy | Audit, create, and keep the skill library consistent |
| long-running | Fable-5-style checkpointing, resume packs, self-paced scheduling, and per-iteration enforcement for multi-session tasks |
| Skill | Coverage |
|---|---|
| python | Type hints (3.10+), pytest, async, ruff, mypy, poetry |
| javascript | TypeScript, React, Node.js, Vitest, ESLint |
| go | Idiomatic Go, goroutines/channels, go test, golangci-lint |
| testing | TDD protocol, mocking strategies, coverage, cross-language patterns |
| security | OWASP Top 10, STRIDE, input validation, secrets management |
| domain-devops | Docker, Kubernetes, GitHub Actions, observability stack |
unicorn-team/
├── .claude-plugin/
│ ├── plugin.json # Plugin manifest (v3.1.0)
│ └── marketplace.json # Marketplace manifest
├── CLAUDE.md # Orchestrator activation
├── agents/ # 6 agent definitions at plugin root
│ ├── developer.md architect.md qa-security.md devops.md polyglot.md loop-assist.md
├── .claude/
│ ├── agents -> ../../agents # Symlink for local dev compatibility
│ └── protocols/ # Agent reference materials
├── skills/ # 15 composable skills
│ ├── orchestrator/
│ │ ├── SKILL.md
│ │ ├── references/ # model-tiering, mcp-routing, delegation, workflows
│ │ ├── workflows/ # review.js, feature.js, research.js, long-task.js
│ │ └── scripts/install-workflows.sh
│ ├── long-running/ # .loop/ state, resume packs, pacing, enforcement gate
│ └── ... (13 more)
├── hooks/hooks.json # PostToolUse reminder hook (advisory, non-blocking)
├── scripts/ # validate.sh + optional git-pre-commit / git-pre-push
├── tests/ # 168 tests
└── docs/ # Architecture, skills, getting started, troubleshooting
git clone https://github.com/aj-geddes/unicorn-team.git
cd unicorn-team
pytest tests/ -v # Run all 168 tests
./scripts/validate.sh # Validate plugin structure- Create
skills/<name>/SKILL.mdwith frontmatter:--- name: my-skill description: >- What it does. ALWAYS trigger on "phrase1", "phrase2". Use when [condition]. Different from [sibling] which [difference]. ---
- Keep body under 500 lines -- extract detail to
references/ - Co-locate scripts in
scripts/within the skill directory - Run
pytest tests/ -v
type(scope): description
Types: feat, fix, docs, skill, script, test, refactor
pytest tests/test_plugin.py # Plugin manifest
pytest tests/test_agents.py # Agent frontmatter + model tiers
pytest tests/test_skills_valid.py # SKILL.md frontmatter + size
pytest tests/test_scripts.py # Script permissions + shebangs
pytest tests/test_hooks.py # hooks.json validation
pytest tests/test_workflows.py # Bundled workflow templates + installer
pytest tests/test_no_stale_counts.py # Documentation drift guard| Count | |
|---|---|
| Composable Skills | 15 |
| Agents | 6 |
| Workflow templates | 4 |
| Reference docs | 67 |
| Scripts | 13 |
| Tests | 168 |
MIT -- see LICENSE.