plugins/cli-agents/skills/update-cli-models/SKILL.md
Updates model catalogs and cheapest-model references for all CLI backends (copilot, agy, claude, codex, llama). Researches current model IDs and pricing from official sources, updates the per-CLI JSON files, refreshes cheapest_models.json/md if the cheapest pick changed, then propagates all copies via sync_cheapest_models.py. Trigger with "update cli models", "refresh model prices", "model costs are stale", "sync model catalog", or "update copilot/agy/claude model list".
npx skillsauth add richfrem/agent-plugins-skills update-cli-modelsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
When triggered, execute all steps below in order. This is an active update run — not a reference. Fetch live data, diff against current JSON files, write changes, and sync at the end.
| File | CLI | Key field |
|---|---|---|
| plugins/cli-agents/references/copilot-models.json | copilot | cli_id uses dot notation e.g. claude-sonnet-4.6 |
| plugins/cli-agents/references/agy-models.json | agy | Gemini models with thinking levels |
| plugins/cli-agents/references/claude-models.json | claude | cli_id uses dash notation e.g. claude-sonnet-5 — more models than Copilot |
| plugins/cli-agents/references/codex-models.json | codex | OpenAI models via codex CLI |
| plugins/cli-agents/references/cheapest_models.json | all | Master cheapest pick per backend |
| plugins/cli-agents/references/cheapest_models.md | all | Master human-readable cheapest + Copilot tier table |
Copies under individual skills are never edited directly — the sync script handles them.
Fetch each source using read_url_content. Use the markdown API endpoints
where available — do NOT scrape raw HTML.
| CLI | Fetch URL |
|---|---|
| copilot pricing | https://docs.github.com/api/article/body?pathname=/en/copilot/reference/copilot-billing/models-and-pricing |
| copilot model IDs | https://docs.github.com/api/article/body?pathname=/en/copilot/reference/ai-models/supported-models |
| agy (Gemini) | https://ai.google.dev/pricing |
| claude | https://platform.claude.com/docs/en/about-claude/models/overview |
| codex (OpenAI) | Try https://openai.com/api/pricing/ — if 403, use search_web for "OpenAI API pricing [current year] per million tokens" |
For each source extract:
For each CLI backend, compare fetched data to the current JSON:
New model? → Add full entry to models[] array, add to appropriate cost_tiers bucket.
Price changed? → Update pricing_usd_per_1m and credits_per_1m fields.
Model withdrawn/deprecated? → Set "status": "withdrawn" or "status": "deprecated", "available": false. Do NOT delete the entry.
Long context tier missing? → Add long_context_pricing_usd_per_1m field with threshold_note.
After any changes, update _meta.updated to today's date on that JSON file.
claude-sonnet-4.6). Prices in AI Credits (credits_per_1m). See _meta.credits_formula.claude-sonnet-5). Has more models than Copilot — the files intentionally differ.cli_id entry. Do not collapse them.Compare current cheapest_models.json entries against what Step 1 found:
| CLI | Current cheapest | Verification question |
|---|---|---|
| copilot | gpt-5.4-nano (20 cr/1M input) | Is there anything cheaper in the catalog? |
| agy | gemini-3.5-flash (Low) | Is Flash (Low) still the cheapest Gemini? |
| claude | claude-haiku-4-5 ($1/1M input) | Is Haiku still cheapest current Claude? |
| codex | gpt-5-mini ($0.25/1M input) | Is there anything cheaper? |
| llama | gemma-4-12b (free, self-hosted) | Always free — no change expected |
If cheapest changed for any CLI:
plugins/cli-agents/references/cheapest_models.json — update model and descriptionplugins/cli-agents/references/cheapest_models.md — update main table row; if Copilot changed, update the Copilot tiers table tooAfter ALL JSON updates are done, run:
python3 plugins/cli-agents/scripts/sync_cheapest_models.py
Verify output shows updated: N files with no errors. This propagates the
master cheapest_models.json and .md to all copies across the repo.
Summarise what changed:
✅ update-cli-models complete — [DATE]
Updated JSON files:
- copilot-models.json: [N new models, M price changes]
- agy-models.json: [changes or "no changes"]
- claude-models.json: [changes or "no changes"]
- codex-models.json: [changes or "no changes"]
Cheapest model changes:
- [cli]: [old model] → [new model] (or "no changes")
Sync: [N] copies of cheapest_models updated across repo.
gpt-5.4-nano. Always use CLI identifier.claude-sonnet-4.6 (Copilot) ≠ claude-sonnet-4-6 (direct API). Wrong notation silently fails at runtime.gemini-3.5-flash (medium) ≠ gemini-3.5-flash-low. Separate cli_id entries.openai.com/api/pricing/ blocks fetchers. Use search_web fallback.cheapest_models.json are symlinks — sync_cheapest_models.py skips them automatically."available": false, "status": "withdrawn". Deletion breaks history.testing
Skill for creating and managing isolated git worktrees (`.worktrees/issue-NNN`) for issue execution branches. USE ONLY when setting up or cleaning up isolated git worktrees for specific issue execution. DO NOT USE for managing local task files (use `task-agent`) or escalating tasks to issues (use `github-issue-backlog-agent`).
data-ai
Skill for orchestrating the end-to-end GitHub issue lifecycle flow: Issue -> Worktree -> Implementation -> PR Creation -> Resolution Closure. USE ONLY when running or dry-running full lifecycle orchestration for resolving an issue with a PR. DO NOT USE for isolated worktree management only (use `issue-worktree-agent`) or logging issues (use `github-issue-agent`).
tools
Automatically ranks GitHub issues (P0-P3) based on friction tier, frequency, and blockages, synchronizing priority labels and GitHub Projects v2 custom fields.
testing
Bridge skill for escalating ephemeral local task scratchpad items (`tasks/*.md`) into durable, taxonomy-validated, evidence-rich GitHub Issues. USE ONLY when promoting a single-session local task into durable repository backlog. DO NOT USE for managing local kanban boards (use `task-agent` instead) or directly querying/commenting on issues (use `github-issue-agent` instead).