{
  "id": "subagent-model-routing",
  "type": "loadout",
  "title": "Subagent model routing",
  "summary": "Rules for when to delegate, which model and effort each subagent gets, and a brief template, with ready subagents for Claude Code and Codex.",
  "description": "Practitioners spent autumn 2026 writing down how their lead model should delegate: the lead plans and\ndecides, cheaper tiers do bounded work, and every spawn sets model and effort on purpose. This loadout\nturns that into rules an agent can follow: a three-class routing table (mechanical, bounded, judgement),\na tripwire for when to stop doing work inline, and a brief template, because subagents only know what\nthe brief tells them. It ships three Claude Code subagents (read-only scout on Sonnet, command runner on\nHaiku, reviewer on Opus) and equivalent Codex agent TOML.\n",
  "highlights": [
    "Routing table by task class, with tier and effort for Claude Code and Codex",
    "Brief template so subagents get the facts instead of rediscovering them",
    "scout (read-only), runner (mechanical) and reviewer (never edits) subagents for Claude Code",
    "Codex .codex/agents TOML examples with model and model_reasoning_effort",
    "Tripwire rule for when the lead must stop and delegate"
  ],
  "version": "1.0.0",
  "license": "MIT",
  "author": {
    "name": "Agent Loadout",
    "url": "https://loadout.jnw-it.com"
  },
  "credits": [
    {
      "title": "@chrisbanes: subagent model and reasoning selection for Codex (gist)",
      "url": "https://gist.github.com/chrisbanes/dc1407ddd22d6e8d6c4d374b564eac9a"
    },
    {
      "title": "@Shpigford: CLAUDE.md delegation policy with a tripwire (gist)",
      "url": "https://gist.github.com/Shpigford/7c283ea5b75c02e1e96b175e603fca2e"
    },
    {
      "title": "@badlogicgames: subagent handoff fails when the parent omits the facts",
      "url": "https://x.com/badlogicgames/status/2085655394286735777"
    },
    {
      "title": "Claude Code subagents reference",
      "url": "https://code.claude.com/docs/en/sub-agents"
    },
    {
      "title": "Codex subagents",
      "url": "https://developers.openai.com/codex/subagents"
    }
  ],
  "categories": [
    "ai-agents",
    "workflow"
  ],
  "stacks": [
    "any"
  ],
  "files": [
    {
      "path": "AGENTS.md",
      "role": "instructions",
      "description": "Routing table, brief rules and when to delegate.",
      "skill": null,
      "agent": null,
      "install_to": {
        "claude-code": "AGENTS.md",
        "codex": "AGENTS.md",
        "cursor": "AGENTS.md",
        "gemini-cli": "AGENTS.md",
        "antigravity-cli": "AGENTS.md",
        "copilot": "AGENTS.md"
      },
      "raw_url": "https://loadout.jnw-it.com/raw/subagent-model-routing/1.0.0/AGENTS.md",
      "raw_latest_url": "https://loadout.jnw-it.com/raw/subagent-model-routing/latest/AGENTS.md",
      "bytes": 2501,
      "lang": "markdown",
      "content": "# AGENTS.md: subagent delegation and model routing\n\nThe lead session plans, decides and talks to the human. Subagents do bounded work. Pick the cheapest model\nand effort that can do each assignment well, and say so explicitly every time you spawn one.\n\n## Classify each assignment before spawning\nClassify the work you are delegating now, not the parent ticket. Choose the tier directly; do not trial-run tiers.\n\n| Class | Examples | Tier | Effort |\n|---|---|---|---|\n| Mechanical | run tests and report, grep for a known symbol, rename from an exact list, format, capture screenshots | small (Claude: `haiku`; Codex: the fast/mini model) | low |\n| Bounded | implement one ticket with clear acceptance criteria, write tests for one module, summarise 5–20 files | mid (Claude: `sonnet`; Codex: default model) | medium–high |\n| Judgement | architecture, debugging across modules, conflicting evidence, security or data-loss risk, final review | top (Claude: `opus`; Codex: strongest model on the plan) | high–xhigh |\n\n- If getting it slightly wrong is cheap to catch, use the lower tier.\n- Never downgrade the human's chosen lead model. Routing applies to subagents only.\n- Reassess when a subagent's work changes materially. Do not restart a working subagent only to change its tier.\n\n## Write a full brief\nSubagents start without your conversation. They know only what you put in the brief. Every brief contains:\n1. Goal in one sentence, and why it matters.\n2. Exact paths, symbols, commands and constraints. Paste the facts you already found; do not make it rediscover them.\n3. What it must not touch.\n4. Definition of done: the command that must pass or the question that must be answered.\n5. Output format: what to return and how long (for example \"a list of file:line findings, max 15 lines\").\nUse the `delegate-task` skill to write the brief.\n\n## When to delegate, when not to\n- Delegate broad reading (more than ~5 files) so raw file contents stay out of the lead context.\n- Delegate independent tasks in parallel, in one message. Never run two writers on the same files at once.\n- Do small, sequential work yourself: a one- or two-file change at a known location costs more to brief than to do.\n- Tripwire: if a change will touch three or more files, or needs a browser, stop and delegate.\n\n## After a subagent returns\n- Read its report; spot-check one claim against the code before relying on it.\n- Reviewers never edit what they review. If a review finds problems, a writer fixes them.\n"
    },
    {
      "path": "CLAUDE.md",
      "role": "adapter",
      "description": "Imports AGENTS.md for Claude Code.",
      "skill": null,
      "agent": "claude-code",
      "install_to": {
        "claude-code": "CLAUDE.md",
        "codex": null,
        "cursor": null,
        "gemini-cli": null,
        "antigravity-cli": null,
        "copilot": null
      },
      "raw_url": "https://loadout.jnw-it.com/raw/subagent-model-routing/1.0.0/CLAUDE.md",
      "raw_latest_url": "https://loadout.jnw-it.com/raw/subagent-model-routing/latest/CLAUDE.md",
      "bytes": 378,
      "lang": "markdown",
      "content": "# CLAUDE.md\n\n@AGENTS.md\n\n## Claude Code notes\n- Skills from this loadout live in `.claude/skills/`: `delegate-task`. Use them when their description matches the task.\n- Follow AGENTS.md above; where this file and AGENTS.md disagree, AGENTS.md wins.\n\n<!-- From the Agent Loadout \"Subagent model routing\" v1.0.0 — https://loadout.jnw-it.com/loadouts/subagent-model-routing/ -->\n"
    },
    {
      "path": "GEMINI.md",
      "role": "adapter",
      "description": "Imports AGENTS.md for Gemini CLI.",
      "skill": null,
      "agent": "gemini-cli",
      "install_to": {
        "claude-code": null,
        "codex": null,
        "cursor": null,
        "gemini-cli": "GEMINI.md",
        "antigravity-cli": null,
        "copilot": null
      },
      "raw_url": "https://loadout.jnw-it.com/raw/subagent-model-routing/1.0.0/GEMINI.md",
      "raw_latest_url": "https://loadout.jnw-it.com/raw/subagent-model-routing/latest/GEMINI.md",
      "bytes": 379,
      "lang": "markdown",
      "content": "# GEMINI.md\n\n@./AGENTS.md\n\n## Gemini CLI notes\n- Skills from this loadout live in `.agents/skills/`: `delegate-task`. Use them when their description matches the task.\n- Follow AGENTS.md above; where this file and AGENTS.md disagree, AGENTS.md wins.\n\n<!-- From the Agent Loadout \"Subagent model routing\" v1.0.0 — https://loadout.jnw-it.com/loadouts/subagent-model-routing/ -->\n"
    },
    {
      "path": ".claude/agents/scout.md",
      "role": "subagent",
      "description": "Read-only exploration subagent on Sonnet.",
      "skill": null,
      "agent": null,
      "install_to": {
        "claude-code": ".claude/agents/scout.md",
        "codex": null,
        "cursor": null,
        "gemini-cli": null,
        "antigravity-cli": null,
        "copilot": null
      },
      "raw_url": "https://loadout.jnw-it.com/raw/subagent-model-routing/1.0.0/.claude/agents/scout.md",
      "raw_latest_url": "https://loadout.jnw-it.com/raw/subagent-model-routing/latest/.claude/agents/scout.md",
      "bytes": 553,
      "lang": "markdown",
      "content": "---\nname: scout\ndescription: Read-only codebase exploration. Use to find where something lives, how a flow works, or to summarise several files, so raw file contents stay out of the main context.\ntools: Read, Glob, Grep\nmodel: sonnet\neffort: medium\n---\n\nYou explore a codebase and report facts. You never edit files.\n\n- Answer the question in the brief, nothing more.\n- Cite every claim as `path:line`.\n- Prefer Grep/Glob to reading whole files; read only the parts you cite.\n- Return at most 20 lines: findings first, then open questions. No preamble.\n"
    },
    {
      "path": ".claude/agents/runner.md",
      "role": "subagent",
      "description": "Mechanical command runner on Haiku.",
      "skill": null,
      "agent": null,
      "install_to": {
        "claude-code": ".claude/agents/runner.md",
        "codex": null,
        "cursor": null,
        "gemini-cli": null,
        "antigravity-cli": null,
        "copilot": null
      },
      "raw_url": "https://loadout.jnw-it.com/raw/subagent-model-routing/1.0.0/.claude/agents/runner.md",
      "raw_latest_url": "https://loadout.jnw-it.com/raw/subagent-model-routing/latest/.claude/agents/runner.md",
      "bytes": 530,
      "lang": "markdown",
      "content": "---\nname: runner\ndescription: Runs a given test, lint, build or screenshot command and reports the result. Use for mechanical checks whose output is long.\ntools: Bash, Read\nmodel: haiku\neffort: low\n---\n\nYou run exactly the commands in the brief and report.\n\n- Do not edit files, install packages or change configuration.\n- Report: the command, pass or fail, and for failures the first error with `path:line` and at most 15 lines of output.\n- If a command is missing or needs approval, stop and report that instead of improvising.\n"
    },
    {
      "path": ".claude/agents/reviewer.md",
      "role": "subagent",
      "description": "Adversarial reviewer on Opus that never edits.",
      "skill": null,
      "agent": null,
      "install_to": {
        "claude-code": ".claude/agents/reviewer.md",
        "codex": null,
        "cursor": null,
        "gemini-cli": null,
        "antigravity-cli": null,
        "copilot": null
      },
      "raw_url": "https://loadout.jnw-it.com/raw/subagent-model-routing/1.0.0/.claude/agents/reviewer.md",
      "raw_latest_url": "https://loadout.jnw-it.com/raw/subagent-model-routing/latest/.claude/agents/reviewer.md",
      "bytes": 791,
      "lang": "markdown",
      "content": "---\nname: reviewer\ndescription: Adversarial review of a finished change before it is called done. Use for risky diffs, security-relevant code, data migrations and final review of multi-file work.\ntools: Read, Glob, Grep, Bash\nmodel: opus\neffort: high\n---\n\nYou review a change you did not write. You never edit files.\n\n1. Read the brief's goal and definition of done, then `git diff` against the base given in the brief.\n2. Look for: wrong behaviour, missing edge cases, broken callers, security holes, data loss, tests that do not test the change.\n3. Run the project's tests if the brief names the command.\n4. Report findings ranked by severity as `severity — path:line — problem — suggested fix`. Maximum 10.\n   Say \"No blocking issues\" if there are none. Do not pad with style nits.\n"
    },
    {
      "path": "skills/delegate-task/SKILL.md",
      "role": "skill",
      "description": "Classify, pick model and effort, and write the brief before spawning.",
      "skill": "delegate-task",
      "agent": null,
      "install_to": {
        "claude-code": ".claude/skills/delegate-task/SKILL.md",
        "codex": ".agents/skills/delegate-task/SKILL.md",
        "cursor": ".agents/skills/delegate-task/SKILL.md",
        "gemini-cli": ".agents/skills/delegate-task/SKILL.md",
        "antigravity-cli": ".agents/skills/delegate-task/SKILL.md",
        "copilot": ".agents/skills/delegate-task/SKILL.md"
      },
      "raw_url": "https://loadout.jnw-it.com/raw/subagent-model-routing/1.0.0/skills/delegate-task/SKILL.md",
      "raw_latest_url": "https://loadout.jnw-it.com/raw/subagent-model-routing/latest/skills/delegate-task/SKILL.md",
      "bytes": 1559,
      "lang": "markdown",
      "content": "---\nname: delegate-task\ndescription: Write a complete brief and pick model and effort before spawning a subagent. Use whenever you are about to delegate work to a subagent or a parallel agent.\n---\n\n# Delegate a task\n\n1. **Scope.** Write the one assignment you are delegating now. If it is really two independent jobs, make two briefs.\n2. **Classify** it with the table in AGENTS.md: mechanical, bounded or judgement. Pick tier and effort.\n3. **Pick the agent.** Claude Code: `scout` (read-only exploration), `runner` (mechanical commands), `reviewer`\n   (review), or a general-purpose agent for implementation. Codex: see `references/codex-agents.md`.\n4. **Fill the brief** below. Paste facts you already have. A brief under 5 lines is almost always missing context.\n5. **Spawn** with the model and effort set explicitly, even when they match the default.\n6. **Check** the result against the definition of done before you use it.\n\n## Brief template\n\n```\nGoal: <one sentence> because <why>.\nContext: <paths, symbols, findings so far, decisions already made>.\nDo: <steps or the ticket text>.\nDo not: <files, APIs, behaviours that are off limits>.\nDone when: <command that passes, or question answered>.\nReturn: <format and maximum length>.\nModel/effort: <tier>/<effort> — <class> because <one reason>.\n```\n\n## Parallel work\n- Spawn independent briefs in one message so they run at the same time.\n- Writers in parallel need separate files, or separate worktrees.\n- Collect all results, then integrate yourself. Do not ask one subagent to merge another's work.\n"
    },
    {
      "path": "skills/delegate-task/references/codex-agents.md",
      "role": "reference",
      "description": "Codex custom agent TOML with model and reasoning effort.",
      "skill": "delegate-task",
      "agent": null,
      "install_to": {
        "claude-code": ".claude/skills/delegate-task/references/codex-agents.md",
        "codex": ".agents/skills/delegate-task/references/codex-agents.md",
        "cursor": ".agents/skills/delegate-task/references/codex-agents.md",
        "gemini-cli": ".agents/skills/delegate-task/references/codex-agents.md",
        "antigravity-cli": ".agents/skills/delegate-task/references/codex-agents.md",
        "copilot": ".agents/skills/delegate-task/references/codex-agents.md"
      },
      "raw_url": "https://loadout.jnw-it.com/raw/subagent-model-routing/1.0.0/skills/delegate-task/references/codex-agents.md",
      "raw_latest_url": "https://loadout.jnw-it.com/raw/subagent-model-routing/latest/skills/delegate-task/references/codex-agents.md",
      "bytes": 1460,
      "lang": "markdown",
      "content": "# Codex custom agents (October 2026)\n\nCodex loads one custom agent per TOML file from `.codex/agents/` (project) or `~/.codex/agents/` (personal).\nRequired keys: `name`, `description`, `developer_instructions`. Optional: `model`, `model_reasoning_effort`.\nDefaults for every subagent go in `~/.codex/config.toml` under `[agents]`.\n\nModel names change with plans and releases. Check the model picker (`/model`) before copying names; the values\nbelow were current in October 2026 (GPT-6.1 Sol default since Codex 0.161, GPT-6 Luna for fast bounded work).\n\n```toml\n# .codex/agents/scout.toml\nname = \"scout\"\ndescription = \"Read-only exploration. Finds where things live and summarises files with path:line citations.\"\nmodel = \"gpt-6-luna\"\nmodel_reasoning_effort = \"medium\"\ndeveloper_instructions = \"\"\"\nNever edit files. Answer only the question in the brief. Cite path:line for every claim. Return at most 20 lines.\n\"\"\"\n```\n\n```toml\n# .codex/agents/reviewer.toml\nname = \"reviewer\"\ndescription = \"Adversarial review of a finished diff. Use before calling multi-file or risky work done.\"\nmodel = \"gpt-6.1-sol\"\nmodel_reasoning_effort = \"high\"\ndeveloper_instructions = \"\"\"\nReview only; never edit files. Read the diff against the base in the brief. Report up to 10 findings as\nseverity, path:line, problem, fix. Say \"No blocking issues\" if there are none.\n\"\"\"\n```\n\nEffort levels on current models: `low`, `medium`, `high`, `xhigh`. Use `low` only for mechanical work.\n"
    }
  ],
  "requires": {
    "tools": [],
    "env": [],
    "mcp": []
  },
  "tested": {
    "status": "untested",
    "last_run": null,
    "fixture": null,
    "per_agent": {
      "claude-code": "untested",
      "codex": "untested",
      "cursor": "untested",
      "gemini-cli": "untested",
      "antigravity-cli": "untested",
      "copilot": "untested"
    }
  },
  "security": {
    "scanned": true,
    "scanner": "intake-precheck/1",
    "verdict": "clean",
    "network": false,
    "scripts": []
  },
  "featured": false,
  "deprecated": false,
  "last_checked": "2026-10-17",
  "published": "2026-10-17",
  "updated": "2026-10-17",
  "compatibility": {
    "claude-code": "native",
    "codex": "native",
    "cursor": "native",
    "gemini-cli": "native",
    "antigravity-cli": "native",
    "copilot": "native"
  },
  "counts": {
    "rules": 1,
    "skills": 1,
    "mcp": 0
  },
  "url": "https://loadout.jnw-it.com/loadouts/subagent-model-routing/",
  "api_url": "https://loadout.jnw-it.com/api/loadouts/subagent-model-routing.json",
  "verification": {
    "level": "verified-install",
    "status": "verified",
    "label": "Verified install",
    "verified": true,
    "checked_at": "2026-10-17T07:47:06Z",
    "commit": "316f4bcae9d3c1f64f8f5e32a12e27e0c36f13b5",
    "content_current": true,
    "agent_tests": "not-run",
    "counts": {
      "pass": 8,
      "fail": 0,
      "skip": 0,
      "not_applicable": 2
    },
    "meaning": "Level 1: automated checks on the files (parse, install paths, MCP config, safety scan, references, size, licence, starter build). No AI agent was run.",
    "checks": [
      {
        "id": "listing",
        "name": "Listing",
        "status": "pass",
        "summary": "Schema valid; 8 files declared, none missing or extra",
        "details": [
          "tested.status: untested (agent tests are separate from Level 1)"
        ]
      },
      {
        "id": "parse",
        "name": "Files parse",
        "status": "pass",
        "summary": "All 8 files parse; front matter valid",
        "details": []
      },
      {
        "id": "adapters",
        "name": "Adapters",
        "status": "pass",
        "summary": "CLAUDE.md and GEMINI.md import AGENTS.md and are up to date",
        "details": [
          "CLAUDE.md: matches the generator",
          "GEMINI.md: matches the generator"
        ]
      },
      {
        "id": "install-paths",
        "name": "Install paths",
        "status": "pass",
        "summary": "Correct paths for all 6 agents; layouts re-discovered",
        "details": [
          "Claude Code: 7 files, 1 skill in .claude/skills/",
          "Codex CLI: 3 files, 1 skill in .agents/skills/",
          "Cursor: 3 files, 1 skill in .agents/skills/",
          "Gemini CLI: 4 files, 1 skill in .agents/skills/",
          "Antigravity CLI: 3 files, 1 skill in .agents/skills/",
          "GitHub Copilot: 3 files, 1 skill in .agents/skills/"
        ]
      },
      {
        "id": "mcp",
        "name": "MCP config",
        "status": "n/a",
        "summary": "No MCP servers in this loadout",
        "details": []
      },
      {
        "id": "safety",
        "name": "Safety scan",
        "status": "pass",
        "summary": "Clean: no credentials, risky shell or hidden text",
        "details": [
          "Scanner intake-precheck/1: verdict clean; network no (listing says no)"
        ]
      },
      {
        "id": "references",
        "name": "References",
        "status": "pass",
        "summary": "2 references between files resolve for every agent",
        "details": []
      },
      {
        "id": "size",
        "name": "Size limits",
        "status": "pass",
        "summary": "8 files, 8.0 KB total; largest AGENTS.md 2.4 KB",
        "details": [
          "Limits: 30 files, 32 KB per file, 128 KB total, 500 lines per skill or rule"
        ]
      },
      {
        "id": "licence",
        "name": "Licence",
        "status": "pass",
        "summary": "MIT, by Agent Loadout; text in the repository LICENSE",
        "details": []
      },
      {
        "id": "starter-build",
        "name": "Starter build",
        "status": "n/a",
        "summary": "Not applicable: working rules and subagent definitions with no project or code to build",
        "details": [
          "The loadout is delegation rules, three Claude Code subagent files and a Codex TOML reference; there is nothing to compile or run without a live agent session.",
          "The subagent files' front matter is still parsed and their install paths are checked.",
          "Every other Level 1 check still runs on this loadout."
        ]
      }
    ]
  },
  "install": {
    "claude-code": {
      "files": [
        {
          "path": "AGENTS.md",
          "target": "AGENTS.md",
          "raw_url": "https://loadout.jnw-it.com/raw/subagent-model-routing/1.0.0/AGENTS.md",
          "role": "instructions"
        },
        {
          "path": "CLAUDE.md",
          "target": "CLAUDE.md",
          "raw_url": "https://loadout.jnw-it.com/raw/subagent-model-routing/1.0.0/CLAUDE.md",
          "role": "adapter"
        },
        {
          "path": ".claude/agents/scout.md",
          "target": ".claude/agents/scout.md",
          "raw_url": "https://loadout.jnw-it.com/raw/subagent-model-routing/1.0.0/.claude/agents/scout.md",
          "role": "subagent"
        },
        {
          "path": ".claude/agents/runner.md",
          "target": ".claude/agents/runner.md",
          "raw_url": "https://loadout.jnw-it.com/raw/subagent-model-routing/1.0.0/.claude/agents/runner.md",
          "role": "subagent"
        },
        {
          "path": ".claude/agents/reviewer.md",
          "target": ".claude/agents/reviewer.md",
          "raw_url": "https://loadout.jnw-it.com/raw/subagent-model-routing/1.0.0/.claude/agents/reviewer.md",
          "role": "subagent"
        },
        {
          "path": "skills/delegate-task/SKILL.md",
          "target": ".claude/skills/delegate-task/SKILL.md",
          "raw_url": "https://loadout.jnw-it.com/raw/subagent-model-routing/1.0.0/skills/delegate-task/SKILL.md",
          "role": "skill"
        },
        {
          "path": "skills/delegate-task/references/codex-agents.md",
          "target": ".claude/skills/delegate-task/references/codex-agents.md",
          "raw_url": "https://loadout.jnw-it.com/raw/subagent-model-routing/1.0.0/skills/delegate-task/references/codex-agents.md",
          "role": "reference"
        }
      ],
      "manual_steps": [],
      "zip_url": "https://loadout.jnw-it.com/download/subagent-model-routing/claude-code.zip"
    },
    "codex": {
      "files": [
        {
          "path": "AGENTS.md",
          "target": "AGENTS.md",
          "raw_url": "https://loadout.jnw-it.com/raw/subagent-model-routing/1.0.0/AGENTS.md",
          "role": "instructions"
        },
        {
          "path": "skills/delegate-task/SKILL.md",
          "target": ".agents/skills/delegate-task/SKILL.md",
          "raw_url": "https://loadout.jnw-it.com/raw/subagent-model-routing/1.0.0/skills/delegate-task/SKILL.md",
          "role": "skill"
        },
        {
          "path": "skills/delegate-task/references/codex-agents.md",
          "target": ".agents/skills/delegate-task/references/codex-agents.md",
          "raw_url": "https://loadout.jnw-it.com/raw/subagent-model-routing/1.0.0/skills/delegate-task/references/codex-agents.md",
          "role": "reference"
        }
      ],
      "manual_steps": [],
      "zip_url": "https://loadout.jnw-it.com/download/subagent-model-routing/codex.zip"
    },
    "cursor": {
      "files": [
        {
          "path": "AGENTS.md",
          "target": "AGENTS.md",
          "raw_url": "https://loadout.jnw-it.com/raw/subagent-model-routing/1.0.0/AGENTS.md",
          "role": "instructions"
        },
        {
          "path": "skills/delegate-task/SKILL.md",
          "target": ".agents/skills/delegate-task/SKILL.md",
          "raw_url": "https://loadout.jnw-it.com/raw/subagent-model-routing/1.0.0/skills/delegate-task/SKILL.md",
          "role": "skill"
        },
        {
          "path": "skills/delegate-task/references/codex-agents.md",
          "target": ".agents/skills/delegate-task/references/codex-agents.md",
          "raw_url": "https://loadout.jnw-it.com/raw/subagent-model-routing/1.0.0/skills/delegate-task/references/codex-agents.md",
          "role": "reference"
        }
      ],
      "manual_steps": [],
      "zip_url": "https://loadout.jnw-it.com/download/subagent-model-routing/cursor.zip"
    },
    "gemini-cli": {
      "files": [
        {
          "path": "AGENTS.md",
          "target": "AGENTS.md",
          "raw_url": "https://loadout.jnw-it.com/raw/subagent-model-routing/1.0.0/AGENTS.md",
          "role": "instructions"
        },
        {
          "path": "GEMINI.md",
          "target": "GEMINI.md",
          "raw_url": "https://loadout.jnw-it.com/raw/subagent-model-routing/1.0.0/GEMINI.md",
          "role": "adapter"
        },
        {
          "path": "skills/delegate-task/SKILL.md",
          "target": ".agents/skills/delegate-task/SKILL.md",
          "raw_url": "https://loadout.jnw-it.com/raw/subagent-model-routing/1.0.0/skills/delegate-task/SKILL.md",
          "role": "skill"
        },
        {
          "path": "skills/delegate-task/references/codex-agents.md",
          "target": ".agents/skills/delegate-task/references/codex-agents.md",
          "raw_url": "https://loadout.jnw-it.com/raw/subagent-model-routing/1.0.0/skills/delegate-task/references/codex-agents.md",
          "role": "reference"
        }
      ],
      "manual_steps": [],
      "zip_url": "https://loadout.jnw-it.com/download/subagent-model-routing/gemini-cli.zip"
    },
    "antigravity-cli": {
      "files": [
        {
          "path": "AGENTS.md",
          "target": "AGENTS.md",
          "raw_url": "https://loadout.jnw-it.com/raw/subagent-model-routing/1.0.0/AGENTS.md",
          "role": "instructions"
        },
        {
          "path": "skills/delegate-task/SKILL.md",
          "target": ".agents/skills/delegate-task/SKILL.md",
          "raw_url": "https://loadout.jnw-it.com/raw/subagent-model-routing/1.0.0/skills/delegate-task/SKILL.md",
          "role": "skill"
        },
        {
          "path": "skills/delegate-task/references/codex-agents.md",
          "target": ".agents/skills/delegate-task/references/codex-agents.md",
          "raw_url": "https://loadout.jnw-it.com/raw/subagent-model-routing/1.0.0/skills/delegate-task/references/codex-agents.md",
          "role": "reference"
        }
      ],
      "manual_steps": [],
      "zip_url": "https://loadout.jnw-it.com/download/subagent-model-routing/antigravity-cli.zip"
    },
    "copilot": {
      "files": [
        {
          "path": "AGENTS.md",
          "target": "AGENTS.md",
          "raw_url": "https://loadout.jnw-it.com/raw/subagent-model-routing/1.0.0/AGENTS.md",
          "role": "instructions"
        },
        {
          "path": "skills/delegate-task/SKILL.md",
          "target": ".agents/skills/delegate-task/SKILL.md",
          "raw_url": "https://loadout.jnw-it.com/raw/subagent-model-routing/1.0.0/skills/delegate-task/SKILL.md",
          "role": "skill"
        },
        {
          "path": "skills/delegate-task/references/codex-agents.md",
          "target": ".agents/skills/delegate-task/references/codex-agents.md",
          "raw_url": "https://loadout.jnw-it.com/raw/subagent-model-routing/1.0.0/skills/delegate-task/references/codex-agents.md",
          "role": "reference"
        }
      ],
      "manual_steps": [],
      "zip_url": "https://loadout.jnw-it.com/download/subagent-model-routing/copilot.zip"
    }
  },
  "source_zip_url": "https://loadout.jnw-it.com/download/subagent-model-routing/source.zip"
}