calibrate: right-size the model and effort before the session starts
Every session runs on one model at one effort level, and that choice is made once, at the
start. The prompt cache is scoped per model: switch mid-session and the entire conversation is
re-read at full input price. So the calibration moment is before the work, ideally as a cheap
throwaway question in a small-model session, and the output is a start command the user pastes.
This skill carries a method, not a model table. Model names, prices and effort levels change;
a hardcoded table would rot. What the session's tool offers today is looked up live, every time.
The method
Name the session's work. One ticket per session (AGENTS.md efficiency rule), so the
ticket defines the work. If the user hasn't said what the session is for, ask that one
question first; without it there is nothing to calibrate against.
Get the live lineup, never from memory and never from a saved URL. First establish which
tool the session will run in and which vendor's models it offers; that pair is the input, not
an assumption. Model names, prices, effort levels and the pages that document them all
change over time, so this skill deliberately hardcodes none of them. Search the web for that
vendor's official, current documentation at the moment of asking (the models overview
with pricing, plus whatever the vendor calls its reasoning dial: effort, extended thinking,
reasoning budget) and accept only the vendor's own domains as sources. Cross-check against
what the tool itself offers (its model picker or settings). Any model or effort level
released after this skill was written is in scope automatically; that is the point of
looking it up.
Classify the work into a capability tier. Tiers, not model names, so the mapping
survives every release:
- Mechanical: doc edits, renames, config changes, running checks, fixes with a known
cause. → cheapest current model, low or medium effort.
- Standard build: a spec'd feature, tests, a refactor inside one module, routine
review. → the mid-tier all-rounder, its default effort.
- Hard: architecture, debugging with unknown cause, security-sensitive work, ambiguous
scope, work where a wrong answer is expensive. → the most capable tier, high effort.
Map each tier to the concrete cheapest model that fills it in today's lineup from step 2.
Apply the two dials correctly. The diagnostic, whatever the vendor calls the dials:
didn't know enough → bigger model; didn't try hard enough → higher effort/thinking.
Within a tier, raise effort before jumping a model tier. Reserve the levels above the
default high setting for work where high demonstrably fell short; they exist for the
hardest problems, not as a default. A tool without a reasoning dial has only the model
choice; calibrate that one dial with the same logic.
Optimize for total token cost, not sticker price. The cheapest combination is the one
expected to finish the ticket in one pass. A too-small model that fails and forces a redo
in a bigger one costs more than starting right-sized. When genuinely unsure between two
tiers, take the higher one for irreversible or security-relevant work and the lower one for
easily-verified, easily-retried work.
Count the tool servers. Every connected server puts its tool schemas into every turn,
whether the session uses them or not. Disconnect the ones this session does not need, prefer
the platform's own CLI for the same job (the repository host's, the cloud's) over a server, and
use the tool's deferred-schema mode where it has one. Read the tool's own context report at the
start, so the standing cost is a number and not a feeling.
Deliver one recommendation, paste-ready. One combination, one reason, and the exact way
to start it in the user's tool: the launch flag, picker command, or settings path that tool
uses for model and effort (look it up in the tool's own docs if unsure; for example, Claude
Code takes claude --model <model> plus /effort <level> as the first input). No menu of
alternatives; the session protocol's "one best next step" applies here too.
Hard boundary: never mid-session
If the running session's model turns out too small, do not advise switching models in place:
the switch drops the per-model cache and the full history is re-read at full price. The correct
move is the checkpoint skill (flush the handoff to STATE.md), then clear the context, then
restart with the right model via this method. Wrong calibration costs one restart; a
mid-session switch costs the whole context twice. The same holds for everything else that
invalidates the cache wholesale: connecting or disconnecting a tool server, toggling a plugin,
changing the effort level. Each belongs at a session boundary, decided here.
Relation to the rest of the system
Calibration is judgment before the session; checkpoint is the handoff at the end of one.
No automated gate can check this choice, and none should: the gates guard the repo, this skill
guards the token bill. Close a calibration answer with the start command and the one-line
reason. ⚓
1---2name: calibrate3description: calibrate: right-size the model and effort before the session starts4---56# calibrate: right-size the model and effort before the session starts78Every session runs on one model at one effort level, and that choice is made once, at the9start. The prompt cache is scoped per model: switch mid-session and the entire conversation is10re-read at full input price. So the calibration moment is *before* the work, ideally as a cheap11throwaway question in a small-model session, and the output is a start command the user pastes.1213This skill carries a method, not a model table. Model names, prices and effort levels change;14a hardcoded table would rot. What the session's tool offers today is looked up live, every time.1516## The method17181. **Name the session's work.** One ticket per session (AGENTS.md efficiency rule), so the19 ticket defines the work. If the user hasn't said what the session is for, ask that one20 question first; without it there is nothing to calibrate against.21222. **Get the live lineup, never from memory and never from a saved URL.** First establish which23 tool the session will run in and which vendor's models it offers; that pair is the input, not24 an assumption. Model names, prices, effort levels *and the pages that document them* all25 change over time, so this skill deliberately hardcodes none of them. Search the web for that26 vendor's **official, current** documentation at the moment of asking (the models overview27 with pricing, plus whatever the vendor calls its reasoning dial: effort, extended thinking,28 reasoning budget) and accept only the vendor's own domains as sources. Cross-check against29 what the tool itself offers (its model picker or settings). Any model or effort level30 released after this skill was written is in scope automatically; that is the point of31 looking it up.32333. **Classify the work into a capability tier.** Tiers, not model names, so the mapping34 survives every release:35 - **Mechanical:** doc edits, renames, config changes, running checks, fixes with a known36 cause. → cheapest current model, low or medium effort.37 - **Standard build:** a spec'd feature, tests, a refactor inside one module, routine38 review. → the mid-tier all-rounder, its default effort.39 - **Hard:** architecture, debugging with unknown cause, security-sensitive work, ambiguous40 scope, work where a wrong answer is expensive. → the most capable tier, high effort.41 Map each tier to the concrete cheapest model that fills it in today's lineup from step 2.42434. **Apply the two dials correctly.** The diagnostic, whatever the vendor calls the dials:44 *didn't know enough → bigger model; didn't try hard enough → higher effort/thinking.*45 Within a tier, raise effort before jumping a model tier. Reserve the levels above the46 default high setting for work where high demonstrably fell short; they exist for the47 hardest problems, not as a default. A tool without a reasoning dial has only the model48 choice; calibrate that one dial with the same logic.49505. **Optimize for total token cost, not sticker price.** The cheapest combination is the one51 expected to finish the ticket in one pass. A too-small model that fails and forces a redo52 in a bigger one costs more than starting right-sized. When genuinely unsure between two53 tiers, take the higher one for irreversible or security-relevant work and the lower one for54 easily-verified, easily-retried work.55566. **Count the tool servers.** Every connected server puts its tool schemas into every turn,57 whether the session uses them or not. Disconnect the ones this session does not need, prefer58 the platform's own CLI for the same job (the repository host's, the cloud's) over a server, and59 use the tool's deferred-schema mode where it has one. Read the tool's own context report at the60 start, so the standing cost is a number and not a feeling.61627. **Deliver one recommendation, paste-ready.** One combination, one reason, and the exact way63 to start it in the user's tool: the launch flag, picker command, or settings path that tool64 uses for model and effort (look it up in the tool's own docs if unsure; for example, Claude65 Code takes `claude --model <model>` plus `/effort <level>` as the first input). No menu of66 alternatives; the session protocol's "one best next step" applies here too.6768## Hard boundary: never mid-session6970If the running session's model turns out too small, do not advise switching models in place:71the switch drops the per-model cache and the full history is re-read at full price. The correct72move is the `checkpoint` skill (flush the handoff to STATE.md), then clear the context, then73restart with the right model via this method. Wrong calibration costs one restart; a74mid-session switch costs the whole context twice. The same holds for everything else that75invalidates the cache wholesale: connecting or disconnecting a tool server, toggling a plugin,76changing the effort level. Each belongs at a session boundary, decided here.7778## Relation to the rest of the system7980Calibration is judgment before the session; `checkpoint` is the handoff at the end of one.81No automated gate can check this choice, and none should: the gates guard the repo, this skill82guards the token bill. Close a calibration answer with the start command and the one-line83reason. ⚓