# delegate

_Other coding agents as teammates, never blocking._

> Source: https://fullstack.rocks/skills/delegate
> Code: https://github.com/Fullstack-Rocks/skills/tree/main/skills/delegate

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**

Claude Code:

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

Codex:

```shell
npx skills add Fullstack-Rocks/skills --skill delegate -a codex
```

Cursor:

```shell
npx skills add Fullstack-Rocks/skills --skill delegate -a cursor
```

Any agent:

```shell
npx skills add Fullstack-Rocks/skills --skill delegate
```

Prompt, to paste into your agent:

> Install 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**

- Have Codex build the API and Cursor the client, in parallel.

## 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
```

```mermaid
flowchart TD
  B[Brief<br/>goal, files, what done looks like] --> S[start, in the background<br/>codex · cursor · antigravity<br/>gemini · gemini-api · claude]
  S --> T{STATUS line}
  T -->|question| Q[Answer it<br/>send, same session]
  Q --> S
  T -->|blocked| U[Tell you what blocks it]
  T -->|done| D[Accept: read the files,<br/>diff, then diff --apply]:::hi
  D --> C[close<br/>the transcript stays]
  classDef hi fill:var(--highlight),stroke:var(--highlight),color:var(--on-highlight)
```

_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.](https://storage.googleapis.com/fullstack-rocks-media/skill-delegate-proof.svg)

## The other skills

**The other skills**

- [under-engineering](https://fullstack.rocks/skills/under-engineering)
- [um-maybe](https://fullstack.rocks/skills/um-maybe)
- [under-engineering-review](https://fullstack.rocks/skills/under-engineering-review)
- [call-depth](https://fullstack.rocks/skills/call-depth)
- [code-standards](https://fullstack.rocks/skills/code-standards)
- [readable-diagrams](https://fullstack.rocks/skills/readable-diagrams)
