mcpField
G
gpt-model-effort-advisor

gpt-model-effort-advisor

github.com/dandacompanyAgent workflows1466 installsUpdated 6d ago
Repository

About gpt-model-effort-advisor

A Codex skill that recommends GPT-5.6 model tiers and reasoning effort for a task, then records outcomes to inform future choices. It uses usage history before general heuristics; the user makes any model switch.

Key features

  1. 01Model tier and effort recommendations
  2. 02Registry search for similar outcomes
  3. 03Task classification across four axes
  4. 04Outcome recording and statistics
  5. 05Failure diagnosis and escalation guidance

Use cases

  1. 01Choose settings for a new task
  2. 02Compare a task with past successes or failures
  3. 03Adjust settings after an unsatisfactory result

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/dandacompany/dante-skills --skill gpt-model-effort-advisor

After installing, type/gpt-model-effort-advisorin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

.gitignore
README.md
registry.py

Details

From the project README

GPT-5.6 Model & Effort Advisor

Help pick the right model tier and reasoning effort for a task, escalate only when needed, learn from real outcomes, and diagnose failures. It recommends and records; the user decides and switches.

Two independent axes

  • Model tier = intelligence ceiling. A larger tier knows more and reasons deeper, at a higher price per token. GPT-5.6 tiers: Luna (economy) → Terra (balanced) → Sol (frontier).
  • Reasoning effort = deliberation time. More effort spends more thinking on the same problem, at more tokens. Levels: Low → Medium → High → Max → Ultra.

These are different dials. Turning both to the maximum by default wastes money without improving quality on most tasks. Choose each axis deliberately.

Engine: registry.py

registry.py (same folder, standard library only) powers the three data functions. Always use this CLI — do not hand-edit the JSON.

python3 registry.py session                        # read the live session's model + effort
python3 registry.py query "<task>" [--axes ...]    # find similar past successes/failures
python3 registry.py record --task "..." --model gpt-5.6-<tier> --effort <e> \
        --outcome success|fail|partial [--axes ...] [--reason ...] [--cost N] [--minutes N] [--notes ...]
python3 registry.py stats                          # summary of the registry

The registry starts empty and fills from the user's real usage. Recorded outcomes take priority over the static heuristics below — personal history beats generic rules over time.

Workflow for every task

1. Check the session (function: state)
python3 registry.py session   →  {"model": "...", "effort": "...", "source": "..."}

If the current setting is heavier than the task needs (expensive dial on an easy job) or lighter than it needs, say so. Codex does not auto-switch per turn — the user switches with /model or launches the next session with -m/-c.

2. Recommend (registry first, heuristics second)
python3 registry.py query "<the user's task>" --axes "<4-axis tags>"
  • If best_success_combos exist, recommend that combo first ("a similar task succeeded with Terra + High").
  • If avoid_failures exist, warn against those combos.
  • If the registry has no similar record, fall back to the heuristics below.

Classify the task on four axes and pass them so matching is precise: --axes "verifiable=yes|partial|no,failcost=low|mid|high,volume=high|low,depth=shallow|mid|deep"

  • verifiable — can success be checked mechanically (tests, schema, exact numbers, render errors)?
  • failcost — how costly is a wrong answer?
  • volume — how many times will this run (batch → price-sensitive)?
  • depth — deep world-knowledge / design, or mostly retrieval + assembly?
3. Record the outcome (functions: success + failure)

When the task ends, record it — this is how the advisor learns.

  • Success (user satisfied / checks pass): record --outcome success — future similar tasks will get this combo first.
  • Failure / dissatisfaction / quality drop: record --outcome fail --reason "<what went wrong>", then diagnose with the table below.
  • Ambiguous: partial.

Heuristics for cold start (no registry match)

Reason from the task shape, not from fixed prices.

Task shapeStart withWhy
Formal, verifiable, high-volume (extract, reconcile, convert)economy tier · MediumQuality holds when the task is formal; only cost differs, so pick the cheapest that passes.
Judgment / analysis, mid failure costbalanced tier · HighEffort helps up to a point; the balanced tier is usually enough.
Human-reviewed draft (slides, docs)economy tier · High → human finishesCheap first pass, human does the last mile.
Complex build, mid–high failure cost (apps, simulations, media)balanced tier · MaxThe balanced tier at high effort often matches the frontier tier's quality for far less; the frontier tier rarely justifies its cost here.
Deep knowledge / physics / architecturefrontier tier · HighThis is where model size genuinely decides the outcome. Stay at High.
High failure cost / one correct answer (migration, security)frontier tier · High, escalate to Max on failureBuy a safety margin. Still not Ultra by default.

Effort has a ceiling — a core principle

Reasoning effort shows diminishing returns, and past a point more effort can hurt:

  • Over-fitting to the letter of the spec instead of its intent — optimizing to pass the check rather than to do the work well (reward hacking / benchmark gaming).
  • Runaway self-polishing after the result is already acceptable — cost and wall-clock explode with no quality gain.
  • Delegation overhead without added insight.

Consequences for choosing effort:

  • High is usually the effective ceiling. Going beyond it is often waste.
  • Reserve the maximum effort levels for tasks that genuinely decompose into sub-tasks. Otherwise they burn budget for nothing — verify before using them.
  • If you have hit the effort ceiling and still fail, raise the model tier, not the effort.

Failure diagnosis — pick the right fix

SymptomLikely causeFix
Wrong or shallow at low effortnot enough deliberationraise effort one step (same tier first)
Still wrong at High effortintelligence ceiling reachedraise the model tier — not the effort
Games the check / literal-but-wrong (worse the higher the effort)over-optimizationlower effort and sharpen the spec / strengthen the check
Passed but keeps polishing; time and cost balloon (top effort)no stop conditiondrop to a bounded effort and state a clear Definition-of-Done
Quality is fine but too slow or expensiveover-provisionedlower the tier and/or effort
Delegates but no added insightdelegation overheadavoid the top effort; use a focused High run

After suggesting a fix, record the retry's outcome to close the loop.

Applying it in codex

  • Launch: codex -m gpt-5.6-<tier> -c model_reasoning_effort=<effort> (e.g. -m gpt-5.6-terra -c model_reasoning_effort=high).
  • Switch mid-session: /model.
  • Codex does not change the model per turn on its own. This skill recommends and records; the user makes the switch.

Output format

Keep it short (3–5 lines) and framed as a proposal, not a verdict:

Recommend: <tier> · <effort> — <one-line 4-axis read> (similar past success: <registry hit, or "none — heuristic">) Run this first; if fails, escalate to <higher tier or fix>. Launch: codex -m gpt-5.6-<tier> -c model_reasoning_effort=<effort> · current session: <session read> I'll record the outcome so the next recommendation improves.

Comments

Markdown supported