---
name: subagent-orchestrator
risk: safe
source: community
description: Coordinate quota-aware parallel subagents for large, multi-file Antigravity tasks.
version: 1.0.0
author: community
tags: [subagents, orchestration, quota, parallel, multi-agent]
---

# Subagent Orchestrator

A quota-aware, parallel subagent coordination skill for Antigravity 2.0. Turns one big task into a set of isolated, efficient agent missions — without burning your weekly quota.

---

## Use this skill when
- A task spans 3+ files or components
- You want multiple agents working at the same time
- You've hit quota issues mid-task before
- The task involves both planning AND building
- You need browser agent + code agent + terminal agent running together

## Do not use this skill when
- Editing a single file or fixing one bug
- Writing a quick script under 50 lines
- Asking a question or generating a plan only

---

## Phase 1 — DECOMPOSE (before any agent runs)

Before spawning any subagent, the orchestrator MUST produce a Mission Brief. Announce:
> "Running subagent-orchestrator skill. Decomposing task into isolated missions."

Then output a Mission Brief in this format:

```
MISSION BRIEF
─────────────────────────────────────────
Goal: [one sentence, what done looks like]
Total Agents: [N]
Quota Strategy: [FLASH / SONNET / MIXED]
Expected Token Cost: [LOW / MEDIUM / HIGH]

AGENTS:
[1] ID: agent-001
    Role: [e.g. Planner / Builder / Tester / Browser]
    Scope: [exact files or URLs this agent touches]
    Model: [Gemini Flash / Claude Sonnet]
    Input: [what it receives]
    Output: [what it produces]
    Depends on: [none / agent-001]

[2] ...
─────────────────────────────────────────
```

**Wait for user to approve the Mission Brief before proceeding.**
If the user edits it, update and re-confirm. Never skip this step.

---

## Phase 2 — QUOTA ROUTING

Before assigning models, apply this decision tree:

```
Is this task > 20 files OR > 500 lines of new code?
  YES → Use Gemini Flash for all agents. Reserve Sonnet for final review only.
  NO  → Is this task creative UI / complex logic / API design?
          YES → Use Sonnet for builder agent, Flash for all others.
          NO  → Use Gemini Flash for everything.
```

**Model cost rules (never violate these):**
- Claude Opus → NEVER use in subagents. Too expensive.
- Claude Sonnet → Max 1 subagent per mission.
- Gemini Flash → Default for all subagents. Fast, cheap, separate quota pool.
- Browser subagent → Always runs on its own pool. Use sparingly (1 per mission max).

---

## Phase 3 — CONTEXT ISOLATION

Each subagent gets a scoped context packet. Never give all agents the full codebase.

For each agent, prepare:
```
AGENT CONTEXT PACKET — agent-[ID]
Files to read: [list only what this agent needs]
Files to write: [list only what this agent will create/edit]
Do NOT read: [explicitly exclude irrelevant files]
Knowledge: [paste only the relevant section of GEMINI.md]
```

Rule: If an agent doesn't need `node_modules`, `package-lock.json`, `.next/`, or `dist/` — add them to a `.antigravityignore` before the agent runs.

---

## Phase 4 — PARALLEL EXECUTION

Spawn agents in dependency order:

```
Round 1 (no dependencies): Run agents in parallel
Round 2 (depends on Round 1): Wait for all Round 1 outputs, then run
Round 3 (final): Integrate + verify
```

Between rounds, the orchestrator MUST:
1. Collect each agent's output artifact
2. Run a 3-point spot check:
   - Did the agent stay within its assigned scope?
   - Are there any import/export conflicts with other agents' outputs?
   - Did any agent produce a placeholder ("TODO", "implement later")?
3. If any check fails → re-run that agent with corrected context. Do NOT continue.

---

## Phase 5 — ERROR RECOVERY

If a subagent fails or produces broken output:

```
RECOVERY PROTOCOL
─────────────────────────────────────────
1. Do NOT re-run the full mission.
2. Identify the exact failure point.
3. Spawn a single repair agent with:
   - Only the broken file(s) as scope
   - The error message as context
   - Model: Gemini Flash (cheapest for repairs)
4. Validate the repair before continuing.
─────────────────────────────────────────
```

Never cascade a broken output to the next agent. Always fix before moving forward.

---

## Phase 6 — INTEGRATION CHECK

After all agents complete, run a final integration sweep:

- [ ] All imports resolve correctly
- [ ] No duplicate function/variable names across files
- [ ] No hardcoded values that should be env variables
- [ ] No `console.log` left in production files
- [ ] Types are consistent across components (TypeScript)
- [ ] Build would succeed (`npm run build` mentally verified)

If any check fails, spawn one final repair agent scoped to the exact issue.

---

## Quota Monitoring Rules

Track estimated usage throughout the mission:

| Event | Quota Impact |
|-------|-------------|
| Agent spawned | LOW (setup) |
| File indexed (each) | LOW |
| Tool call (file read/write) | MEDIUM |
| Terminal command | MEDIUM |
| Browser subagent activated | HIGH |
| Thinking mode enabled | VERY HIGH |

If estimated usage crosses 60% of sprint quota mid-mission:
- Pause and report: "Quota checkpoint: ~60% of sprint used. Continue or defer remaining agents?"
- Switch remaining agents to Gemini Flash
- Disable browser subagent if not yet started

---

## Communication Rules

- Announce which agent is running at all times
- Show a compact progress bar between rounds:
  ```
  Mission Progress: ████████░░ 4/5 agents complete
  Quota Status: ▓▓▓▓░░░░░░ ~40% sprint used
  ```
- Never go silent for more than one agent turn
- If blocked, say why explicitly — never just stop

---

## Examples

See `examples/` folder:
- `nextjs-feature.md` — Building a full Next.js feature with 3 parallel agents
- `api-plus-frontend.md` — Backend API agent + Frontend UI agent running in parallel
- `debug-mission.md` — Repair mission for a broken build using minimal quota

## Limitations

- This skill coordinates agent planning; it does not provide a runtime scheduler or enforce quota limits automatically.
- Parallel agents still need explicit scoping, review, and integration by the parent agent.
- Do not use it when a single focused edit or direct answer would be faster and clearer.
