From Darkroom Engineering
Coordinates multi-agent work across plan/implement/test/review phases, fanning out 3+ independent workstreams in parallel. Includes a GO/NO-GO gate to assess whether parallelization is appropriate.
How this skill is triggered — by the user, by Claude, or both
Slash command
/darkroom:orchestratemaestroThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Before starting work, create a marker: `mkdir -p ~/.claude/tmp && echo "orchestrate" > ~/.claude/tmp/heavy-skill-active && date -u +"%Y-%m-%dT%H:%M:%SZ" >> ~/.claude/tmp/heavy-skill-active`
Before starting work, create a marker: mkdir -p ~/.claude/tmp && echo "orchestrate" > ~/.claude/tmp/heavy-skill-active && date -u +"%Y-%m-%dT%H:%M:%SZ" >> ~/.claude/tmp/heavy-skill-active
Before delegating to agents:
GO/NO-GO Verdict:
Do not proceed past this gate without an explicit verdict.
Delegate to the Maestro agent for multi-agent task orchestration.
The Maestro agent handles: agent selection, parallel execution, workflow coordination, and agent teams.
For simple delegation (1-2 agents), use Agent() directly without invoking this skill.
Use full parallel team fan-out instead of sequential subagent delegation when:
| Scenario | Fan out? | Why |
|---|---|---|
| 3+ independent file areas | Yes | Maximum parallelism, isolated context per agent |
| Frontend + Backend + Tests | Yes | No file conflicts, clear boundaries |
| Large codebase analysis | Yes | Independent context per agent prevents bleed |
| Competing approaches | Yes | Explore alternatives in parallel before deciding |
| Sequential dependent work | No | Use subagents in sequence; fan-out adds overhead |
| Quick single investigation | No | Overhead not worth it; use /explore directly |
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS: "1" must be set (enabled by default in cc-settings)A dynamic workflow is a JS harness that spawns subagents, holds plan state outside your context window, runs up to 16 agents concurrently (1000 total), and resumes from cached results within a session. The trigger isn't task size — it's whether the task risks one of three failure modes a single context window is prone to:
Shapes worth naming when you build one: classify-and-act, fan-out-and-synthesize, generate-and-filter, tournament, loop-until-done (spawn until a stop condition, not a fixed count). Not only for marathons — a quick workflow is valid: "quick workflow to adversarially check this one assumption."
Two entry points:
ultracode in your prompt (the force-keyword was renamed workflow → ultracode in v2.1.160). Pair with /loop for repeatable triage/verification/research./effort ultracode — auto-orchestrates a workflow for every substantive task.The maestro Agent() fan-out above is the default in cc-settings; workflows are for replayability or scale beyond subagent fan-out. Don't rewire skills to depend on the Workflow tool — its API is still preview-stage — but a skill may ship an opt-in example (see nuclear-review's references/nuclear-review.workflow.js): a template you adapt, never a runtime dependency.
Report: team composition (when fan-out chosen), task assignments, coordination strategy, and progress.
Before starting work, create a marker: mkdir -p ~/.claude/tmp && echo "l-thread" > ~/.claude/tmp/heavy-skill-active && date -u +"%Y-%m-%dT%H:%M:%SZ" >> ~/.claude/tmp/heavy-skill-active
For tasks too large for a single context window. Implements checkpoint/restore, automatic verification, and graceful recovery.
Checkpoints are saved automatically at context usage thresholds. See hooks/checkpoint.md for actions at 70% / 80% / 90%.
Save checkpoints at these milestones:
See hooks/checkpoint.md for the full checkpoint JSON schema, storage location, and auto-checkpoint threshold actions.
# Save checkpoint
/checkpoint save "Completed phase 3"
# List checkpoints
/checkpoint list
# Restore from latest
/checkpoint restore
Every checkpoint must pass Levels 1-3 before saving. Full verification (Levels 1-5) at task completion. See hooks/verification-check.md for the complete 5-level stack, per-agent requirements, and failure handling.
Agent(planner, "Break down [task] into phases with dependencies and estimates")
Produce a phased plan with:
For each phase:
To drive this loop unattended, set a /goal whose condition matches the
completion promise — e.g. /goal all phases complete, tsc + lint + tests exit 0, git status is clean. The goal evaluator runs after every turn and
keeps the session going until the condition holds; it survives --resume
so a goal set before a handoff carries into the next session.
## Verification Summary
- [x] TypeScript compiles
- [x] Biome lint passes
- [x] Tests pass (N/N)
- [x] All phases completed
<promise>COMPLETE</promise>
When resuming after interruption:
checkpoint.ts restore to load latest stateThe task is NOT complete until:
1. All phases done
2. Verification passes (compile + lint + test)
3. Git is clean (all changes committed)
4. Summary provided with what was done
Only then output:
<promise>COMPLETE</promise>
Never claim completion with failing verification.
User: "Migrate all class components to hooks across the app"
→ Agent(planner, "Break migration into phases by module")
Plan: 6 phases, ~4 context windows estimated
Phase 1: Core hooks (auth, routing)
→ Implement → Verify → Checkpoint at 30%
Phase 2: Feature hooks (dashboard, settings)
→ Implement → Verify → Checkpoint at 55%
→ Context at 70% → auto-checkpoint, continue
Phase 3: Shared components
→ Context at 90% → auto-checkpoint, hand off
[New session resumes from checkpoint]
Phase 4-6: Continue...
→ Final verification → <promise>COMPLETE</promise>
npx claudepluginhub darkroomengineering/cc-settings --plugin darkroomPatterns and principles for orchestrating parallel subagent execution: work decomposition (fan-out/fan-in, map-reduce), isolation, result synthesis, and failure handling. Use when a task splits into independent subtasks.
Dispatches parallel subagents for 2+ independent tasks with no shared state. Use when tasks are well-defined and have no sequential dependency.