원클릭으로
model-selection
Determine which LLM model to use for each agent spawn based on configuration, session directives, and task type
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Determine which LLM model to use for each agent spawn based on configuration, session directives, and task type
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Authorization Code Flow for web applications using MSAL.NET confidential client to sign in users and access APIs on their behalf
Handle MSAL distributed token cache collisions and stale entries in ASP.NET Core applications
On-Behalf-Of (OBO) Flow for web APIs to call downstream APIs while preserving user identity in MSAL.NET
{what this skill teaches agents}
Review API DTO implementations for contract/domain separation, mapping patterns, and REST compliance
This skill should be used when the user asks to "build a feature", "fix a bug", "implement something", "start a dev cycle", types "/dev", or describes a software task that requires design, implementation, testing, and shipping. Orchestrates the full software development lifecycle from interrogation through shipping, with self-learning that improves over time.
| name | model-selection |
| description | Determine which LLM model to use for each agent spawn based on configuration, session directives, and task type |
Determines which LLM model to use for each agent spawn.
✅ THIS SKILL PRODUCES:
model parameter for every task tool call.squad/config.json❌ THIS SKILL DOES NOT PRODUCE:
Squad supports 18+ models across three tiers (premium, standard, fast). The coordinator must select the right model for each agent spawn. Users can set persistent preferences that survive across sessions.
Resolution is first-match-wins — the highest layer with a value wins.
| Layer | Name | Source | Persistence |
|---|---|---|---|
| 0a | Per-Agent Config | .squad/config.json → agentModelOverrides.{name} | Persistent (survives sessions) |
| 0b | Global Config | .squad/config.json → defaultModel | Persistent (survives sessions) |
| 1 | Session Directive | User said "use X" in current session | Session-only |
| 2 | Charter Preference | Agent's charter.md → ## Model section | Persistent (in charter) |
| 3 | Task-Aware Auto | Code → sonnet, docs → haiku, visual → opus | Computed per-spawn |
| 4 | Default | claude-haiku-4.5 | Hardcoded fallback |
Key principle: Layer 0 (persistent config) beats everything. If the user said "always use opus" and it was saved to config.json, every agent gets opus regardless of role or task type. This is intentional — the user explicitly chose quality over cost.
.squad/config.jsondefaultModel field — if present, this is the Layer 0 override for all spawnsagentModelOverrides field — if present, these are per-agent Layer 0a overridesagentModelOverrides.{agentName} in config.json? → Use it.defaultModel in config.json? → Use it.## Model section? → Use it.claude-sonnet-4.6claude-sonnet-4.6claude-opus-4.6claude-haiku-4.5claude-haiku-4.5🔧 {Name} ({resolved_model}) — {task}Trigger phrases: "always use X", "use X for everything", "switch to X", "default to X"
defaultModel to .squad/config.json (merge, don't overwrite)✅ Model preference saved: {model} — all future sessions will use this until changed.Per-agent trigger: "use X for {agent}"
agentModelOverrides.{agent} in .squad/config.json✅ {Agent} will always use {model} — saved to config.Trigger phrases: "switch back to automatic", "clear model preference", "use default models"
defaultModel from .squad/config.json✅ Model preference cleared — returning to automatic selection.After resolving the model and including it in the spawn template, this skill is done. Do NOT:
.squad/config.json).squad/config.json model-related fields:
{
"version": 1,
"defaultModel": "claude-opus-4.6",
"agentModelOverrides": {
"fenster": "claude-sonnet-4.6",
"mcmanus": "claude-haiku-4.5"
}
}
defaultModel — applies to ALL agents unless overridden by agentModelOverridesagentModelOverrides — per-agent overrides that take priority over defaultModelIf a model is unavailable (rate limit, plan restriction), retry within the same tier:
Premium: claude-opus-4.6 → claude-opus-4.6-fast → claude-opus-4.5 → claude-sonnet-4.6
Standard: claude-sonnet-4.6 → gpt-5.4 → claude-sonnet-4.5 → gpt-5.3-codex → claude-sonnet-4
Fast: claude-haiku-4.5 → gpt-5.1-codex-mini → gpt-4.1 → gpt-5-mini
Never fall UP in tier. A fast task won't land on a premium model via fallback.