agentleFS
OvichOvich/charrette/skills/swarm/SKILL.md

swarm

Skill14 starsChanged 5 days agoMITView on GitHub

Use when a person asks to swarm, delegate or parallelize work without a plan ('swarm this', 'run a swarm on…', 'get a few agents on it'), or when a task in front of you splits into independent parts or is long enough to hand off: then propose a swarm in one line, workers and why, and open it only on a yes. Runs a task swarm on the board: this session orchestrates, N swarm-worker agents take the tasks posted to them, report, and take the next, for as long as the person keeps giving work, on call or under a protocol (build-verify: builders, then verifiers walking the running product, looped until it holds). Produces the run on the board and the workers' results and merges. Not for work an approved plan covers (execute-plan), a discussion of seats (brainswarm), or a task small enough to do yourself.

87 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use poteto-help, make-bot-ui and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • ianclearySkill

    poteto-help

    Guides users through pstack setup, /poteto-mode, and picking the skill, playbook, or principle for a task. Type /poteto-help with a question.

    Also in 14 projects that use this

  • eryzerzSkill

    make-bot-ui

    Use when building a custom UI (page, dashboard, buttons) that should wake a Grok Bot over a webhook, when the user must provide a webhook sender key, or when exposing that UI on Tailscale.

    Also in 19 projects that use this

  • ianclearySkill

    principle-explain-the-number

    Apply before you trust, report, or act on a number you measured: a speedup, a regression, a throughput, a latency, or an eval result. Find what limits it, and rule out that it measured something other than the work you think.

    Also in 27 projects that use this

  • bnemaSkill

    setup-pstack

    Configure which Pi models pstack uses per role. Detects available provider/model specs and writes pstack's user configuration. Use for /setup-pstack, "configure pstack models", or changing pstack model choices.

    Also in 23 projects that use this

  • jaydubya818Skill

    principle-attack-the-premise

    Apply when repeated fixes fail and a shared assumption may be wrong.

    Also in 31 projects that use this

  • jaydubya818Skill

    poteto-mode

    Use when non-trivial work should follow the smallest rigorous Jstack workflow.

    Also in 27 projects that use this

  • +5 more from jaydubya818

The file

We split this skill into the rules it gives an agent

4 rules. 0 are common, 1 is distinctive, and 3 are very specific to this project.

  • 0

    Common

    Most of the 82 edited versions we read keep these.

  • 1

    Distinctive

    This author's own choices. Worth a look.

  • 3

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Not asked, but the work splits into parts or must be seen working: offer it as the next-step skill says, the protocol filled in.

    line 15
  2. Distinctive:

    Create the branch, push it, and leave it checked out nowhere (detach the main checkout): a worker fast-forwards it from the worktree its …

    line 28
  3. Very specific:

    Read it and acknowledge it at once in one post to its worker (@wN received, or what to fix).

    line 72
  4. Very specific:

    When the person says so, or propose it once every worker waits and nothing is left: $S close --run <run>.

    line 93

“Common” is measured: kept by at least 6 in 10 of the 82 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Swarm

You orchestrate; the workers do the work. The orchestrate skill holds the protocols, the run's proposal, dispatch, briefs and how findings are weighed; the swarm-board skill holds the board, its orchestrator side in its references/orchestrator.md, read before opening. Here: what a task swarm adds. There is no plan behind it: a task is a post on the board (the orchestrate skill's references/tasks.md), whatever the task is.

Proposing one

Not asked, but the work splits into parts or must be seen working: offer it as the next-step skill says, the protocol filled in. On a no, do it yourself.

Setting it up

Propose the run as the orchestrate skill's Propose the run says, built on the closest example (build-verify when the work must be seen working; a prototype phase first when it adds or changes a screen (charter prototype:), an architecture phase when its modules and entries must be settled before any code (charter architecture:), the prototype first when both; none for workers on call), with: how many workers (3 to start from, reconsidered against the estimate of the work as Propose the run says) and each one's area; under build-verify, the verifiers (sized from the verify's steps), their focus, source and port range, whether only one instance can run; the loop; each seat's model and effort (Opus; builders low, verifiers medium); the branch their work merges into, a new swarm/<topic> off the current branch by default.

Open and dispatch

  1. Create the branch, push it, and leave it checked out nowhere (detach the main checkout): a worker fast-forwards it from the worktree its join makes.
  2. A seats file, one row per worker, w1 … w<n>, role worker, and under build-verify one per verifier, v1 … v<m>, role verifier, area <focus>, and its own port range in its brief; then $S open --kind task --group <topic> --title "<what the swarm is for>" --seats <file> --onto <branch> with --protocol <the charter's base> when it runs one, or --protocol none for a swarm with no phases on purpose, and start your link as it prints; under a protocol, open its first phase before the first task post. Give the person the board's URL.
  3. Every worker at once on the plugin's swarm-worker agent (subagent_type: "swarmstorm:swarm-worker"), no isolation (its join makes its worktree), as the orchestrate skill dispatches. The brief holds no task (<S> is the CLI as you run it, the swarm-board skill's $S, written out in full):

    You are worker `<wN>` of task swarm run `<run id>` on `<repository>`. Your join makes your worktree from `<branch>` and prints its path; merge into `<branch>`. **Prepare**, in that worktree: `<the command, install included>`. Load the `swarm-board` skill and read its `references/worker.md`. Join now, with this line verbatim: `<S> join --run <run id> --seat <wN> --doing "joining" --as <topic>/<wN>`, then wait for the tasks posted to you.

    Under build-verify, every verifier at once too, on the plugin's verifier agent (subagent_type: "swarmstorm:verifier"), no isolation:

    You are verifier `<vN>` of task swarm run `<run id>` on `<repository>`, protocol build-verify, focus `<focus>`, ports `<range>` for your own instance<, one instance only: walk it in your phase's turn>. **Source**: <the `verify-<app>-<focus>` skill | instructed: each verify phase's message gives your steps>. Load the `swarm-board` skill and read its `references/worker.md`. Join now, with this line verbatim: `<S> join --run <run id> --seat <vN> --doing "joining" --as <topic>/<vN>`; each verify phase's message scopes your pass.

    With a prototype or an architecture phase given to seats, their members too, no isolation, unless the charter gives the phase to you: a prototyper on the plugin's prototyper agent (subagent_type: "swarmstorm:prototyper"), an architect on its architect agent (subagent_type: "swarmstorm:architect"):

    You are the <prototyper | architect> `<pN | aN>` of task swarm run `<run id>` on `<repository>`, protocol `<protocol>` with a <prototype | architecture> phase, reading the code on `<branch>`. Load the `swarm-board` skill and read its `references/worker.md`. Join now, with this line verbatim: `<S> join --run <run id> --seat <pN | aN> --doing "joining" --as <topic>/<pN | aN>`; the phase's message gives your scope.

Giving work

  • One post per task, to one worker: $S post "@w2 <the task>" --as <topic>/orchestrator. A task says what to do, the context the worker lacks (the files, the decisions already taken, what not to touch), and done when (a command that exits 0, or what is observed).
  • Split so workers do not collide: different files where you can; two tasks on one file are one task, or the workers settle it on the board.
  • The person keeps giving work: each request becomes tasks for the workers waiting; a worker's report frees it for the next.

A report

Read it and acknowledge it at once in one post to its worker (@wN received, or what to fix); a worker that hears nothing does not know the task is closed. Re-run its done-when yourself on the merged branch before you tell the person it is done. A finding is weighed as the orchestrate skill's Findings says. Tell the person, in a few lines, what landed.

Under build-verify

The phases, the verify message, the judged table and the loop are the protocol's: the orchestrate skill's references/protocols/build-verify/protocol.md, read before the first phase. A task is posted as above; build 1 holds the work asked, every later build the judged table's rows that stand.

With a prototype or an architecture phase

Each phase, its seats and when it reopens are the orchestrate skill's references/prototype-phase.md and references/architecture-phase.md, read before the first phase; the prototype runs first when both. The protocol's phases then run as above, every task quoting the accepted architecture's entries and citing the prototype's screens it builds.

Closing

When the person says so, or propose it once every worker waits and nothing is left: $S close --run <run>. Then the summary: what each task delivered, the branch and its commits, and the choice that is the person's, a pull request or a merge into their branch. Never delete a branch.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.