delegate
Other coding agents as teammates, never blocking.
Ever wanted a second opinion from another model, or a side task done while your agent keeps going? Copying prompts from one terminal to the next gets old fast, and the other agent forgets everything between messages.
delegate turns other coding agents into teammates. The agent hands a task to Codex, Cursor, Antigravity, Gemini, the Gemini API or Claude Code, keeps working while it runs, and talks to it turn by turn. Each delegate keeps its own session, so a follow-up lands with everything it has already read.
It’s safe by default. A delegate is read-only unless it gets --write, which gives it its own git worktree, and the lead reviews the diff before anything is applied.
Install
npx skills add Fullstack-Rocks/skills --skill delegate -a claude-codenpx skills add Fullstack-Rocks/skills --skill delegate -a codexnpx skills add Fullstack-Rocks/skills --skill delegate -a cursornpx skills add Fullstack-Rocks/skills --skill delegateInstall the delegate skill from https://github.com/Fullstack-Rocks/skills by running npx skills add Fullstack-Rocks/skills --skill delegate, then use it whenever I ask you to hand work to, or get a second opinion from, another coding agent.In Claude Code, the Delegations panes are a plugin. Install it, with the skill, for every session by running /plugin install delegate --marketplace Fullstack-Rocks/skills at the prompt (in the desktop app: + next to the prompt box, Plugins, Add marketplace Fullstack-Rocks/skills, then Add plugin). delegate stands alone and needs none of the other skills, only the CLIs of the agents you delegate to, signed in.
Try saying
How does it work?
Everything runs one turn at a time. scripts/delegate.py runs the other agent headless and resumes the same session on every turn, so the delegate keeps its context.
- Plan the units. When one delegation builds on another’s work, the agent first writes a delegation plan: one unit per piece of work, with its agent, model, effort, inputs, outputs and whom they’re handed to.
delegate.py plan checkruns until it reports no problems. - Brief. The brief is written as if to a colleague with no access to the conversation: the goal, the files it needs, the constraints and what done looks like. The script adds the delegate’s rules, so the delegate does the task itself and ends on a Left open list and a
STATUS: done | question | blockedline. - Start, in the background.
delegate.py start <harness>runs the turn in the background, and the lead carries on with other work. Read-only is the default, through each harness’s own read-only mode, and--writeputs the delegate in its own git worktree on adelegate/<id>branch. - Act on the STATUS. A
questiongets answered, by the lead or by you, ablockedcomes to you, and adoneis accepted against what the next unit needs. For a--writedelegation the lead readsdifffirst, anddiff --applybrings the changes into the checkout. - Send back, reassign or accept. Every gap and every Left open item gets one decision: back to the same delegate, which still has its context, to another agent with the right strength, or accepted with the reason.
- Close. Once the next unit has accepted the work,
closeremoves the worktree and branch and keeps the transcript.
A message sent mid-turn waits its turn. Files, folders and images go along with --attach or @path, and the model, effort and speed are picked per delegate.
So where do you watch? In Claude Code, the skill folder is also a plugin with two panes. Delegations lists every chat grouped by project, and each chat opens in a tab of its own: its stream with each provider’s logo, replies as markdown, thinking and tool output that fold, and a box to write to the delegate yourself. /delegations opens them. Other hosts get the same panel as an MCP App from scripts/mcp_server.py.
Everything is plain files in .delegate/<id>/ in your repo, kept out of git: the stream in both directions, the last reply and the queue.
Here’s how each harness runs, and how it stays read-only:
codex
runs codex exec --json, resumed by thread
read-only sandbox_mode="read-only"
cursor
runs cursor-agent -p --output-format stream-json
read-only --mode ask
antigravity
runs agy --output-format stream-json
read-only --mode plan
gemini
runs gemini -o stream-json
read-only --approval-mode plan
gemini-api
runs gemini-api generate --output-format json,
continued by interaction
read-only always: a model with no tools
claude
runs claude -p --output-format stream-json
read-only edit tools disallowedBut does it work?
Benchmark
What does a team of other agents cost?
Claude Code led an invented luxury agency’s whole job and handed every piece to another agent: research to Antigravity, client profiles, homepage designs and photographs to Codex, identity and photographs to Antigravity with Nano Banana, three websites to Claude Opus 5.5, an independent review to Grok 4.7 in Cursor, and the fixes back to Codex and Opus. That came to 31 runs, three at a time, about 4½ agent-hours and 3M fresh input tokens, and $9.48 on the one harness that reports a price. The write-up, the three websites and everything the agents made are on the demo site, fullstack-rocks.github.io/skills/maison-lumen.