config

A configuration tool for choosing model defaults, capability scores, work-lane settings, and execution behavior across Claude, Grok, and Codex. A model default is the model used when no more specific choice is made.

In plain words
What is it for?
Use it to inspect model availability, environment overrides, worker pins, provider settings, and to update defaults or per-user capability scores.
Why use it?
It shows how the different AI tools are configured and provides the write path for changing those settings after the available models change. This helps identify and correct outdated defaults or worker assignments.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/okisdev/claude-code-fusion/config
Any agent
npx skills add okisdev/claude-code-fusion --skill config
Clone the repo
git clone --depth 1 https://github.com/okisdev/claude-code-fusion

Made for: Claude Code, Codex.

Per session 50 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,720 The whole file, excluding the scripts and references it only reads on demand.
Security scan B 1 finding. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00050 $0.01720
Opus 5 $0.00025 $0.00860
Sonnet 5 $0.00010 $0.00344
Haiku 4.5 $0.00005 $0.00172

Measured 2d ago against content hash bb465d0f5dc1, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade B, and why

config scanned grade B with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Reads agent configuration directoriesmediumAgent snooping

.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.

- Read `~/.claude/settings.json` if it exists and report only the `model` key for the main session model.
plugins/fusion/skills/config/SKILL.md · 40 lines

How it starts

The opening of the file, as written. The whole thing — 40 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Inspect the local model configuration across all peer engines, show what is currently available, and offer targeted edits to the defaults and the per user capability scores. Treat this as the write path counterpart to /fusion:doctor.

Steps:

  1. Gather current state.
    • Capture environment overrides at invocation:
      • CLAUDE_CODE_SUBAGENT_MODEL: !sh -c 'printenv CLAUDE_CODE_SUBAGENT_MODEL || echo "(unset)"'
      • ANTHROPIC_MODEL: !sh -c 'printenv ANTHROPIC_MODEL || echo "(unset)"'
      • ANTHROPIC_DEFAULT_HAIKU_MODEL: !sh -c 'printenv ANTHROPIC_DEFAULT_HAIKU_MODEL || echo "(unset)"'
      • ANTHROPIC_DEFAULT_FABLE_MODEL: !sh -c 'printenv ANTHROPIC_DEFAULT_FABLE_MODEL || echo "(unset)"'
    • Read ~/.claude/settings.json if it exists and report only the model key for the main session model.
    • Read only the frontmatter of every file in ${CLAUDE_PLUGIN_ROOT}/agents/ and report each Claude worker pin's model and effort values.
    • Run grok models to enumerate the account's live model lineup and current default, then extract only model related keys from ~/.grok/config.toml.
    • Extract only the model and model_reasoning_effort keys from ~/.codex/config.toml.
    • Run node "${CLAUDE_PLUGIN_ROOT}/scripts/fusion-config.mjs" show to display the per user quantified engine capability table and its backing file path. Use node "${CLAUDE_PLUGIN_ROOT}/scripts/fusion-config.mjs" show --json only when structured output makes the next edit decision clearer.
    • Never read or print the full peer config files; extract only model related keys, because those files sit next to credentials and private project settings.
    • Do not use Read on ~/.grok/config.toml or ~/.codex/config.toml; use a scoped rg query that matches only model related keys.
    • Degrade gracefully per engine. A missing CLI or config file makes that engine's row show as unavailable; it never aborts the command.
  2. Render one table with columns for configuration surface, current value, available values, and file that owns it. Prefer live enumeration values where available. Include rows for environment overrides, the main session model, Claude worker pins, Grok, and Codex. For unavailable values, write unavailable and include the reason in the current value or available values cell. Then show the capability table output from fusion-config.mjs show as its own compact section.
  3. Propose a scorecard when the user asked for a proposal (for example invoked this skill with "propose") or when the capability table from step 2 has no scored models.
    • Build one proposed row per engine from the live state gathered in step 1: the grok CLI's current default from grok models, the codex default from ~/.codex/config.toml checked against the live codex catalog from codex debug models --bundled or a scoped extraction of ~/.codex/models_cache.json, and the three Claude worker pins. Model ids come only from that live enumeration, never from memory or a hardcoded list. Skip any engine that came back unavailable.
    • Draft intelligence, taste, and cost scores from 1 to 5 for each row plus a one line rationale for the notes field, following the table's priority semantics: intelligence proxies correctness and safety, taste is user facing quality, and cost applies only as the final tie breaker. When a row's default model is newer than your knowledge or its standing is uncertain, verify it against live web sources with WebSearch or WebFetch before proposing a score instead of guessing.
    • Present the whole proposed scorecard in one message, then confirm it with a single AskUserQuestion round offering accept all, adjust rows, or skip. Never write a score the user has not confirmed; the proposal automates the chore, not the decision.
    • Apply only the confirmed rows with the existing rescore command from step 4, one invocation per model with --lane and --notes, then run show and display the resulting table. Scores choose models and fit inside an existing lane; they do not turn Grok into the ordinary implementation default or otherwise change lane ownership. Ownership changes require an explicit routing policy edit.
  4. Offer changes with the AskUserQuestion tool, then apply only what the user picked.
    • For Grok, choices must come from the grok models output, never from a hardcoded list. Edit ~/.grok/config.toml only when the user chooses a Grok default change, touch only model related keys, and preserve the rest of the file byte for byte.
    • For Codex, edit ~/.codex/config.toml only when the user chooses a Codex default or reasoning effort change, touch only the model and model_reasoning_effort keys, and preserve the rest of the file byte for byte. Effort values are per model rather than one fixed list, so read the current model's supported efforts from the live catalog (codex debug models --bundled or a scoped extraction of ~/.codex/models_cache.json) before writing one. The config file holds defaults, and explicit per call --model and --effort overrides on the first party Codex companion take precedence for one job.
    • For Claude worker pins, show a caution before asking: this edits the marketplace checkout and will be overwritten by plugin updates. Edit only the plugin agent frontmatter fields the user selected.
    • For capability scores and posture, use node "${CLAUDE_PLUGIN_ROOT}/scripts/fusion-config.mjs" rescore <id> --intelligence N --taste N --cost N [--lane L] [--notes S], node "${CLAUDE_PLUGIN_ROOT}/scripts/fusion-config.mjs" set-cost-profile <text>, node "${CLAUDE_PLUGIN_ROOT}/scripts/fusion-config.mjs" set-posture <judgment|strict>, and node "${CLAUDE_PLUGIN_ROOT}/scripts/fusion-config.mjs" reset-defaults --yes. This is the same rescore command the proposal step in step 3 batches through. judgment is the default posture and lets the orchestrator choose execution width and locus per package while guards enforce only collected, verified work; main loop writes are counted and advised there, never blocked. strict restores the mandatory floors: main loop writes past the budget are denied again, only a dispatch reopens the write window, and the fleet reminder fires on every prompt. reset-defaults --yes resets model routing only and leaves the posture file intact. Suggest scoring again when /fusion:doctor reports model lineup changes or when the user says the available lineup changed. Model routing mutations refresh the live routing rules, but set-posture does not, so do not hand edit the generated rules block.
    • For the main session model, never write ~/.claude/settings.json; advise the user to use /model instead.
    • If an engine is unavailable or lacks live choices, offer no write option for that engine.
  5. Close with what changed, what was skipped, and any engines that were unavailable. Advise the user to run /fusion:doctor to re-audit. Note that new grok sessions pick up config changes, while already running jobs do not.

Read the full file on GitHub · 40 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 40 lines · 50 tokens per session scan B bb465d0f5dc1

Subscribe to this mod's changes

config is a skill published in the GitHub repository okisdev/claude-code-fusion (3 stars, last pushed 15d ago), licensed MIT. It adds 50 tokens to every session and 1,720 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it B with 1 finding (reads agent configuration directories). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.