-
Notifications
You must be signed in to change notification settings - Fork 18.4k
Feature: Model selection in skill frontmatter #23462
Copy link
Copy link
Open
Labels
area:costarea:modelarea:toolsenhancementNew feature or requestNew feature or requeststaleIssue is inactiveIssue is inactive
Description
Allow skills to declare a preferred model via a model field in frontmatter. Claude Code's skill loader would switch the active model for that skill's execution.
---
name: create-feature-branch
description: Create standardised feature branch
model: haiku
---Why
Many skills are mechanical (git operations, ticket creation, checklist validation) and don't need the most capable model. The only workaround today is dispatching to a subagent via the Task tool — but the orchestration overhead (Opus reading the skill, deciding to dispatch, processing the result) can cost more than just letting Opus do the work directly.
A native model switch at the skill loader level would:
- Reduce cost — simple skills run on Haiku/Sonnet instead of Opus
- Reduce latency — faster models respond faster for mechanical tasks
- Zero orchestration tax — no subagent dispatch overhead
Suggested behaviour
modelfield sets the default for that skill's execution- User settings can override per-skill (e.g. force Opus for everything, or remap specific skills)
- No
modelfield = unchanged behaviour (uses session model)
Real-world assessment
Assessment of ~20 custom skills showed roughly:
- ~5 Haiku — branch creation, tag checkout, ticket creation (mechanical, template-driven)
- ~9 Sonnet — code review checks, test validation, release readiness (pattern matching against rules)
- ~5 Opus — brainstorming, architectural planning, debugging (deep reasoning, creative exploration)
That's significant cost savings for teams using skills heavily.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
area:costarea:modelarea:toolsenhancementNew feature or requestNew feature or requeststaleIssue is inactiveIssue is inactive
Type
Fields
Give feedbackNo fields configured for issues without a type.