All skills
oaustegard avatar

/agent-routing

@576f2c8

Decide which model, effort level, and cascade shape each subagent gets, and how to keep improvement loops safe (evaluator-as-selector, stop on regression). Routes on measured cost-per-completed-task rather than per-token price, because a tier's token count varies more by task shape than price varies across tiers. Covers per-model effort semantics, the concision lever, cascade preconditions, context handoff, and watching a subagent fan-out live. Use when spawning subagents via the Agent or Workflow tools, when choosing how to escalate a failed attempt, when fanning out more than a handful of agents, or when asked which model or effort a task should get. Grounded in measured calibration (references/calibration-2026-07-15.md), a 2026-08 coding-cost study, and a 2026-09 agentic-repair battery that measured the cascade rungs directly; Managed Agents API specifics are operational, not calibrated.

Use this Skill: https://skilld.dev/gh/oaustegard/claude-skills/agent-routing

This session only. Nothing lands on disk.

CHANGELOG.md

≈943 tokens on demand. Your agent reads this file only when SKILL.md points to it.

agent-routing - Changelog

All notable changes to the agent-routing skill are documented in this file. The format is based on Keep a Changelog.

[2.3.0] - 2026-09-29

Other

  • agent-routing 2.3.0: Sonnet 5.5 effort measured

[2.3.0] - 2026-09-29

Added

  • Sonnet 5.5 effort measured on the seeded-bug battery, two replicates: low 10 and 11 of 14, medium 11 and 12, high 12 and 12, against Sonnet 5 low at 9/14. low no longer switches thinking off. Sonnet 5.5 @ high matched Opus 5.5 @ high (24 of 28 each) at 0.43x the cost per completed task. Opus 5.5 emitted a third of Opus 5's output on the same tasks.

[2.2.0] - 2026-09-29

Other

  • agent-routing 2.2.0: effort channels, cache TTL, Sonnet 5.5 caveat

[2.2.0] - 2026-09-29

From the 2026-09-28 Claude Code effort experiments (muninn.austegard.com/blog/effort-levels-in-claude-code-subagents.html) and the Sonnet 5.5 release.

Added

  • Which channel sets whose effort: Workflow agent({effort}) is the only way a parent sets a subagent's effort; Agent and SendMessage have none; a resumed subagent picks up the session's /effort.
  • How to run rung 2 in Claude Code: a fresh Workflow agent one effort step up for subagents, a recommended /effort change for the main loop.
  • The cache TTL, not the effort change, is what misses: subagents cache on the 5-minute tier, the parent on the 1-hour tier.

Changed

  • Caching paragraph: an effort change keeps the cache in Claude Code (five resumes across a level change all hit), and the API's per-message effort message now covers Opus 5.5 and Sonnet 5.5. Replaces "an effort change invalidates the messages cache on every model".
  • Haiku's effort column reads n/a: the API rejects effort on Haiku 4.5 and Claude Code drops it.
  • Every Sonnet figure is labelled as Sonnet 5 data pending a re-measure on Sonnet 5.5, whose effort levels were recalibrated.

[2.1.0] - 2026-09-04

Other

  • agent-routing 2.1.0: measured cascade rungs, escalation signal, tier gap (#785)

[2.1.0] - 2026-09-03

Measured against a 14-repo seeded-bug agentic battery (~120 subagent runs; oaustegard/experiments -> temporal-routing-headroom). Nothing was retracted; the cascade section gained the numbers it was missing.

Added

  • The escalation call belongs to whoever holds the verifier, never the worker. 58 of 58 graded runs self-reported success; 44 had passed. Every failure claimed to be done.
  • Rung 2 is the same model one effort step up; a tier jump is the exception. From an identical failed attempt, sonnet @ medium and opus @ high rescued the same 4 of 5 tasks at 11,691 vs 32,504 output tokens (0.31x vs 0.76x always-opus composed).
  • A cascade can beat the frontier solo arm on correctness: 13/14 vs 10/14.
  • Caching in the cascade: caches are model-scoped with no escape hatch, so a tier jump discards rung 1's prefix; an effort change invalidates the messages cache on every model, and the per-message effort hatch is Opus 5 / Fable 5.1 / Mythos 5.1 only.
  • Informed retry means the artifacts, not the prior model's narrative: adding rung 1's stated diagnosis moved 12/15 to 13/15 on one replicate of one unstable task.
  • Concision does not reach small-output work: 2.9% on agentic repair vs 37% on generation.
  • Route up for capability, not thoroughness: opus @ high fell into the same stop-early trap as sonnet @ low on three of four tasks.
  • Seeded-bug repair in a small module is measured as not tier-separating across three probe shapes.

Changed

  • Cost-model caveat made explicit: every figure prices output tokens only.

[2.0.0] - 2026-08-18

Added

  • Add/Update skill: agent-routing (#767)

Source: SKILL.md on GitHub

No alerts12d3 checks · Risk SAFE
  • Gen Agent Trust Hub12d

    The skill provides technical guidelines for routing tasks between different AI models and managing subagent orchestration. It is generally safe; however, it encourages a workflow where untrusted data, such as file scan outputs, is passed directly into subagent prompts, which creates a surface for indirect prompt injection.

  • Socket12d

    No alerts

  • Snyk12d

    Risk: LOW · No issues

Signed by skilld at 576f2c8. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub yesterday.

Activeupdated 3 days ago
metadata
{
  "author": "Oskar Austegard and Claude",
  "version": "2.3.0"
}
Other metadata
compatibility
Designed for Claude Code / Claude Code on the Web — assumes an orchestrator with Agent/Workflow subagent tools. Only the Workflow tool sets a subagent's effort; the Agent tool sets its model. Not applicable to claude.ai chat use.

README badge

README badge for oaustegard/claude-skills/agent-routing