Loading...
Loading...
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 skill4agent add joelhooks/swarm-tools swarm-coordinationtools: ["*"]CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMSswarmmail_*swarm_*hive_*mcpServersswarm mcp-serveswarmmail_inithivemind_findswarm_plan_promptswarm_validate_decompositionTeammateToolswarm_reviewswarm_completeswarmmail_inithivemind_findswarm_plan_promptswarm_validate_decompositionTask(subagent_type="swarm-worker", prompt="...")swarm_reviewswarm_review_feedbackswarm_completesession-startswarmmail_reserveTaskUpdateswarm_progressswarm_completeswarmmail_initswarmmail_reserveswarm_progressswarm_completeswarm_completeTaskUpdateswarm_progressconst 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
});files: '["src/auth.ts"]' // DON'T do thisfiles: ["src/auth.ts", "src/auth.test.ts"] // Do thisswarm_spawn_subtask({
bead_id: "...",
epic_id: "...",
// No project_path - worker can't initialize tracking!
})swarm_spawn_subtask({
bead_id: "...",
epic_id: "...",
project_path: "/Users/joel/myproject" // Required!
})// 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 })const result1 = await Task({ subagent_type: "swarm:worker", prompt: prompt1 });
// Review result1...
const result2 = await Task({ subagent_type: "swarm:worker", prompt: prompt2 });in_progressready_for_reviewpassedfailedtesting-patternssystem-designcli-builderswarm-coordination