mcpbeat Sign in

Swarm Skill for Claude

>- own git worktree, working a markdown plan and merging back deterministically. Use when the user wants several agents on one codebase at once, says "swarm this", or asks about a running swarm, worktrees, or merge status.

746 tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
211
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/guaardvark/guaardvark --skill swarm

The instruction itself

5 sections, as written by the author

Swarm with Guaardvark

Read setup first; needs the swarm plugin (POST /api/plugins/swarm/start).

B=${GUAARDVARK_URL:-http://localhost:5000}. Status is also the MCP tool swarm_status.

1. Write the plan file

A markdown file in the target repo. Each ## heading is one task. Structured fields are optional;

the parser infers file scope from paths in the prose when they are absent:

# Plan: split the settings page

## Extract the GPU panel
- files: frontend/src/pages/SettingsPage.jsx, frontend/src/components/settings/GpuPanel.jsx
- backend: claude
Move the GPU section into its own component with the same props.

## Add a test for the panel
- files: frontend/src/__tests__/GpuPanel.test.jsx
- depends_on: Extract the GPU panel

backend / assign to picks the agent backend (Claude Code, or a local Cline/OpenClaw agent on

Ollama in Flight Mode). Tasks that touch the same files should depend on each other; the parser

warns about conflicts.

2. Launch

curl -s -X POST $B/api/swarm/launch -H 'Content-Type: application/json' -d '{
  "plan_path": "/abs/path/repo/docs/plan.md", "repo_path": "/abs/path/repo",
  "max_agents": 4, "auto_merge": false, "flight_mode": false, "dry_run": false,
  "acknowledge_dirty_tree": false
}'
  • A dirty working tree is refused unless acknowledge_dirty_tree: true; tell the user what is

uncommitted first.

  • self_code: true targets Guaardvark's own checkout and is only allowed on the configured root.
  • dry_run: true parses the plan and reports tasks and conflicts without starting agents.

3. Watch, merge, clean up

| call | |

|---|---|

| GET $B/api/swarm/status and GET $B/api/swarm/status/<swarm_id> | tasks, states, worktrees |

| GET $B/api/swarm/<swarm_id>/logs/<task_id>?lines=100 | one agent's log |

| GET $B/api/swarm/<swarm_id>/diff/<task_id> | its diff before merge |

| POST $B/api/swarm/<swarm_id>/bus/broadcast | message every agent |

| POST $B/api/swarm/merge {"swarm_id": "...", "repo_path": "..."} | merge finished branches in dependency order |

| POST $B/api/swarm/cancel | stop |

| POST $B/api/swarm/cleanup {"swarm_id": "...", "delete_branches": false} | remove worktrees |

| GET $B/api/swarm/templates | saved plan templates |

Rules

  • Review diffs before merge unless the user asked for auto_merge.
  • Keep max_agents at or below the machine's capacity; each Claude agent is a separate session and

each local agent competes for the GPU with generation jobs.

  • Report per task: state, files touched, whether it merged. Never say "done" on a swarm that still

has running or failed tasks.

How to use it

Copy the folder

Take guaardvark/swarm from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.