ci-mockup-figure
Create paper and proposal figures guided by confirmed visual preferences and efficient use of page space. HTML mockups for…
Show, check, and change the model and effort every agent role runs on (interactive sessions, /vet reviewers, review panels, audits, Claude subagents and Workflow agents, prun workers, the Claude advisor) through the one registry at user/agent-models.json. Use when the user asks
Claude Code
$ npx -y skills add yzhao062/anywhere-agents --skill agent-models --agent claude-code
Codex
$ npx skills add yzhao062/anywhere-agents --skill agent-models -a codex -y
Cursor
$ npx skills add yzhao062/anywhere-agents --skill agent-models -a cursor -y
Gemini CLI
$ npx skills add yzhao062/anywhere-agents --skill agent-models -a gemini-cli -y
GitHub Copilot
$ npx skills add yzhao062/anywhere-agents --skill agent-models -a github-copilot -y
OpenCode
$ npx skills add yzhao062/anywhere-agents --skill agent-models -a opencode -y
Windsurf
$ npx skills add yzhao062/anywhere-agents --skill agent-models -a windsurf -y
name: agent-models description: Show, check, and change the model and effort every agent role runs on (interactive sessions, /vet reviewers, review panels, audits, Claude subagents and Workflow agents, prun workers, the Claude advisor) through the one registry at user/agent-models.json. Use when the user asks which model something runs on, wants to switch a model or effort, suspects a setting is not taking effect, or adds a script that launches a model.
One file names the model and effort of every agent: `user/agent-models.json`, the registry. One script reads it: `scripts/agent_models.py`, the resolver. Nothing else in a source repository or a consumer names a concrete model or effort. A dispatcher asks the resolver at run time, and bootstrap writes the interactive values into each tool's own config.
This skill does not repeat the values. Run `show` to see them.
Find the resolver at `scripts/agent_models.py` in a source repository (`agent-config`, `anywhere-agents`) and at `.agent-config/repo/scripts/agent_models.py` in a consumer. Run it with the project's Python (`.agent-config/repo/scripts/_python` or `~/.claude/hooks/_python` finds one). The commands are the same under Claude Code, Codex, and any other agent, on macOS, Linux, and Windows.
1. **One row per family.** The registry has a row for `claude`, `codex`, and `agy`, and an optional row for `grok`. Every role of a family runs on that row unless the registry lists an override for the role. The advisor is the one role that never inherits it. 2. **Roles.** `interactive` is the session a person types into. `reviewer` covers every review: a `/vet` reviewer, a venue or proposal review panel, an internal-review audit. `worker` is a Claude subagent or Workflow agent that does fan-out work. `prun-worker` is a unit `prun` runs. `premium` is optional: a model whose plan allowance is small, for a writing task or another task the user decides is worth it. Nothing dispatches to it automatically, and every task works without it. `advisor` is the model Claude Code's advisor tool consults. It is optional, lists `claude` only, and carries a model with no effort. See "Use the advisor row". A role other than the advisor with no override equals the family row, so a review runs on the same model and effort as the interactive session by default. 3. **Exceptions are listed, never implied.** An override exists only as an entry under `roles` in the registry. If a role should differ from its family, add the entry there; do not put a value in a script, a skill, or a rule file. 4. **No literal outside the registry.** Code resolves at run time. Prose states the rule and points here. `tests/test_agent_models.py` scans the tracked files and fails on a concrete model name or effort value outside the registry, the changelog, archived records, and test fixtures. A line that must quote one (a past measurement, a parser example) carries the marker `agent-models: allow`. 5. **Per-run overrides stay possible.** `CODEX_DISPATCH_MODEL`, `CODEX_DISPATCH_REASONING`, `ANTIGRAVITY_DISPATCH_MODEL`, `ANTIGRAVITY_DISPATCH_EFFORT`, `GROK_DISPATCH_MODEL`, and `GROK_DISPATCH_EFFORT` change one run and outrank the registry. They are for a single run, not a place to keep a default. The Antigravity and Grok variables are read by both `/vet` and `prun`. 6. **Effective, not configured.** A value counts only when the CLI reports it ran on that value. Every dispatcher records the requested and the actual model and effort, and prints `MODEL-MISMATCH` when they differ. See "Check that it took effect".
| Role | Path | |---|---| | Claude interactive | `user/settings.json` carries `model`, `effortLevel`, and the env entry `CLAUDE_CODE_EFFORT_LEVEL`; `agent_models.py render` keeps them equal to the registry, and bootstrap merges the file into `~/.claude/settings.json`. | | Claude advisor | `user/settings.json` carries `advisorModel` while the registry lists an advisor; `render` keeps it equal to the registry, and bootstrap merges the file into `~/.claude/settings.json`. | | Claude reviewer | `dispatch-claude` passes `--model` and `--effort` and sets `CLAUDE_CODE_EFFORT_LEVEL` in the child environment. | | Claude worker | The env entry `CLAUDE_CODE_SUBAGENT_MODEL` in `user/settings.json`. A subagent or Workflow agent that acts as a reviewer passes the reviewer model in the call, which outranks that entry. | | Codex interactive | `agent_models.py sync`, run by bootstrap, sets `model` and `model_reasoning_effort` at the top of `~/.codex/config.toml`. | | Codex reviewer | `dispatch-codex` passes `-c model=` and `-c model_reasoning_effort=`. | | Agy interactive | `sync` sets `model` in `~/.gemini/antigravity-cli/settings.json` to the display name `agy models` lists. | | Agy reviewer | `dispatch-gemini.py` takes the family stem and effort and floats to the newest version Agy lists. | | Grok reviewer / prun worker | No interactive config sync (`~/.grok/config.toml` is untouched). `dispatch-grok.py` and `dispatch-task-grok.py` pass `-m` and `--effort` from the `reviewer` and `prun-worker` rows; `verify --family grok` checks this dispatcher route. | | prun worker | `dispatch-task-agy.py` takes the Agy `prun-worker` row. `dispatch-task.sh` and `.ps1`, used only when the user names Codex for a unit, take the Codex one. `dispatch-task-grok.py`, used only when the user names Grok, takes the Grok one. |
Facts that explain most surprises:
One config for every agent — Claude Code, Codex, and whatever comes next. Start with effective defaults. Add packs, small bundles of rules, skills, or permissions, as you need them. One AGENTS.md drives every agent in every repo on every machine.
Create paper and proposal figures guided by confirmed visual preferences and efficient use of page space. HTML mockups for…
Design editable PowerPoint overview figures, especially Figure 1 for papers and proposals, using source material and the author's…
Review loop (/vet) for staged changes or a plan. Detects the content type, sends a review request to Codex, Agy, Claude, or Grok,…
Context-aware router that detects work type and dispatches to the right skill. Ships with a minimal default routing table; extend…
Parallel delegation fan-out on Agy. The coordinating session decomposes and integrates while task units run in parallel as Agy…
Audit a GitHub README and rewrite it using modern 2025-2026 patterns — centered header, badges, hero image, GitHub alert…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.