-
Notifications
You must be signed in to change notification settings - Fork 192
Add swarm skill to pstack #180
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,46 @@ | ||
| --- | ||
| name: swarm | ||
| description: "Fan out N parallel workers, drain them, and return one report. Use for /swarm, 'swarm this', or parallel coverage, races, gauntlets, and exploration." | ||
| disable-model-invocation: true | ||
| --- | ||
|
|
||
| # Swarm | ||
|
|
||
| Fan out N parallel cloud workers. They may cover separate slices, race the same brief, or mix both. The parent waits, aggregates, and returns one report. | ||
|
|
||
| ## Start | ||
|
|
||
| Open a todolist with one entry per phase before launching anything. | ||
|
|
||
| 1. Frame | ||
| 2. Fan out | ||
| 3. Aggregate | ||
| 4. Report | ||
|
|
||
| ## Phase A: Frame | ||
|
|
||
| 1. State the done predicate and the artifact or report the swarm must return. | ||
| 2. Choose the shape. Partition into slices, race N workers on identical briefs, or mix both. For a race or mixed shape, declare `first pass`, `rank all`, or `best-of` before spawning. | ||
| 3. Set N from the user or derive it from the shape. N is total workers, not the cloud concurrency limit. | ||
| 4. Pick the worker model from `swarm workers` in `~/.cursor/rules/pstack-models.mdc` when present. Otherwise use `grok-4.5-fast-xhigh`. For a model race, name each arm's model up front. | ||
| 5. Give each worker its own writable output when it writes. Use a worktree, branch, or `/tmp/swarm-<slug>/worker-<n>/`. | ||
|
|
||
| ## Phase B: Fan out | ||
|
|
||
| Spawn all N workers in one message with `subagent_type: generalPurpose`, `environment: "cloud"`, `run_in_background: true`, and the configured model. Use `environment: "local"` only when the worker needs access to something on the user's computer. | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Model race uses one shared modelMedium Severity · Logic Bug Phase A allows specifying distinct models for each arm in a model race, but Phase B instructs the parent to spawn all workers with 'the configured model'. This overrides the per-arm model selection, causing model races to silently run with identical models and defeating the purpose of the race. Reviewed by Cursor Bugbot for commit 866bab6. Configure here. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Cloud workers get local output pathsMedium Severity · Logic Bug Frame tells writers to isolate via a worktree or Reviewed by Cursor Bugbot for commit 866bab6. Configure here. |
||
|
|
||
| When a worker must start from a non-default pushed branch, pass `cloud_base_branch`. | ||
|
|
||
| Every brief stands alone. Include the goal, scope, exact slice or race arm, how to verify, and what to report. Reports use `PASS`, `ISSUES`, or `BLOCKED` with evidence. | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Worker briefs omit output pathsMedium Severity · Logic Bug Phase A assigns each worker its own writable output, but the Phase B stand-alone brief checklist never includes that path. Unlike Reviewed by Cursor Bugbot for commit 866bab6. Configure here. |
||
|
|
||
| If a worker drops out, proceed with N-1 and note it. | ||
|
cursor[bot] marked this conversation as resolved.
|
||
|
|
||
| ## Phase C: Aggregate | ||
|
|
||
| Read the terminal results. For coverage, every required slice needs a result. For a race, apply the selection rule declared up front. Use first pass, rank all, or best-of. Do not paste raw worker dumps. | ||
|
cursor[bot] marked this conversation as resolved.
|
||
|
|
||
| Keep a compact result table, one-line evidenced issues, and explicit gaps or dropouts. | ||
|
|
||
| ## Phase D: Report | ||
|
|
||
| Return one consolidated in-chat report with the table, issue one-liners, gaps or dropouts, and the race rule when used. | ||


Uh oh!
There was an error while loading. Please reload this page.