modelchk — Claude Code skill for model and reasoning choices
Assesses task risk and complexity to recommend a sufficient model tier and reasoning effort. Use it before costly, ambiguous, or high-risk work.
npx skills add LilMGenius/paperthin --skill modelchk -a claude-codeWhat modelchk does
modelchk assesses one work unit, such as a task, plan, rerun, or review. It recommends a fast, standard, or frontier capability tier plus reasoning effort from glance through exhaustive. Its report also includes the rationale, signals to move the recommendation up or down, and the proof surface.
The skill weighs file or module boundaries, reversibility, security and privacy risk, ambiguity, context load, and the cost of an incorrect answer. It does not select a concrete model, change provider settings, or perform the task itself. Higher tier or effort never replaces tests, review, command output, or manual QA, so keeping the proof surface explicit matters.
What it helps with
- size a model tier for a risky change
- set reasoning effort for multi-step work
- separate verification needs from model capability
- identify when a bounded task can use less cognitive spend
Example prompts for the agent
- Use modelchk to assess the model tier and reasoning effort for this change.
- Run modelchk for this release review and list the conditions that would raise the recommendation.
- Assess this multi-module task with modelchk and state the required proof surface.
How to install modelchk
1Skills CLI (Vercel)
npx skills add LilMGenius/paperthin --skill modelchk -a claude-code2Manually: put the files in place
~/.claude/skills/modelchk/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/modelchk/
1Skills CLI (Vercel)
npx skills add LilMGenius/paperthin --skill modelchk -a codex2Manually: put the files in place
.agents/skills/modelchk/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add LilMGenius/paperthin --skill modelchk -a cursor2Manually: put the files in place
.cursor/skills/modelchk/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install LilMGenius/paperthin modelchk2Manually: put the files in place
.github/skills/modelchk/SKILL.md1Skills CLI (Vercel)
npx skills add LilMGenius/paperthin --skill modelchk -a gemini-cli2Platform CLI
gemini skills install https://github.com/LilMGenius/paperthin --path skills/depth/modelchkManually: put the files in place
.devin/skills/modelchk/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add LilMGenius/paperthin --skill modelchk -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about modelchk
How do I install modelchk in Claude Code?
Run npx skills add LilMGenius/paperthin --skill modelchk -a claude-code, then run npx skills add LilMGenius/paperthin --skill modelchk -a claude-code again. The skill file is located at ~/.claude/skills/modelchk/SKILL.md.
What does modelchk do?
It recommends a sufficient capability tier and reasoning-effort intent for one work unit. The output includes rationale, move-up and move-down signals, plus verification still required.
Does modelchk select a concrete model or change its settings?
No. modelchk provides neutral tier and effort recommendations; it does not route work, pin a model, or alter provider settings.
Source text
SKILL.md · MIT
--- name: modelchk description: "Size a task's run before spending it: the cheapest sufficient capability tier (fast, standard, frontier) and the reasoning effort within it, on a neutral scale that binds to whatever levels the model exposes. Use when work seems over- or under-powered, costly, ambiguous, or high-risk, or asks which model class and how much thinking is enough." --- Size the run before you spend it: how strong a model, and how hard it should think. `modelchk` is read-only and advisory. From one assessment it sizes the two dials that set a model's per-run cognitive spend — capability tier and reasoning effort. It does not choose, route, switch, pin, spawn, set, or require any concrete model or level. ## Goal From a single risk-and-complexity read, recommend two coordinates. **Capability tier** — the cheapest sufficient class of mind: - `fast` for local, mechanical, reversible work with cheap, complete verification. - `standard` for ordinary repo-grounded reasoning, multi-step drafting, normal coding, and conventional documentation or skill work. - `frontier` for architecture, high ambiguity, safety/security/privacy/data-loss risk, release-critical review, cross-domain scope, or work where one wrong assumption wastes a large run. **Reasoning effort** — how hard that mind should deliberate. `modelchk` recommends the effort *intent*; resolving it to the active model's actual level — like choosing the model itself — is the executor's step, not this skill's. From least to most deliberation: - `glance` — minimal deliberation; take the direct path. (Resolves to the model's floor.) - `measured` — ordinary, everyday deliberation. (The model's default, or the middle of its ladder when no default is named.) - `thorough` — deliberate extra: work the alternatives and check the assumptions. (Above the everyday setting, short of the top.) - `exhaustive` — maximal deliberation; exhaust the search and re-check the work. (The model's ceiling.) The two axes are orthogonal — a bounded-but-fiddly task can be `fast` + `thorough`, a quick expert call `frontier` + `glance` — yet in most work they move together, parting only when a cheap task needs hard thinking or a strong model needs only a quick call. Effort buys deliberation, never capability, and more of it is not more correct. ## Workflow 1. Frame the exact work unit being sized: task, artifact, review, rerun, or plan. 2. Score risk and complexity once — this single read feeds both coordinates: - file, module, or ownership boundary crossing; - reversibility and blast radius; - safety, security, privacy, publishing, or data-loss risk; - novelty, ambiguity, and long-context synthesis load; - need for external research, adversarial review, or careful release sequencing; - cost of a wrong answer. 3. Read off the capability tier: the cheapest class whose ceiling covers the work's judgment and risk. 4. Read off the reasoning effort: default it to track the tier (`fast`→`glance`, `standard`→`measured`, `frontier`→`thorough`, reserving `exhaustive` for the hardest, highest-stakes work), then deviate where deliberation-hunger and capability-need part — raise it for ambiguity, long multi-step reasoning, or adversarial self-check on an otherwise cheap task; lower it for a bounded task under a strong model. 5. Report both coordinates, one shared rationale, `move up if...` and `move down if...` triggers for each dial, and the proof surface — the verification the work still needs regardless of tier or effort. 6. Stop. ## Rules - Size the run's cognitive spend, nothing else. The two dials are *which mind* (capability tier) and *how hard it thinks* (reasoning effort). Orchestration dials — context budget, fan-out width, tool-permission scope — are a different reflex and stay out; sharing this one risk read does not pull them in. - Neutral language only: tier is `fast`/`standard`/`frontier`; effort is `glance`/`measured`/`thorough`/`exhaustive`, each an intent defined by a position on the active model's ladder — floor, default, above-default, ceiling — never a named vendor level. - When resolved, effort binds to positions, not levels: a model lacking an interior level collapses the rung to the nearest it offers, so the intent always maps to a real setting and never resolves out of range. - The default is the cheapest sufficient tier and the effort that meets the work, not the strongest of either. - Effort is deliberation budget, not capability and not answer length. Never raise it to buy capability — that is the tier's job. - No routing authority. This skill recommends two coordinates; the user, harness, or executor decides what runs and sets the actual level. - Do not name concrete model products, vendors, or versions in durable mechanism text. - Risk beats size: a one-file high-risk change can want `frontier`; a broad mechanical rename can stay `fast` + `thorough` when verification is complete. - Verification is separate. A stronger tier or a higher effort never replaces tests, review, command output, manual QA, or other proof surface. - Do not execute the task being sized, change configuration, call another model, or alter provider settings. - Do not override an explicit user tier or effort choice. Report the mismatch if one is visible. ## Output ```text recommended_tier: fast|standard|frontier recommended_effort: glance|measured|thorough|exhaustive rationale: <one sentence, covering both dials> move_up_if: <signals that would justify a stronger tier or higher effort> move_down_if: <signals that would justify a cheaper tier or lower effort> proof_surface: <verification still required, independent of tier and effort> ``` ## Verification Before finishing, confirm the report: - names exactly one tier (`fast`/`standard`/`frontier`) and one effort (`glance`/`measured`/`thorough`/`exhaustive`); - states the cheapest sufficient tier and the effort that meets the work, not the strongest of either; - gives move-up and move-down triggers covering both dials; - names the proof surface; - makes no routing, switching, provider, vendor, product, version, or concrete-level claim, and names no orchestration dial beyond the two cognitive-spend ones.
© LilMGenius · MIT · LilMGenius/paperthin