packages/claude-code-swarm-plugin/skills/swarm-coordination/SKILL.md
Multi-agent coordination patterns for OpenCode swarm workflows. Use when work benefits from parallelization or coordination. Covers: decomposition, worker spawning, file reservations, progress tracking, and review loops.
npx skillsauth add joelhooks/swarm-tools swarm-coordinationInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill guides multi-agent coordination for OpenCode swarm workflows.
Avoid swarming for 1–2 file changes or tightly sequential work.
This skill is configured with tools: ["*"] per user choice. If you need curated access later, replace the wildcard with explicit tool lists.
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS enabled) have independent context and messaging.swarmmail_*, swarm_*, hive_*, and MCP calls.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.
swarmmail_init).hivemind_find).swarm_plan_prompt + swarm_validate_decomposition).TeammateTool for real-time coordination.swarm_review for persistence.swarm_complete).swarmmail_init).hivemind_find).swarm_plan_prompt + swarm_validate_decomposition).Task(subagent_type="swarm-worker", prompt="...").swarm_review + swarm_review_feedback).swarm_complete).session-start hook.swarmmail_reserve) — native teams have NO file locking.TaskUpdate for UI spinners + swarm_progress for persistent tracking.swarm_complete (auto-releases reservations).swarmmail_init).swarmmail_reserve).swarm_progress).swarm_complete.Workers must reserve files before editing and release via swarm_complete.
Coordinators never reserve files.
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.
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
});
// 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
});
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!
})
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 })
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 });
Status transitions should flow:
in_progress when spawning workerready_for_reviewpassed or failedWorkers do NOT set final status - that's the coordinator's job after review.
Workers should load skills based on task type:
testing-patternssystem-designcli-builderswarm-coordinationdevelopment
Patterns for testing code effectively. Use when breaking dependencies for testability, adding tests to existing code, understanding unfamiliar code through characterization tests, or deciding how to structure tests. Covers seams, dependency injection, test doubles, and safe refactoring techniques from Michael Feathers.
tools
Principles for building reusable coding systems. Use when designing modules, APIs, CLIs, or any code meant to be used by others. Based on "A Philosophy of Software Design" by John Ousterhout. Covers deep modules, complexity management, and design red flags.
development
Multi-agent coordination patterns for OpenCode swarm workflows. Use when working on complex tasks that benefit from parallelization, when coordinating multiple agents, or when managing task decomposition. Do NOT use for simple single-agent tasks.
development
Meta-skill for generating new skills with proper format and structure. Use when creating new skills for the swarm system or when agents need to generate skill scaffolds. Ensures skills follow conventions (frontmatter format, directory structure, bundled resources).