swarm-coordination
A framework for managing multi-agent workflows in OpenCode, enabling parallel task decomposition and coordination.
Install
mkdir -p .claude/skills/swarm-coordination && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/9088" && unzip -o skill.zip -d .claude/skills/swarm-coordination && rm skill.zipInstalls to .claude/skills/swarm-coordination
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Multi-agent coordination patterns for OpenCode swarm workflows. Use when work benefits from parallelization or coordination.Key capabilities
- →Decompose tasks
- →Spawn worker agents
- →Reserve files
- →Track progress
- →Review output
How it works
It coordinates tasks by decomposing work, spawning subagents, and managing file reservations through a dual-path protocol.
Inputs & outputs
When to use swarm-coordination
- →Decompose a large feature request into parallelizable sub-tasks
- →Assign frontend and backend tasks to specialized agents simultaneously
- →Implement a review loop for multi-file refactoring
- →Track progress across an agent team working on a single repository
About this skill
Swarm Coordination
This skill guides multi-agent coordination for OpenCode swarm workflows.
When to Use
- Tasks touching 3+ files
- Parallelizable work (frontend/backend/tests)
- Work requiring specialized agents
- Time-to-completion matters
Avoid swarming for 1–2 file changes or tightly sequential work.
Tool Access (Wildcard)
This skill is configured with tools: ["*"] per user choice. If you need curated access later, replace the wildcard with explicit tool lists.
Foreground vs Background vs Agent Teams
- Foreground agents can access MCP tools.
- Background agents do not have MCP tools.
- Agent Team Teammates (when
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMSenabled) have independent context and messaging. - Use foreground workers for
swarmmail_*,swarm_*,hive_*, and MCP calls. - Use background workers for doc edits and static work only.
MCP Lifecycle
Claude Code auto-launches MCP servers from mcpServers configuration. Do not require manual swarm mcp-serve except for debugging.
Agent teams spawn separate instances with their own MCP connections. Each teammate has independent tool access.
Coordinator Protocol (Dual-Path)
Native Teams (When Available)
- Initialize Swarm Mail (
swarmmail_init). - Query past learnings (
hivemind_find). - Decompose (
swarm_plan_prompt+swarm_validate_decomposition). - Spawn via
TeammateToolfor real-time coordination. - Review via native team messaging +
swarm_reviewfor persistence. - Record outcomes (
swarm_complete).
Fallback (Task Subagents)
- Initialize Swarm Mail (
swarmmail_init). - Query past learnings (
hivemind_find). - Decompose (
swarm_plan_prompt+swarm_validate_decomposition). - Spawn workers via
Task(subagent_type="swarm-worker", prompt="..."). - Review worker output (
swarm_review+swarm_review_feedback). - Record outcomes (
swarm_complete).
Worker Protocol (Dual-Path)
With Agent Teams
- Auto-initialize via
session-starthook. - Reserve files (
swarmmail_reserve) — native teams have NO file locking. - Use
TaskUpdatefor UI spinners +swarm_progressfor persistent tracking. - Complete with
swarm_complete(auto-releases reservations).
Without Agent Teams
- Initialize Swarm Mail (
swarmmail_init). - Reserve files (
swarmmail_reserve). - Work within scope and report progress (
swarm_progress). - Complete with
swarm_complete.
File Reservations
Workers must reserve files before editing and release via swarm_complete.
Coordinators never reserve files.
Progress Reporting
Use TaskUpdate for UI spinners (shows instant feedback in Claude Code) and swarm_progress at 25%, 50%, and 75% completion for persistent tracking and auto-checkpoints.
Spawning Workers (CRITICAL - Read This)
Step 1: Prepare the subtask
const spawnResult = await swarm_spawn_subtask({
bead_id: "cell-abc123", // The hive cell ID for this subtask
epic_id: "epic-xyz789", // Parent epic ID
subtask_title: "Add logging utilities",
subtask_description: "Create a logger module with structured logging support",
files: ["src/utils/logger.ts", "src/utils/logger.test.ts"], // Array of strings, NOT a JSON string
shared_context: "This epic is adding observability. Other workers are adding metrics and tracing.",
project_path: "/absolute/path/to/project" // Required for tracking
});
Step 2: Spawn the worker with Task
// Parse the result to get the prompt
const { prompt, recommended_model } = JSON.parse(spawnResult);
// Spawn the worker
await Task({
subagent_type: "swarm:worker",
prompt: prompt,
model: recommended_model // Optional: use the auto-selected model
});
Common Mistakes
WRONG - files as JSON string:
files: '["src/auth.ts"]' // DON'T do this
CORRECT - files as array:
files: ["src/auth.ts", "src/auth.test.ts"] // Do this
WRONG - missing project_path:
swarm_spawn_subtask({
bead_id: "...",
epic_id: "...",
// No project_path - worker can't initialize tracking!
})
CORRECT - include project_path:
swarm_spawn_subtask({
bead_id: "...",
epic_id: "...",
project_path: "/Users/joel/myproject" // Required!
})
Parallel vs Sequential Spawning
Parallel (independent tasks)
Send multiple Task calls in a single message:
// All in one message - runs in parallel
Task({ subagent_type: "swarm:worker", prompt: prompt1 })
Task({ subagent_type: "swarm:worker", prompt: prompt2 })
Task({ subagent_type: "swarm:worker", prompt: prompt3 })
Sequential (dependent tasks)
Await each before spawning next:
const result1 = await Task({ subagent_type: "swarm:worker", prompt: prompt1 });
// Review result1...
const result2 = await Task({ subagent_type: "swarm:worker", prompt: prompt2 });
Story Status Flow
Status transitions should flow:
- Coordinator sets story to
in_progresswhen spawning worker - Worker completes work and sets to
ready_for_review - Coordinator reviews and sets to
passedorfailed
Workers do NOT set final status - that's the coordinator's job after review.
Skill Loading Guidance
Workers should load skills based on task type:
- Tests or fixes →
testing-patterns - Architecture →
system-design - CLI work →
cli-builder - Coordination →
swarm-coordination
When not to use it
- →1-2 file changes
- →Tightly sequential work
Prerequisites
Limitations
- →Native teams lack file locking
- →Workers do not set final status
How it compares
It automates parallelization and progress tracking across multiple agents rather than manual task management.
Compared to similar skills
swarm-coordination side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| swarm-coordination (this skill) | 0 | 6mo | No flags | Advanced |
| coderabbit-local-dev-loop | 1 | 27d | Review | Intermediate |
| agent-factory | 8 | 9mo | Review | Advanced |
| subagent-driven-development | 14 | 7mo | No flags | Advanced |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by joelhooks
View all by joelhooks →You might also like
coderabbit-local-dev-loop
jeremylongshore
Configure CodeRabbit local development with hot reload and testing. Use when setting up a development environment, configuring test workflows, or establishing a fast iteration cycle with CodeRabbit. Trigger with phrases like "coderabbit dev setup", "coderabbit local development", "coderabbit dev environment", "develop with coderabbit".
agent-factory
alirezarezvani
Claude Code agent generation system that creates custom agents and sub-agents with enhanced YAML frontmatter, tool access patterns, and MCP integration support following proven production patterns
subagent-driven-development
davila7
Use when executing implementation plans with independent tasks in the current session
run-nx-generator
nrwl
Run Nx generators with prioritization for workspace-plugin generators. Use this when generating code, scaffolding new features, or automating repetitive tasks in the monorepo.
continuous-learning-v2
affaan-m
Instinct-based learning system that observes sessions via hooks, creates atomic instincts with confidence scoring, and evolves them into skills/commands/agents.
agent-skill-creator
FrancyJGLisboa
This enhanced skill should be used when the user asks to create an agent, automate a repetitive workflow, create a custom skill, or needs advanced agent creation capabilities. Activates with phrases like every day, daily I have to, I need to repeat, create agent for, automate workflow, create skill for, need to automate, turn process into agent. Supports single agents, multi-agent suites, transcript processing, template-based creation, and interactive configuration. Claude will use the enhanced protocol to research APIs, define analyses, structure everything, implement functional code, and create complete skills autonomously with optional user guidance.