Feature: semantic model tier aliases for agents, skills, and commands

Resolved 💬 3 comments Opened Feb 5, 2026 by iglodia Closed Feb 9, 2026

Problem

When defining agents in .claude/agents/, the model: frontmatter field accepts specific tier names (opus, sonnet, haiku). While these auto-resolve to the latest model in each tier (e.g., opus → Opus 4.6), the naming is still tied to Anthropic's current product line.

Two issues:

  1. No model: support in skills (.claude/skills/) or commands (.claude/commands/). Only agents support explicit model selection.
  1. Tier names are product names, not intent-based. When specifying model: opus, the intent is "use the most capable model available" — but the name doesn't convey that. Similarly, haiku means "use the fastest/cheapest model" but reads as a specific product.

Proposal

Semantic aliases for model tiers

Support intent-based aliases alongside product names:

| Alias | Maps to | Intent |
|-------|---------|--------|
| best / most-capable | opus | Most capable model available |
| balanced | sonnet | Balance of speed and capability |
| fast / cheapest | haiku | Fastest, lowest cost |

Example in agent frontmatter:

model: best       # Always uses most capable model
model: fast       # Always uses fastest model

Extend model: support to skills and commands

Allow .claude/skills/*/SKILL.md and .claude/commands/*.md to specify a model: field in their YAML frontmatter, similar to agents.

Use case

In a project with 10+ agents, some need the most capable model (documentation writing, complex analysis) while others could use a faster model. When new model generations arrive, the intent ("use the best") should persist without requiring manual updates to every agent file.

Current workaround: agents without explicit model: inherit the parent session's model, which works well. But having semantic aliases would make explicit model choices more maintainable and self-documenting.

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗