Help us improve
Share bugs, ideas, or general feedback.
From swarm
Guides multi-agent coordination in OpenCode swarm workflows with decomposition, worker spawning, file reservations, progress tracking, and review loops. Use for parallelizable tasks across 3+ files.
npx claudepluginhub joelhooks/swarm-tools --plugin swarmHow this skill is triggered — by the user, by Claude, or both
Slash command
/swarm:swarm-coordinationThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
This skill guides multi-agent coordination for OpenCode swarm workflows.
Spawns isolated agents to execute tasks in parallel using a Mayor-First architecture. Useful for parallelizing independent work within a development loop under explicit ownership constraints.
Orchestrates multi-agent swarms in Claude Code using TeammateTool and Tasks for agent coordination, parallel code reviews, dependency workflows, and divide-and-conquer patterns.
Creates p5.js generative art with seeded randomness, noise fields, and interactive parameter exploration. Use for algorithmic art, flow fields, or particle systems.
Share bugs, ideas, or general feedback.
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-coordination