adaptive-routing
Reading the three scored dimensions for the CLI.
Skill by ayeo-io
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/ayeo-io-adaptive-routing
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/adaptive-routing
What's inside
- Skill name
adaptive-routing- Description
- Reading the three scored dimensions for the CLI. Load at the assess stage.
- License
- Apache-2.0
- Instructions
- 144 lines in SKILL.md · view on GitHub
Files (2)
- SKILL.md
- composition.md
SKILL.md (first lines)
# Adaptive Routing
This skill is the craft behind `approaches/rubric.md`. `approaches/rubric.md`
holds the rules; this skill says how to apply them.
## The mental model
You are not picking a process. You are computing one. The assessment has
three scored dimensions (`risk`, `familiarity`, `size`), two switches (`goal`,
`urgency`) and any domain labels. The three scored dimensions are three
independent questions, and the delivery approach is their composition -
heavier where they read high, lighter where they read low. A switch leans the
approach towards a reference shape. A domain label raises the floor. The composition is **biased** by
the routing strategies and **bounded** by the routing guardrails, both in
`${CLAUDE_PLUGIN_ROOT}/governance/routing-policy.md` (an unmigrated 5.x project
runs on its own copied `governance/`). The five reference shapes
(quick fix/regular/full/hotfix/spike) are shapes the composition tends to
land near, not boxes to sort into.
## The shipped defaults are enough - you work with them
`/compass:init` is optional. The shipped default preset carries active
default guardrails, default strategies, and a default routing policy, and the
plugin holds their prose in `${CLAUDE_PLUGIN_ROOT}/governance/`. A project's own
changes are entries in its `compass.yml`; `compass policy show` prints what is
in force, except that an unmigrated 5.x project runs on its own copied
`governance/` until `compass policy migrate`. If a project has no `compass.yml` and no project-specific additions,
that is a valid, complete governance state - you route against the shipped defaults <!-- vocabulary-scan: allow - route is a verb here -->
exactly as you would route against an extended set. <!-- vocabulary-scan: allow - route is a verb here -->
"assess and go on day one"
is honest precisely because the defaults are real, in-force content. Never
treat a project without a `compass.yml` as missing a prerequisite.
## Scoring the dimensions - heuristics
**risk** - *consequence, never effort.*
- The sign of `critical`: can this lose data, lose money, breach auth/privacy,
or resist a clean rollback? If yes, it is critical even if it is one line.
- Critical risk alone does not bring the human sign-off of guardrail 5
(`G5`); the labels do. When the change is one of them, apply `auth`,
`payments`, `personal-data` or `migrations` as well as the risk. A
migration that can lose data is labeled `migrations`, whatever its risk.
- The sign of `trivial`: is the worst case cosmetic, instantly obvious, and
instantly reversible - with no data, money, auth, or other team touched?
- The common mistake: scoring risk by how hard the change is. A hard
change can be contained; a trivial-looking change can be critical. Score the
failure, not the work.
**Familiarity** - *new code, or old code, and is the old code mapped?*
- `brownfield-unmapped` is not a judgment of code quality - it means the
behavior is not written down as scenarios. At medium size or more, with
cross-cutting or critical risk, or with a domain label, it triggers a
routing guardrail floor: `behavior-mapping` must run. Do not skip it. On
an atomic or small change with trivial or contained risk and no domain
label, the skill is advice (`RP-ADV-002`).
- "Trivially readable" greenfield or brownfield can be treated as mapped, but
be honest - "I could figure it out" is not "it is written down."
**Size** - *the dimension humans get wrong most.*
- People under-estimate size far more than they over-estimate it. When
genuinely torn between two values, take the higher one. Collapsing a stage
that turned out easy is cheap; discovering during implementation that the
delivery approach was too light is expensive and demoralizing.
- Anchor on concrete tests: `atomic` is one file and no design decision;
`medium` has one or two design decisions; `large` has real architecture and
is plausibly parallelisable.
**The switches** - *`goal` and `urgency` are read, not scored.* Either can
be left out. `goal: exploration` leans towards spike; `urgency: live-defect`
on an atomic or small change leans towards hotfix. Each one you set still
needs a `--justify`. Domain labels need none.
**Goal** - *the actual outcome, not the literal request.*
- Read `intent.md` if it exists. "Add a CSV export" under an `intent.md` that says "let
finance self-serve" may need filters, scheduling, and permissions - the
literal request under-describes the intent.
- Role is not scored. An `intent.md` or `positioning.md` on disk adds artifacts
and gates through the artifact rules. That is the framework working, not overhead.
- One goal value is **exploration** - "I cannot frame this well
enough to deliver it yet." Exploration composes towards the **spike** delivery approach the
way live-defect urgency composes towards hotfix. Still score all three
dimensions; the switch is what selects the shape. See "Composing a spike"
in `composition.md`.
If you cannot justify a value in one honest line, **ask the human.** An
unjustified guess is worse than a question, every time.
## Composing and constraining
The CLI does both. You score the three dimensions, read the two switches and
the domain labels, and run
`compass approach evaluate --write --justify DIM="<why>"`, with one
`--justify` for each new or changed dimension or switch; it composes the first approach and
applies the floors, caps, immovable gates and artifact rules. That split is the
determinism boundary and it is the point of the whole design: judgment
produces the assessment, mechanism produces the approach.
The detail - including how a spike is composed - is in
`skills/adaptive-routing/composition.md`, for when a result needs
explaining. `--verbose` names every rule that fired.
## The de-scope ledger - the discipline that makes this auditable
Every phase or check the delivery approach collapses or
skips earns a row in the de-scope ledger, and each row needs an explicit
"safe to skip because…" line.
- **A skip with no justification is not allowed. If you cannot justify it, the
phase runs.** This is non-negotiable - it is what separates "adaptive" from
"arbitrary."
- Do not copy a reference shape's standing justification without checking it.
Confirm it actually holds for *this* issue. quick-fix's "requirements review collapsed - the one
scenario is unambiguous" is only valid if the scenario really is unambiguous.
- Cap-driven reductions are **not** de-scopes. If the `critical` risk
cap pins the full approach to one worktree, record that as cap-driven in the
orchestration section, not in the de-scope ledger. The ledger is for things the
delivery approach chose to skip, not things a guardrail removed.
- The full approach's ledger is empty by definition. If you are writing de-scope
rows on the full approach, you have mis-composed.From ayeo-io/compass, Apache-2.0.
More from ayeo-io/compass
- 0.584score
tdd-discipline
ayeo-io
The red-green-refactor cycle as Compass runs it, including what to do when a change has no natural failing test.
SkillAFreshness: A★ 1Claude Code +9 - 0.581score
bdd-specification
ayeo-io
Writing and checking Given/When/Then acceptance scenarios.
SkillAFreshness: A★ 1Claude Code +9 - 0.581score
behavior-mapping
ayeo-io
Capturing existing behavior as scenarios before changing it.
SkillAFreshness: A★ 1Claude Code +9 - 0.581score
compass
ayeo-io
Use Compass stages and roles to deliver a change or resume an issue, using the shared kit and instructions.
SkillAFreshness: A★ 1Claude Code +9 - 0.581score
evidence-gates
ayeo-io
What counts as gate evidence, and how to clear a gate.
SkillAFreshness: A★ 1Claude Code +9 - 0.581score
flow-management
ayeo-io
Priorities across issues, blockers and the digest.
SkillAFreshness: A★ 1Claude Code +9 - 0.581score
governance-check
ayeo-io
Checking a design against the guardrails and strategies in force.
SkillAFreshness: A★ 1Claude Code +9 - 0.581score
receiving-code-review
ayeo-io
Answering review comments: check each against the code, push back with reasons, record the outcome.
SkillAFreshness: A★ 1Claude Code +9 - 0.581score
systematic-debugging
ayeo-io
Debugging from evidence: read the failure, form one hypothesis, test it.
SkillAFreshness: A★ 1Claude Code +9 - 0.577score
compass-runtime
ayeo-io
Which command runs each stage, which agent owns it, where issue state lives.
SkillAFreshness: A★ 1Claude Code +9 - 0.577score
plan-authoring
ayeo-io
Writing a technical design and its self-review.
SkillAFreshness: A★ 1Claude Code +9 - 0.577score
worktree-multiagent
ayeo-io
Creating, isolating and integrating parallel subtasks in git worktrees.
SkillAFreshness: A★ 1Claude Code +9
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 23
- Last commit (this folder)
- Oct 20, 2026 (9 days ago)
- Last release
- Oct 20, 2026 (9 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/ayeo-io/compass
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from ayeo-io
- 0.584score
tdd-discipline
ayeo-io
The red-green-refactor cycle as Compass runs it, including what to do when a change has no natural failing test.
SkillAFreshness: A★ 1Claude Code +9 - 0.581score
behavior-mapping
ayeo-io
Capturing existing behavior as scenarios before changing it.
SkillAFreshness: A★ 1Claude Code +9 - 0.581score
bdd-specification
ayeo-io
Writing and checking Given/When/Then acceptance scenarios.
SkillAFreshness: A★ 1Claude Code +9 - 0.581score
compass
ayeo-io
Use Compass stages and roles to deliver a change or resume an issue, using the shared kit and instructions.
SkillAFreshness: A★ 1Claude Code +9 - 0.581score
evidence-gates
ayeo-io
What counts as gate evidence, and how to clear a gate.
SkillAFreshness: A★ 1Claude Code +9 - 0.581score
flow-management
ayeo-io
Priorities across issues, blockers and the digest.
SkillAFreshness: A★ 1Claude Code +9
Cite this page
adaptive-routing skill. Agent Mart. https://agentmart.dev/skills/ayeo-io-adaptive-routing (last updated 2026-10-24)