# Model Selection

> Resolve explicit and persistent model preferences for Squad spawns without pinning stale defaults

- Skill: `bradygaster/model-selection` (Agent Skill)
- Install (CLI): `npx skillmds@latest add bradygaster/model-selection`
- Raw SKILL.md: https://api.skillmd.com/api/skills/bradygaster/model-selection/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: bradygaster (https://skillmd.com/u/bradygaster)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/bradygaster/model-selection

---


# Model Selection

Use this skill when the user requests a model, the team configuration contains a saved model
preference, or a specialist charter explicitly requires one.

## Resolution Order

Apply the first available value:

1. Explicit model requested for the current spawn.
2. Current-session model directive from the user.
3. `.squad/config.json` `agentModelOverrides.{specialist-id}`.
4. `.squad/config.json` `defaultModel`.
5. The specialist charter's explicit model requirement.
6. Runtime automatic selection by omitting the model parameter.

An explicit current request always overrides older persistent configuration. Do not invent a model
preference from task type alone, and do not pin a hardcoded fallback that can become obsolete.

## Persistent Preferences

- Save `defaultModel` or `agentModelOverrides` only when the user explicitly asks for persistence.
- Merge model fields into the existing `.squad/config.json`; do not replace unrelated settings.
- Use active specialist IDs from `.squad/casting/registry.json`.
- Validate a requested model against the runtime's currently supported model list.
- To return to automatic routing, remove the applicable override rather than writing an `"auto"`
  sentinel unless the runtime schema explicitly supports it.

## Spawn Behavior

- Pass a model only when resolution steps 1-5 produce a supported value.
- Otherwise omit the model parameter and allow the runtime to select.
- Preserve the user's requested reasoning effort or context tier only when the runtime supports it.
- If a requested model is unavailable, report that failure and fall back to runtime automatic
  selection unless the user supplied a different fallback.

## Stop Conditions

- Stop if the requested model is not supported and no automatic fallback is acceptable.
- Stop rather than rewriting configuration when `.squad/config.json` cannot be parsed safely.
- Do not benchmark models, estimate billing, or modify specialist responsibilities under this skill.

