skills/golem-powers/cursor-multitask/SKILL.md
Route fan-out / parallel work to the RIGHT engine: Cursor /multitask (in-editor GUI), headless cursor-agent shell fan-out, the Claude Workflow tool, or the cmux fleet. Use when a task decomposes into independent parallel units (classify N files, audit M things, write tests+docs+examples, parallel verification passes), or when deciding 'should this be parallelized and by whom'. Triggers: multitask, /multitask, parallel agents, fan out, in parallel, all of these, batch classify, parallel audit. NOT for: a single coherent edit, sequentially dependent steps, or spawning visible multi-vendor workers (use cmux-agents).
npx skillsauth add etanhey/golems cursor-multitaskInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Encoded-preference skill. Picks the right parallelism engine for a fan-out task. The expensive mistake is reaching for an in-editor GUI feature when a headless, deterministic, observable fan-out is what the task actually needs.
Cursor /multitask is an in-EDITOR (GUI) slash command. It is NOT invocable from the headless cursor-agent CLI. (Verified 2026-06-05 on Cursor 3.3.2 / cursor-agent 2026.06.04: absent from cursor-agent --help, no flag. In -p print mode the /multitask text is passed through as a PLAIN PROMPT to a single agent — transcript JSONL confirms one thread, zero subagents — and the model answers all the parts inline while claiming "ran in parallel." It looks like it worked. It didn't.) So if you are an orchestrator running in a terminal/cmux and you want parallelism, /multitask is not your tool — it requires a human sitting in the Cursor Agents Window. Use headless shell fan-out, the Workflow tool, or the cmux fleet instead.
When Etan asks for "a prompt" for the Cursor GUI /multitask:
"Read X first" is for agent dispatch briefs only, not for GUI prompts Etan pastes himself.Evidence: corrected twice in 3 min — "I am using the gui, give me a full fucking prompt" (ea8514a2 [950]).
838/47/29-class numbers corrupted census synthesis twice.read_screen, collab, PR activity) before spawning a duplicate; duplicate auditors overwrite originals.wait_for, file contracts, or cron with live-query-first frames (/cron-payload-discipline).| Task shape | Engine | Why |
|------------|--------|-----|
| Human is in the Cursor editor, wants the foreground free, has independent prompts | Cursor /multitask | Async subagents, Agents-panel visualization, shared parent context/rules/MCP, results aggregate back. v0 — no conflict locking; keep tasks read-heavy or non-overlapping. |
| Headless / scripted / CI / orchestrator-in-terminal, N independent units, want determinism + token accounting | Headless cursor-agent shell fan-out (& + wait, or find \| while read) | You control concurrency, capture per-agent usage tokens via --output-format json, exit codes. ~2x wall-clock on 3 tasks (measured: 14s vs 28s). |
| Inside a Claude session, work decomposes into independent subtasks, want the parent to make the parallelism call | Claude Workflow tool / superpowers:dispatching-parallel-agents | Implicit fan-out, subagents share plan/rate-limit, summaries return to parent. Best when you want Claude to decide what's parallel. |
| Need visible, multi-vendor workers (Cursor + Codex + Gemini side-by-side), long-running, human-watchable | cmux fleet (/cmux-agents, repoGolem launchers) | Etan wants to SEE agents working. Multi-vendor, persistent, monitorable. Heavier setup. |
| Single coherent edit, OR step B needs step A's output | None — run serially in one agent | Parallelism wastes tokens on work that gets redone. |
/multitask = explicit: you list the prompts (||| separator), you know what's parallel./multitask (GUI only)Cmd+Shift+P → Agents Window (or the agent input dropdown)./multitask, then your prompts separated by |||:
/multitask Write tests for auth ||| Write docs for auth ||| Run the type checkermodel: opus / model: parent / disabled), concurrency cap, cost ceiling. Flags reported by users: /multitask --max 3, /multitask --budget 50000, /multitask --resume. Default subagent model is the Composer family (e.g. composer-2-fast) unless overridden or Max Mode is on./multitask (blast radius capped at one fan-out level). Default 10-min per-subagent timeout. NOT scriptable, NOT headless.cursor-agent shell fan-out (the orchestrator's tool)# N independent units in parallel; capture per-agent tokens + exit codes
for item in "$@"; do
cursor-agent -p --force --output-format json \
"Classify $item as POSITIVE/NEGATIVE, one word" > "out.$item.json" &
done
wait
# each out.*.json has .result and .usage.{inputTokens,outputTokens}
--force/--yolo is REQUIRED non-interactively (bypasses workspace-trust + approval prompts).--output-format json → structured result + usage token accounting; stream-json for live progress.& you launch (add a semaphore/xargs -P N to cap). Deterministic, CI-safe./superpowers:dispatching-parallel-agents when you have 2+ independent, no-shared-state tasks and want Claude to fan them out. Subagents return summaries to the parent; counts against your plan rate limit, not usage billing./cmux-agents. Use when the human wants to watch heterogeneous workers. See also /agent-routing (Cursor=gather, Codex=implement, Claude=orchestrate)./multitask" — the slash command is not recognized; the text degrades to a plain prompt handled by ONE agent that may falsely report it parallelized. Success-looking output ≠ subagents ran. This is the #1 misroute this skill exists to prevent./multitask v0 has no write-conflict locking — keep parallel writes to disjoint files, or prefer worktrees (Cursor's own worktree feature, or headless fan-out into separate dirs).--max/--budget (GUI) or a -P semaphore (headless)./multitask, the when-to-use matrix routing rules, the headless fan-out recipe (B), the measured 2x wall-clock figure, and the "headless agents silently ignore /multitask" gotcha.cursor-agent --help dumps, per-run token JSON blobs, intermediate timing experiments, exact subagent model enum lists (they churn between Cursor versions — re-verify against --help / changelog when needed)./multitask ever gains a headless CLI surface (cursor-agent --help | grep -i multitask). If it does, update the matrix./agent-routing — decides Cursor vs Codex vs Claude by task TYPE (gather/implement/orchestrate). This skill decides the PARALLELISM ENGINE once you know it's a fan-out. Use together./cmux-agents — the visible-fleet implementation referenced in row 4./superpowers:dispatching-parallel-agents — the Claude Workflow-tool path (row 3).tools
The human-eval UX contract for Phoenix views: turn-by-turn scrollable replay (not a scorecard), hide-but-copyable IDs, collapsed thinking, identity chips, tool filters, tiny frozen starter datasets, mark-wrong-in-thread, mobile-first. Use when: building or reviewing ANY Phoenix/eval view, annotation UI, session replay, or human-grading surface. Triggers: phoenix view, eval UI, annotation view, session replay, human eval UX, grading interface. NOT for: Phoenix data pipelines/ingest (capture scripts have their own specs).
tools
macOS systems specialist — AppKit NSPanel architecture, launchd services, socket activation, MCP bridge resilience, syspolicyd, and high-frequency SwiftUI dashboards. Use when building menu-bar apps, LaunchAgents, debugging syspolicyd/Gatekeeper/TCC, resilient UDS/MCP bridges, or SwiftUI dashboards at 10Hz+.
development
Bulk LLM-judging protocol for fleet-dispatched verdict runs (KG cluster, eval harness). Use when: dispatching or running judge workers (J1/J2/RT), planning bulk-apply from verdict JSONL, or triaging evidence_degraded outputs. Triggers: judge fleet, bulk judge, R3 verdicts, kg-judge, RT gate, evidence_degraded. NOT for: single-item code review, Phoenix view UX (use phoenix-human-view), or non-judge eval pipelines.
development
Quiet-down protocol for sprint close: when the fleet wraps, delete ALL polling crons and monitors, send ONE final dashboard + ONE message, then go SILENT. Use when: fleet wraps, all workers done, overnight queue exhausted, sprint close, Etan asleep/away with nothing approved left. Triggers: fleet wrap, wrap the fleet, stand down, going quiet, sprint close. NOT for: mid-sprint monitoring (keep your loops), spawning a successor (use /session-handoff first).