fullstack.rocks/skills

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

Terminal
npx skills add Fullstack-Rocks/skills --skill delegate -a claude-code

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.

  1. 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 check runs until it reports no problems.
  2. 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 | blocked line.
  3. 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 --write puts the delegate in its own git worktree on a delegate/<id> branch.
  4. Act on the STATUS. A question gets answered, by the lead or by you, a blocked comes to you, and a done is accepted against what the next unit needs. For a --write delegation the lead reads diff first, and diff --apply brings the changes into the checkout.
  5. 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.
  6. Close. Once the next unit has accepted the work, close removes 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 disallowed
Every turn runs in the background, and nothing reaches your checkout before the lead has read the diff.

But 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.

The Maison Lumen agency build: one brief, 31 delegated runs, 274 agent minutes. Agent time per phase: research 31 min, client profiles 16 min, homepage designs 26 min, identity and assets 125 min, websites 16 min, reviews 42 min, fixes 18 min. Tokens per agent, fresh input and output: Antigravity 1,034k and 228k over 10 runs, Codex 1,045k and 116k over 12 runs, Claude Opus 5.5 574k and 138k over 6 runs for $9.48, Grok 4.7 in Cursor 399k and 239k over 3 runs.
Open full size (opens in a new tab)

The other skills