multi-model-strategy
Use when choosing which AI model to use for a task — pick the right model family and tier based on cost, speed, context needs, and reasoning depth
Best use case
multi-model-strategy is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Use when choosing which AI model to use for a task — pick the right model family and tier based on cost, speed, context needs, and reasoning depth
Teams using multi-model-strategy should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/multi-model-strategy/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How multi-model-strategy Compares
| Feature / Agent | multi-model-strategy | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Use when choosing which AI model to use for a task — pick the right model family and tier based on cost, speed, context needs, and reasoning depth
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Multi-Model Strategy
## Why This is Copilot-Exclusive
Copilot CLI provides a **broad model selection** that can be switched at any time via the
`/model` command or per-agent via the `model` parameter. This lets you mix premium review
models, code-focused implementation models, and fast/cheap exploration models in one workflow
instead of forcing every step through the same model family.
## When to Use
- Deciding whether Copilot Auto should handle model choice or whether to override it manually
- Matching model strengths to task requirements
- Optimizing cost for high-volume operations (use cheaper models for exploration)
- Using premium models for security-critical or architecturally complex work
- Running different models for different sub-agents in the same session
- A/B testing model quality on the same task
- Pairing implementation and review models on the same workflow
## Workflow
### Auto Model Selection
Auto model selection is available in Copilot CLI. When you choose **Auto**, Copilot selects an
appropriate supported model based on your plan and policies, and shows which model was used for each
response in the terminal.
```text
/model
# Select Auto
```
Use Auto when:
- the task mix is broad and you do not want to hand-tune each step
- you want lower mental overhead for everyday work
- the session may shift between exploration, implementation, and review
Prefer a manual override when:
| Scenario | Why override Auto | Suggested path |
|----------|-------------------|----------------|
| High-stakes security or architecture work | You want a guaranteed premium model | choose a premium model explicitly |
| Strict reproducibility matters | Auto can route to different supported models over time | lock a specific model |
| You are comparing two models intentionally | A/B testing requires a stable choice | pick exact model names |
### Model Tiers and Strengths
#### Premium Tier (Deep Reasoning)
| Model | Best For |
|------------------------------|---------------------------------------------|
| `claude-opus-4.7` | Frontier reasoning, most capable Claude |
| `claude-opus-4.6` | Complex architecture, security analysis |
| `claude-opus-4.5` | Deep reasoning, nuanced code review |
#### Standard Tier (General Purpose)
| Model | Best For |
|------------------------------|---------------------------------------------|
| `gpt-5.4` | Latest GPT, strong code generation |
| `gpt-5.3-codex` | Code-optimized GPT |
| `gpt-5.2-codex` | Code-optimized GPT (previous gen) |
| `gpt-5.2` | General purpose |
| `gpt-5.1` | General purpose |
| `claude-sonnet-4.6` | Balanced quality/speed |
| `claude-sonnet-4.5` | Balanced quality/speed (previous gen) |
| `claude-sonnet-4` | Efficient standard reasoning |
#### Fast/Cheap Tier (High Volume)
| Model | Best For |
|------------------------------|---------------------------------------------|
| `gpt-5.4-mini` | Fast implementation and transformation work |
| `gpt-5-mini` | Quick general tasks |
| `gpt-4.1` | Fast, low-cost utility work |
| `claude-haiku-4.5` | Exploration, simple edits, high-volume |
### 1. Switch Your Main Model
```text
/model claude-opus-4.7
```
Changes the model for your current interactive session.
### 2. Per-Agent Model Override
Assign different models to different sub-agents:
```text
# Cheap model for exploration
task(agent_type: "explore", model: "claude-haiku-4.5",
prompt: "Find all files that import the UserService class")
# Premium model for security review
task(agent_type: "code-review", model: "claude-opus-4.7",
prompt: "Review these auth changes for security vulnerabilities")
# Fast model for test generation
task(agent_type: "general-purpose", model: "gpt-5.4-mini",
prompt: "Generate unit tests for src/utils/validator.ts")
```
### 3. Cost-Optimized Workflow
```text
Phase 1 - Exploration (cheap): claude-haiku-4.5
Phase 2 - Planning (standard): claude-sonnet-4.6
Phase 3 - Implementation (code): gpt-5.3-codex
Phase 4 - Review (premium): claude-opus-4.7
Phase 5 - Test generation (fast): gpt-5.4-mini
```
### 4. Pair-Model Workflow
Do not think only in terms of one "best" model. Many tasks are safer when split into
specialized roles:
| Role | Recommended model | Why |
|------|-------------------|-----|
| Builder | `gpt-5.3-codex` | Strong code transformation and implementation speed |
| Planner / synthesizer | `gpt-5.4` or `claude-sonnet-4.6` | Balanced reasoning and summarization |
| Security / architecture reviewer | `claude-opus-4.7` or `claude-opus-4.6` | Stronger high-risk judgment |
| Scout / file search | `claude-haiku-4.5` | Fast, cheap exploration |
This works especially well with [`task-intake-router`](../task-intake-router/SKILL.md)
and [`team-planner`](../team-planner/SKILL.md), where the route and agent roster are
decided before implementation begins.
## Examples
### Security Audit with Premium Model
```text
/model claude-opus-4.7
You: "Perform a security audit of the authentication system in src/auth/.
Check for injection attacks, token handling issues, and OWASP Top 10."
```
Use the most capable model for security-critical analysis.
### Bulk Documentation with Fast Model
```text
# Launch fleet with cheap model for high-volume doc generation
task(agent_type: "general-purpose", model: "gpt-5-mini",
prompt: "Add JSDoc to all exports in src/utils/string.ts")
task(agent_type: "general-purpose", model: "gpt-5-mini",
prompt: "Add JSDoc to all exports in src/utils/array.ts")
task(agent_type: "general-purpose", model: "gpt-5-mini",
prompt: "Add JSDoc to all exports in src/utils/date.ts")
```
### Model Comparison
Test the same task on different models:
```text
task(agent_type: "general-purpose", model: "gpt-5.4",
prompt: "Implement a rate limiter middleware...")
task(agent_type: "general-purpose", model: "claude-sonnet-4.6",
prompt: "Implement a rate limiter middleware...")
```
Compare outputs to find which model produces better code for your use case.
### Builder + Reviewer Pairing
```text
task(agent_type: "general-purpose", model: "gpt-5.3-codex",
prompt: "Implement the pagination changes described in plan.md")
task(agent_type: "code-review", model: "claude-sonnet-4.6",
prompt: "Review the pagination changes for correctness, test gaps, and API regressions")
```
### Ecosystem Monitoring Split
```text
# Step 1: classify the upstream signal
task(agent_type: "general-purpose", model: "gpt-5.4",
prompt: "Use ecosystem-intake and the ecosystem monitoring playbook to review the latest upstream changes and classify them into adopt/adapt/reject for this repository")
# Step 2: only after approval, translate the approved doc change into precise edits
task(agent_type: "general-purpose", model: "gpt-5.3-codex",
prompt: "Update our ecosystem monitoring playbook and related skill docs to reflect the approved changes")
```
This pattern works well for recurring ecosystem monitoring: use a stronger synthesizer first,
then a code-focused model for the actual repository edits.
## Tips
- **Default to Auto for mixed workloads**: it lowers model-picking overhead and keeps routing
flexible when a session spans exploration, implementation, and review.
- **Default to standard tier**: Models like `claude-sonnet-4.6` or `gpt-5.3-codex`
handle 90% of tasks well. Only switch for specific reasons.
- **Use Haiku for exploration**: The `explore` agent defaults to Haiku for a reason —
it's fast, cheap, and great for codebase navigation.
- **Route first, then choose models**: decide the execution path with `task-intake-router`
before spending premium tokens.
- **Premium for high-stakes**: Reserve Opus for security reviews, architecture
decisions, and complex debugging. The cost is worth it for critical code.
- **Codex variants for code**: GPT Codex models are specifically fine-tuned for code
generation and editing — prefer them over base GPT for implementation.
- **Avoid brittle counts**: exact model availability changes over time. Re-check `/model`
or current Copilot docs when updating this playbook.
- **Track model performance**: Note which models work best for your specific codebase
and task types. Build your own playbook over time.
- **Cost tuning is a routing problem**: if spend matters, pair Auto and explicit overrides with
[`token-cost-optimizer`](../token-cost-optimizer/SKILL.md) instead of picking one model blindly.Related Skills
threat-model-analyst
Use when a repository, system, or major change needs a structured STRIDE-A threat model — map architecture, data flows, trust boundaries, abuse cases, and prioritized findings, or update an existing model with a change-focused diff.
launch-strategy
Use when you're preparing to launch a product or feature publicly — builds a structured checklist covering positioning, distribution, messaging, and success metrics from private beta to GA.
pr-multi-perspective-review
Review a pull request from 6 perspectives (PM, Dev, QA, Security, DevOps, UX) for comprehensive, bias-free feedback
content-strategy
Use when you need a content plan to grow organic traffic for a product or new area — produces keyword research, topic clusters, and a content calendar targeting your category.
verification-before-completion
Use before claiming any task is done — run the exact command that proves the fix works, read the output, and only then report success.
using-git-worktrees
Use when you need multiple branches checked out at once — create isolated working directories for parallel development without cloning the repository repeatedly
triage
Use when a single issue needs structured triage — classify it, reproduce if needed, request missing information, and leave a durable brief or close-out note in the tracker.
to-issues
Use when a plan, spec, or PRD must become an actionable backlog — break it into thin dependency-aware issues that each deliver a verifiable vertical slice
sprint-workflow
Use when starting a new feature, refactor, or multi-step dev task — runs the full sprint cycle (Think → Plan → Build → Review → Test → Ship → Monitor) using Copilot CLI's plan/autopilot modes.
sprint-retro
Use at the end of a sprint to run a data-driven retrospective — analyzes session history and git metrics to surface what shipped, what slowed you down, and concrete improvements.
security-audit
Use when a codebase needs a formal security audit beyond a quick scan — applies OWASP Top 10 and STRIDE threat modeling from a CSO perspective to surface systemic vulnerabilities.
release
Use when a sprint or feature is complete and ready to ship — tags the version, generates GitHub Release notes, runs rollout or smoke verification, and publishes to npm/PyPI/Docker registries.