/cursor-multitask
Route fan-out / parallel work to the RIGHT engine: Cursor /multitask, headless cursor-agent, Claude Workflow, or cmux. Triggers: multitask, /multitask, parallel agents, fan out, in parallel, batch classify/audit. NOT for one edit or dependent steps.
$ golems-cli skills install cursor-multitaskUpdated 2 weeks ago
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.
TL;DR — the one decision
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.
GUI prompt contract (when Etan asks for "a prompt")
When Etan asks for "a prompt" for the Cursor GUI /multitask:
- Deliver ONE complete self-contained paste-ready inline text — the full prompt in chat, ready to paste.
- No file indirection — no "Read X first", no prompt packs, no path references he must open separately.
"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 prompt" (paraphrased; ea8514a2 [950]).
Dispatch hygiene (orchestrator-written worker prompts)
- Never hardcode file-derived numbers into async worker prompts (counts, baselines, finding totals). Instruct workers to read the file — stale
838/47/29-class numbers corrupted census synthesis twice. - Validate scope/ownership with the human BEFORE expensive per-repo fan-out — confirm repos/domains in scope; don't burn a full cmux fork audit on out-of-scope repos.
- Slow ≠ stalled — read why a worker is slow (
read_screen, collab, PR activity) before spawning a duplicate; duplicate auditors overwrite originals. - Never mandate sleep-poll loops in dispatched prompts — use
wait_for, file contracts, or cron with live-query-first frames (/cron-payload-discipline).
Full SKILL.md source — includes LLM directives, anti-patterns, and technical instructions stripped from the Overview tab.
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.
TL;DR — the one decision
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.
GUI prompt contract (when Etan asks for "a prompt")
When Etan asks for "a prompt" for the Cursor GUI /multitask:
- Deliver ONE complete self-contained paste-ready inline text — the full prompt in chat, ready to paste.
- No file indirection — no "Read X first", no prompt packs, no path references he must open separately.
"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 prompt" (paraphrased; ea8514a2 [950]).
Dispatch hygiene (orchestrator-written worker prompts)
- Never hardcode file-derived numbers into async worker prompts (counts, baselines, finding totals). Instruct workers to read the file — stale
838/47/29-class numbers corrupted census synthesis twice. - Validate scope/ownership with the human BEFORE expensive per-repo fan-out — confirm repos/domains in scope; don't burn a full cmux fork audit on out-of-scope repos.
- Slow ≠ stalled — read why a worker is slow (
read_screen, collab, PR activity) before spawning a duplicate; duplicate auditors overwrite originals. - Never mandate sleep-poll loops in dispatched prompts — use
wait_for, file contracts, or cron with live-query-first frames (/cron-payload-discipline).
WHEN-TO-USE MATRIX
| 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. |
Explicit vs implicit (the control axis)
/multitask= explicit: you list the prompts (|||separator), you know what's parallel.- Workflow tool / Claude subagents = implicit: you hand a high-level task, the agent decides the split.
- Pick explicit when you already know the independent units; implicit when delegating the decomposition itself.
INVOCATION RECIPES
A. Cursor /multitask (GUI only)
- Open the Agents Window:
Cmd+Shift+P → Agents Window(or the agent input dropdown). - Type
/multitask, then your prompts separated by|||:/multitask Write tests for auth ||| Write docs for auth ||| Run the type checker - Each prompt becomes its own async subagent (own context window, own system prompt, shared parent rules/MCP). Watch them in the Agents panel; results aggregate back to the parent thread.
- Controls (Settings → Subagents): Explore-subagent model (
model: 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. - Gotchas: v0 — no automatic write-conflict locking (Cursor's words: agents "done a pretty good job" but nothing formal). Subagents cannot nest another
/multitask(blast radius capped at one fan-out level). Default 10-min per-subagent timeout. NOT scriptable, NOT headless.
B. 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/--yolois REQUIRED non-interactively (bypasses workspace-trust + approval prompts).--output-format json→ structuredresult+usagetoken accounting;stream-jsonfor live progress.- Concurrency = how many
&you launch (add a semaphore/xargs -P Nto cap). Deterministic, CI-safe.
C. Claude Workflow tool / parallel subagents
- Invoke
/superpowers:dispatching-parallel-agentswhen 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.
D. cmux fleet (visible multi-vendor)
- Invoke
/cmux-agents. Use when the human wants to watch heterogeneous workers. See also/agent-routing(Cursor=gather, Codex=implement, Claude=orchestrate).
GOTCHAS / ANTI-PATTERNS
- Do NOT tell a headless agent or a terminal orchestrator to "use
/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. - Do NOT parallelize sequentially-dependent steps — wasted tokens.
/multitaskv0 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).- Each subagent ≈ one parent-context-window of overhead. On usage-based pricing this adds up — cap with
--max/--budget(GUI) or a-Psemaphore (headless). - Discovery-then-change pattern: fan out the discovery phase (read-heavy, naturally parallel), then make the changes in a single agent holding the whole picture.
Compact Instructions
- Preserve: the GUI-only verdict for
/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. - Discard: raw
cursor-agent --helpdumps, 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). - Re-verify on Cursor version bump: whether
/multitaskever gains a headless CLI surface (cursor-agent --help | grep -i multitask). If it does, update the matrix.
Integration Points
/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).
Best Pass Rate
93%
Opus 4.6
Assertions
14
5 models tested
Avg Cost / Run
$0.1680
across models
Fastest (p50)
2.5s
Haiku 4.5
Behavior Evals
Phase 2 baseline — skill quality on ClaudeBehavior Baseline
Adapter Evals
Phase 2C — cross-AI portabilityAdapter Portability
| Assertion | Opus 4.6 | Sonnet 4.6 | Haiku 4.5 | Codex | Cursor | Consensus |
|---|---|---|---|---|---|---|
| rejects_multitask_headless | 5/5 | |||||
| routes_to_headless_or_workflow | 4/5 | |||||
| no_blind_multitask_recipe | 3/5 | |||||
| recommends_multitask | 4/5 | |||||
| mentions_separator | 4/5 | |||||
| rejects_parallel | 4/5 | |||||
| recommends_serial | 4/5 | |||||
| routes_to_cmux | 3/5 | |||||
| not_multitask | 4/5 | |||||
| routes_to_headless | 5/5 | |||||
| mentions_exit_or_json | 5/5 | |||||
| not_multitask_ci | 5/5 | |||||
| distinguishes_axes | 2/5 | |||||
| references_agent_routing | 5/5 |
Token Usage
Cost per Run
| Model | Input Tokens | Output Tokens | Cost / Run | Cost / 1K Runs |
|---|---|---|---|---|
| Opus 4.6 | 10,041 | 6,512 | $0.6390 | $639.00 |
| Sonnet 4.6 | 1,463 | 1,953 | $0.0337 | $33.70 |
| Haiku 4.5 | 3,030 | 3,719 | $0.0054 | $5.40 |
| Codex | 4,146 | 2,866 | $0.0781 | $78.10 |
| Cursor | 3,451 | 4,382 | $0.0839 | $83.90 |
Response Time (p50)
Response Time (p95)
| Model | p50 | p95 | Overhead |
|---|---|---|---|
| Opus 4.6 | 4.0s | 6.8s | +71% |
| Sonnet 4.6 | 2.9s | 5.8s | +97% |
| Haiku 4.5 | 2.5s | 4.3s | +71% |
| Codex | 6.5s | 11.7s | +78% |
| Cursor | 3.0s | 5.8s | +95% |
Last evaluated: 2026-03-12 · Data is generated from skill assertions (real cross-model benchmarks coming soon)
Changelog entries are derived from eval runs and skill version updates. Full cascading changelog (Phase 4D) coming soon.
Best Pass Rate
93%
Assertions
14
Models Tested
5
Evals Run
6
- +Initial release to Golems skill library
- +14 assertions across 6 eval scenarios