orchestrate
Orchestrate
An explicit /orchestrate <goal> fans out a large task across parallel Cursor cloud agents. Workers don't talk to each other; they talk up through structured handoffs. The spawn, wait, and handoff loop lives in scripts/cli.ts. The planner writes plan.json, the script executes it, and the planner reads handoffs to decide what comes next. Long-running agent loops drift; a script with a JSON state file keeps its footing.
Required reading: the cursor-sdk skill (cursor/plugins/cursor-sdk). Spawning, auth, and the error taxonomy live there. Don't reimplement what that skill already documents.
Setup
CURSOR_API_KEYmust be a personal/user key. Create it from Cursor Dashboard > Integrations, then readcursor-sdkAuth before using it.SLACK_BOT_TOKENis optional. When set, pass--slack-channel <id>tokickoffor the firstrun --root, or setSLACK_CHANNEL_ID. The script stores the channel inplan.slackChannel, posts the kickoff thread there, mirrors task status, and reads Andon reactions. When the token is unset, the script logs once and runs without Slack visibility; correctness does not change.
Core principles
These rules make the tree self-converging without global coordination.
- Planners own scopes and publish tasks. They do no coding. Writing
plan.json, reading handoffs, and deciding what's next are planner work. Editing files, runninggit merge, and fixing conflicts inline are not. If a planner feels the urge to code, it publishes a task for a worker instead. - Planners don't know who picks up their tasks. The script routes each task to a cloud agent. The planner's mental model stays at the task level.
- Workers are isolated. One task, one clone of the repo, no channel to any other agent. One handoff when done.
- Subplanners are recursive planners. A planner publishes a "subplan this slice" task; the subplanner fully owns that slice and hands back an aggregated handoff.
More from cursor/plugins
deslop
Remove AI-generated code slop and clean up code style
270fix-merge-conflicts
Resolve merge conflicts non-interactively, validate build and tests, and finalize conflict resolution
113continual-learning
Orchestrate continual learning by delegating transcript mining and AGENTS.md updates to `agents-memory-updater`.
85ralph-loop
Start a Ralph Loop for iterative self-referential development. Use when the user asks to run a ralph loop, start an iterative loop, or wants repeated autonomous iteration on a task until completion.
50check-compiler-errors
Run compile and type-check commands and report failures
48get-pr-comments
Fetch and summarize review comments from the active pull request
45