Main workflow orchestrator for complex tasks. Coordinates phase transitions, enforces checkpoints based on config, manages subagent delegation. Invoke for [COMPLEX] tasks.
Coordinates complex multi-phase workflows with checkpoints and subagent delegation. Automatically triggers for tasks marked [COMPLEX] to manage intake → research → design → implement → review → debug → git phases.
/plugin marketplace add c-daly/agent-swarm/plugin install agent-swarm@fearsidhe-pluginsThis skill inherits all available tools. When active, it can use any tool Claude has access to.
Load from ~/.claude/plugins/agent-swarm/config/workflow.json:
import json
from pathlib import Path
config = json.loads((Path.home() / ".claude/plugins/agent-swarm/config/workflow.json").read_text())
Key settings:
checkpoints.<phase>: true/false - whether to pause for approvalautopilot.enabled: bypass all promptsphases.<phase>.enforce_subagents: require Task tool for writesintake → [checkpoint?] → research/explore → design → [checkpoint?]
→ implement → review → [checkpoint?] → debug (if needed) → git → [checkpoint?] → done
python3 << 'EOF'
import json
from pathlib import Path
config_path = Path.home() / ".claude/plugins/agent-swarm/config/workflow.json"
state_path = Path.home() / ".claude/plugins/agent-swarm/.state/session.json"
config = json.loads(config_path.read_text()) if config_path.exists() else {}
state = {
"phase": "intake",
"autopilot_override": config.get("autopilot", {}).get("enabled", False),
"in_subagent": False,
"search_count": 0,
"read_count": 0,
"task_summary": "",
"checkpoints": config.get("checkpoints", {})
}
state_path.parent.mkdir(parents=True, exist_ok=True)
state_path.write_text(json.dumps(state, indent=2))
print(f"[ORCHESTRATOR] Initialized")
print(f" Phase: intake")
print(f" Autopilot: {state['autopilot_override']}")
print(f" Checkpoints: {[k for k,v in state['checkpoints'].items() if v]}")
EOF
# Run capability inventory
python3 ~/.claude/plugins/agent-swarm/scripts/inventory.py all
Before starting any task, know what's available:
# Full inventory
python3 ~/.claude/plugins/agent-swarm/scripts/inventory.py all
# Find right tool for a need
python3 ~/.claude/plugins/agent-swarm/scripts/inventory.py tools "find function definition"
Tool Selection Priority:
python3 << 'EOF'
import json, sys
from pathlib import Path
new_phase = "PHASE_NAME" # Replace with target phase
state_path = Path.home() / ".claude/plugins/agent-swarm/.state/session.json"
state = json.loads(state_path.read_text())
old_phase = state.get("phase", "")
state["phase"] = new_phase
# Reset counters on phase change
state["search_count"] = 0
state["read_count"] = 0
state_path.write_text(json.dumps(state, indent=2))
checkpoint_needed = state.get("checkpoints", {}).get(new_phase, False)
print(f"[ORCHESTRATOR] {old_phase} → {new_phase}")
if checkpoint_needed:
print(f" ⚠️ CHECKPOINT: Get user approval before proceeding")
EOF
python3 << 'EOF'
import json
from pathlib import Path
state_path = Path.home() / ".claude/plugins/agent-swarm/.state/session.json"
state = json.loads(state_path.read_text())
phase = state.get("phase", "")
needs_checkpoint = state.get("checkpoints", {}).get(phase, False)
autopilot = state.get("autopilot_override", False)
if autopilot:
print(f"[CHECKPOINT] Skipped (autopilot mode)")
elif needs_checkpoint:
print(f"[CHECKPOINT] Phase '{phase}' requires approval")
print(f" Present summary and wait for user confirmation")
else:
print(f"[CHECKPOINT] Not required for phase '{phase}'")
EOF
When user approves at a checkpoint:
The user grants approval by manually editing the state file or using AskUserQuestion tool.
Agent behavior:
Manual approval (user can do this):
# Edit .state/session.json and add:
{
"checkpoint_approvals": {
"git": true,
"design": true,
# etc.
}
}
Agent helper (ONLY after AskUserQuestion approval):
# Agent must use AskUserQuestion first, then if approved:
python3 << 'EOF'
import json
from pathlib import Path
state_path = Path.home() / ".claude/plugins/agent-swarm/.state/session.json"
state = json.loads(state_path.read_text())
phase = state.get("phase", "")
approvals = state.get("checkpoint_approvals", {})
approvals[phase] = True
state["checkpoint_approvals"] = approvals
state_path.write_text(json.dumps(state, indent=2))
print(f"[CHECKPOINT] User approved '{phase}' phase")
EOF
python3 << 'EOF'
import json
from pathlib import Path
state_path = Path.home() / ".claude/plugins/agent-swarm/.state/session.json"
state = json.loads(state_path.read_text()) if state_path.exists() else {}
current = state.get("autopilot_override", False)
state["autopilot_override"] = not current
state_path.write_text(json.dumps(state, indent=2))
print(f"[AUTOPILOT] {'Enabled' if state['autopilot_override'] else 'Disabled'}")
EOF
python3 << 'EOF'
import json
from pathlib import Path
# Edit these values
phase = "implement" # Phase to configure
enabled = True # True = checkpoint required, False = skip
config_path = Path.home() / ".claude/plugins/agent-swarm/config/workflow.json"
config = json.loads(config_path.read_text())
config["checkpoints"][phase] = enabled
config_path.write_text(json.dumps(config, indent=2))
print(f"[CONFIG] Checkpoint for '{phase}': {'enabled' if enabled else 'disabled'}")
EOF
researcher agent (haiku model)explorer agent (haiku model)architect agent (sonnet model)implementer agentreviewer agent (sonnet model)debugger agent (sonnet model)git-agent (haiku model)python3 ~/.claude/plugins/agent-swarm/scripts/charts.py snapshot
This automatically captures metrics for historical tracking and trend analysis.When spawning subagents, specify model AND token budget:
# Token budgets by agent type (prevent runaways)
AGENT_TOKEN_BUDGETS = {
"agent-swarm:explorer": 50000, # Quick exploration
"agent-swarm:researcher": 150000, # Deep research allowed
"agent-swarm:architect": 120000, # Design needs space
"agent-swarm:implementer": 100000, # Focused implementation
"agent-swarm:reviewer": 80000, # Review existing code
"agent-swarm:debugger": 150000, # Debugging can be complex
"agent-swarm:git-agent": 30000 # Simple git operations
}
{
"description": "Explore auth system",
"prompt": "Find all authentication-related files...",
"subagent_type": "agent-swarm:explorer",
"model": "haiku",
"token_budget": 50000
}
CRITICAL: Always include token_budget parameter to prevent runaway agents
Models by agent:
The hook combined-enforcement.py enforces:
Violations are blocked with guidance message.
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.
Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.
Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.