Agent skill

Efficient Dispatch

by Necmttn in Necmttn/ax

Model-routing orchestration for any expensive frontier model (Fable, Opus, GPT-5.x) - the main model keeps judgment and Q&A review, mechanical subagent dispatches carry an explicit cheaper model…

AGPL-3.0Auto-check passedAgent Workflows

Install Efficient Dispatch

skills CLI
$ npx skills add Necmttn/ax --skill efficient-dispatch -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Necmttn/ax efficient-dispatch --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Necmttn/ax.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/efficient-dispatch .claude/skills/efficient-dispatch && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
efficient-dispatch
GitHub stars
116
Token cost
~1.9k tokens
SKILL.md length
921 words
Files
1
Skills in repo
12
Repo updated
First seen
Licence
AGPL-3.0

At a glance

Model-routing orchestration for any expensive frontier model (Fable, Opus, GPT-5.x) - the main model keeps judgment and Q&A review, mechanical subagent dispatches carry an explicit cheaper model…

  • Works in 5 steps: Decompose into independent slices BEFORE… → Every brief is self-contained: repo… → Set model: explicitly on every… → …
  • Orchestrating codebase-heavy
  • SKILL.md covers The split, Isolate heavy context (the…, Routing table and Dispatch discipline, plus 2 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Efficient Dispatch is an agent skill from Necmttn/ax. Model-routing orchestration for any expensive frontier model (Fable, Opus, GPT-5.x) - the main model keeps judgment and Q&A review, mechanical subagent dispatches carry an explicit cheaper model, and ax measures whether the routing actually worked. Use when orchestrating codebase-heavy or token-heavy work with subagents, when dispatching Agent tasks without a model, when the user says "route to cheaper models", "efficient dispatch", "optimize model spend", or asks where their token spend goes. Pairs with the…

Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Agent Workflows, covering Subagents and Model routing and gateways. It works with OpenAI. The repository describes itself as: the agent experience layer · observability + memory for AI coding agents (Claude Code + Codex) · local-first, typed, yours. The licence is AGPL-3.0.

When your agent uses it

  • Orchestrating codebase-heavy
  • Token-heavy work with subagents
  • Dispatching Agent tasks without a model
  • The user says route to cheaper models

Example prompts

  • “route to cheaper models”
  • “efficient dispatch”
  • “optimize model spend”
  • “/efficient-dispatch”

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Decompose into independent slices BEFORE reading everything yourself;
  2. Every brief is self-contained: repo path, exact objective, in/out of scope,
  3. Set model: explicitly on every mechanical dispatch. The route-dispatch
  4. Workflow scripts (.claude/workflows/*.js) run sandboxed and cannot
  5. Treat subagent reports as leads. Before acting on a high-impact finding or

What it can do on your machine

Read from SKILL.md and the folder at commit fca259c. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Efficient Dispatch loads about 1.9k tokens when it runs. Until then it costs about 170 tokens; SKILL.md has 921 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~170
When it runs · the whole SKILL.md, loaded when a task matches
~1.9k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from Necmttn/ax at commit fca259c, republished under its AGPL-3.0 licence (© Necmttn). 921 words, ~1,896 tokens.

Download SKILL.mdSave it as .claude/skills/efficient-dispatch/SKILL.md (or your agent's skills folder).
name
efficient-dispatch
description
Model-routing orchestration for any expensive frontier model (Fable, Opus, GPT-5.x) - the main model keeps judgment and Q&A review, mechanical subagent dispatches carry an explicit cheaper model, and ax measures whether the routing actually worked. Use when orchestrating codebase-heavy or token-heavy work with subagents, when dispatching Agent tasks without a model, when the user says "route to cheaper models", "efficient dispatch", "optimize model spend", or asks where their token spend goes. Pairs with the route-dispatch hook (deterministic backstop) and `ax dispatches` (evidence). Do NOT fire on single-shot questions or tiny tasks with no dispatching.

efficient-dispatch - routed, measured, verified

The main model is the orchestrator and Q&A reviewer. Mechanical work runs on cheaper models - and unlike guidance-only approaches, every claim here is checkable against your own ax graph.

The split

Two axes. First, main model vs subagent: the main model orchestrates and reviews; mechanical work goes to subagents. Second, and the one that actually controls spend - the tier of each subagent dispatch:

  • Implementer subagents (well-specified plan tasks, mechanical edits, search, bulk transforms) → dispatch with model: sonnet (or haiku for pure search/locate, per the table).
  • Reviewer / judgment subagents (quality / PR / final / adversarial / code review, design, audit, architect, critique, judge) → keep the strong model: inherit the main model, or set model: opus/fable explicitly. Review is the catch-rate gate; a cheap reviewer misses real bugs.

Get this backwards and you pay twice: in one ax session implementers ran on the expensive inherited model while reviewers were sent to a cheap one - ~$130 over, weaker catch rate, three fix rounds (memory feedback-review-gets-strong-model). The default-inherit trap is implementers, not reviewers: a forgotten model: on an implement … dispatch silently runs expensive. Set it.

Main model keeps (never dispatched at all): decomposition, architecture and product tradeoffs, plan synthesis, judging conflicting subagent reports, final integration, taste-heavy design/copy.

Isolate heavy context (the second reason to dispatch)

Cost-tier is one reason to dispatch. The other is context isolation - and it applies even when the work needs the strong model. A large input read into the main thread does not cost once: it sits in the context window and is re-sent as input on every later turn. A 0.5 MB screenshot Read on turn 5 of a 40-turn session is re-billed ~35 times and crowds out earlier reasoning.

The biggest offender is images. Reading screenshots for visual judgment (does this match the spec? rate this design, find the visual bug) floods the main context with vision tokens that persist for the rest of the session. Route it:

  • Dispatch a subagent that returns the judgment as text. The subagent pays the vision tokens in its own short-lived context and returns a verdict; the main thread keeps the cheap text, never the image bytes. Use the strong model for the subagent if the judgment is hard - the win here is isolation, not tier.
  • When to route: the image (or any large output) would otherwise persist across many later main-thread turns AND the question is a returnable verdict.
  • When NOT to: tightly iterative visual exploration (look, tweak, look again interleaved with main reasoning - the round-trips cost more than they save), read-once-then-done short sessions (no persistence tail), or when you cannot state the judgment criteria up front (the text verdict is lossy).

Same logic applies to any bulky tool output you only need a conclusion from: giant logs, large query dumps, full-file reads for one fact. If you need the answer, not the bytes, dispatch for it.

Routing table

Source of truth: ~/.ax/hooks/routing-table.json (regenerate with ax dispatches compile-routing). Consult it when present; these built-ins mirror it:

<!-- ax:routing-table -->
classdescription patternmodel
spec-review^spec reviewsonnet
search-locate^(pattern-find|locate|find|map|sweep|grep)haiku
research^(research|investigate docs|study)sonnet
well-specified-impl^implement sonnet
bulk-mechanical^(write announcements|regenerate|standardize|merge main)sonnet
task-N-impl^Task \d+:sonnet
bug-fix^Fix\ssonnet
feature-add^Add\ssonnet
agent typesExplore, codebase-locator, codebase-pattern-finder → haiku; codebase-analyzer → sonnet
<!-- /ax:routing-table -->

Anything unmatched: leave the model unset only if the work genuinely needs main-model judgment - otherwise pick sonnet.

Show full SKILL.md (367 more words)Show less

Dispatch discipline

  1. Decompose into independent slices BEFORE reading everything yourself; run slices as parallel subagents in isolated worktrees when they edit files.
  2. Every brief is self-contained: repo path, exact objective, in/out of scope, evidence format to return (files, line refs, commands, diffs, failures), verification commands, stop conditions.
  3. Set model: explicitly on every mechanical dispatch. The route-dispatch hook is quota-aware and ADVISORY (Claude Code hooks cannot enforce model on subagent dispatches - they can only inject context via additionalContext): in conserve mode it advises re-dispatching a forgotten mechanical dispatch with model:<cheaper>; near a 7d quota reset (splurge) it stays quiet so work runs on the strong inherited model; it advises when judgment work (review/design/audit) is sent on a cheap model. Real enforcement is your discipline + setting model: explicitly on every dispatch. Treat the advisory as a re-dispatch signal, not noise.
  4. Workflow scripts (.claude/workflows/*.js) run sandboxed and cannot import ax code. Set model: on every agent(...) call by hand, per ax routing show: mechanical stages → model: 'sonnet'; judgment/review stages → keep the strong model. routing-tune.workflow.js is the reference. In-tree Effect/axctl code that dispatches should call resolveDispatchModel (from @ax/hooks-sdk) instead of hardcoding.
  5. Treat subagent reports as leads. Before acting on a high-impact finding or declaring done, reopen the cited files and re-run the key verification yourself. Expect to find one real bug per delegated phase.

Measure (what guidance-only skills can't do)

  • ax dispatches --days=7 - your inherit rate (target: explicit model on all mechanical classes)
  • ax dispatches --candidates - missed routings + est savings, repriced from real token buckets
  • ax cost split --days=7 - main vs subagent spend by model; the dominant cost is usually main-loop cache reads, so move tool-heavy loops (build/test cycles, browser QA) into subagents entirely
  • ax cost images --days=7 - image-read context per session, main vs subagent. High main-thread MB = screenshots persisting in the main window; route that visual judgment to a subagent (see "Isolate heavy context" above)
  • ax improve recommend - surfaces a routing proposal automatically when missed savings accumulate

Verify

After adopting this skill, compare windows: ax cost split + inherit rate before vs after. If the inherit rate doesn't drop, the routing isn't happening - check ax hooks backtest ~/.ax/hooks/route-dispatch.ts --days=7 and whether dispatches are bypassing the table.

© Necmttn, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/efficient-dispatch of Necmttn/ax.

Open the folder on GitHubat commit fca259c

Compare with similar skills

Efficient Dispatch next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Efficient Dispatch compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Efficient Dispatch this skillNecmttn/ax116—~1.9kAutomated safety check: PassAGPL-3.0
Claudish UsageMadAppGang/claudish1k—~9kAutomated safety check: PassNone
Model Hierarchyzscole/model-hierarchy-skill346—~2.3kAutomated safety check: PassMIT
Fable Foremanolsenbrands/fable-foreman142—~5.2kAutomated safety check: PassMIT
Prime Agentwcygan/dotfiles196—~1.8kAutomated safety check: PassNone
Personalization Subagent Patterngrowthenginenowoslawski/coldoutboundskills742—~2.8kAutomated safety check: PassMIT

Similar skills

  • Claudish Usage

    MadAppGang/claudish

    CRITICAL - Guide for using Claudish CLI ONLY through sub-agents to run Claude Code with any AI model (OpenRouter, Gemini, OpenAI, local models).

    1k GitHub stars~9k tokensUpdated yesterday
    Agent WorkflowsAuto-check passed
  • Model Hierarchy

    zscole/model-hierarchy-skill

    Cost-optimize AI agent operations by routing tasks to appropriate models based on complexity.

    346 GitHub stars~2.3k tokensUpdated 7 mo ago
    AI & LLM EngineeringAuto-check passed
  • Fable Foreman

    olsenbrands/fable-foreman

    Turns the lead model into a foreman that plans, routes and verifies while cheaper Claude, Codex or Grok workers do the typing, using a per-machine routing card.

    142 GitHub stars~5.2k tokensUpdated 13 days ago
    Agent WorkflowsAuto-check passed
  • Prime Agent

    wcygan/dotfiles

    A skill your agent uses when learning, configuring, or troubleshooting Prime Agent (PrimeIntellect-ai/prime-agent), including installation, providers, custom OpenAI-compatible models, local…

    196 GitHub stars~1.8k tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Personalization Subagent Pattern

    growthenginenowoslawski/coldoutboundskills

    Reusable approval-loop pattern for fanning out lead personalization across parallel Claude Code Task sub-agents.

    742 GitHub stars~2.8k tokensUpdated 2 days ago
    Agent WorkflowsAuto-check passed
  • Openclaw Spawner

    LeoYeAI/openclaw-master-skills

    Enables an Openclaw agent to spawn sub-agents (child Openclaw instances) when a task is too large, complex, or parallel to handle alone.

    2.2k GitHub stars~4.5k tokensUpdated 2 mo ago
    Agent WorkflowsAuto-check passed

More from Necmttn/ax

All 12 skills in this repo
  • Tune

    Necmttn/ax

    Retrospective on one coding session that proposes changes to the agent's environment (hooks, checks, steering files, tool access) and files each as an ax proposal.

    116 GitHub stars~1.3k tokensUpdated yesterday
    Auto-check passed
  • Ax Narrate

    Necmttn/ax

    Write the agent-generated narration of the current session - the reviewable story of what changed, including what never reaches a PR (user corrections, abandoned attempts, tool failures).

    116 GitHub stars~1.7k tokensUpdated yesterday
    Auto-check passed
  • Ax Repo

    Necmttn/ax

    Star the ax repo, file an issue / bug report, or fork-and-open-a-PR against github.com/Necmttn/ax on the user's behalf, by shelling out to the gh CLI.

    116 GitHub stars~1.8k tokensUpdated yesterday
    Auto-check passed
  • Draft or revise ax release announcements and website changelog pages.

    116 GitHub stars~1k tokensUpdated yesterday
    Auto-check passed
  • Retro

    Necmttn/ax

    Guided experiment-loop retrospective over the ax agent-experience graph.

    116 GitHub stars~3.5k tokensUpdated yesterday
    Auto-check passed
  • Retro Meta

    Necmttn/ax

    Deep retro of retros - investigation pass that surfaces improvements across older retros and the current ax setup.

    116 GitHub stars~1.8k tokensUpdated yesterday
    Auto-check passed

Works with

Questions about Efficient Dispatch

What does Efficient Dispatch do?

Model-routing orchestration for any expensive frontier model (Fable, Opus, GPT-5.x) - the main model keeps judgment and Q&A review, mechanical subagent dispatches carry an explicit cheaper model…. Efficient Dispatch is an agent skill from Necmttn/ax.x) - the main model keeps judgment and Q&A review, mechanical subagent dispatches carry an explicit cheaper model, and ax measures whether the routing actually worked.

When should I use Efficient Dispatch?

Efficient Dispatch fits situations like: orchestrating codebase-heavy; token-heavy work with subagents; dispatching Agent tasks without a model; the user says route to cheaper models.

How do I install Efficient Dispatch in Claude Code?

Run `npx skills add Necmttn/ax --skill efficient-dispatch -a claude-code`. Or copy the skill folder (skills/efficient-dispatch in Necmttn/ax) into .claude/skills/efficient-dispatch in your project. Claude Code loads it when a task matches its description.

How do I install Efficient Dispatch in Codex?

Run `npx skills add Necmttn/ax --skill efficient-dispatch -a codex`. Or copy the skill folder (skills/efficient-dispatch in Necmttn/ax) into .agents/skills/efficient-dispatch in your project. Codex loads it when a task matches its description.

Can I use Efficient Dispatch in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Necmttn/ax --skill efficient-dispatch -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/efficient-dispatch, .gemini/skills/efficient-dispatch, .github/skills/efficient-dispatch and .opencode/skills/efficient-dispatch in your project.

What does Efficient Dispatch need to run?

SKILL.md names no scripts, command-line tools or credentials: Efficient Dispatch is instructions for the agent only.

Does Efficient Dispatch access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Efficient Dispatch safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Efficient Dispatch use?

Efficient Dispatch is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Efficient Dispatch use?

About 1.9k tokens (SKILL.md is roughly 7.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Efficient Dispatch?

Skills that share tags, products or a category with Efficient Dispatch: Claudish Usage (MadAppGang/claudish, 1k stars), Model Hierarchy (zscole/model-hierarchy-skill, 346 stars), Fable Foreman (olsenbrands/fable-foreman, 142 stars) and Prime Agent (wcygan/dotfiles, 196 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Efficient Dispatch?

Necmttn (a GitHub user) maintains it in Necmttn/ax, which has 116 GitHub stars. The repository holds 12 skills in this directory. The repository was last updated on October 7, 2026.

Source: Necmttn/ax on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.