| name | oa-prompting-model-tiering |
| description | Model selection guide for oa agents: haiku/sonnet/opus by task type. Use when choosing --model for oa run or oa pipeline. Activates for: which model, claude/haiku, claude/sonnet, claude/opus, model selection, --model. |
| user-invocable | false |
Critical Rules
- ALWAYS use the
claude/sonnet ID format for --model, never claude-sonnet-4-6 — because oa run uses short model aliases, not Anthropic API IDs.
- ALWAYS specify
--model explicitly — because the default may change across oa-cli versions, producing unpredictable behavior.
Model Tiering Table
| Task Type | Model | Rationale |
|---|
| Scanning, listing, parsing, formatting | claude/haiku | Fast, cheap; structured output only |
| Writing, coding, implementation | claude/sonnet | DEFAULT — balanced quality/speed |
| Architecture, deep reasoning, complex orchestration | claude/opus | Maximum depth; use sparingly |
| QA, validation, review | claude/sonnet | Needs judgment, not just speed |
| Research (broad) | claude/sonnet | Good breadth coverage |
| Research (deep analysis) | claude/opus | When depth > speed |
| Batch processing (repetitive) | claude/haiku | Cost efficiency at scale |
Decision Tree
Task type?
├── Scanning / listing / formatting / parsing → claude/haiku
├── Writing / coding / implementation / review → claude/sonnet (DEFAULT)
└── Architecture / deep reasoning / orchestration planning → claude/opus
Patterns
Pattern 1: Correct model flag format
oa run "Implement the auth module" --name builder --model claude/sonnet --direct
oa run "Plan the architecture" --name planner --model claude/opus --direct
oa run "Convert CSV to JSON" --name converter --model claude/haiku --direct
Pattern 2: Model by role in a pipeline
oa run "Plan all implementation steps" --name planner --model claude/opus --direct
oa run "Implement step 1" --name builder-a --model claude/sonnet --direct
oa run "Convert file to JSON" --name converter --model claude/haiku --direct
Anti-Patterns
- Bad:
--model claude — bare alias, version-unstable
- Good:
--model claude/sonnet — explicit tier
- Bad:
--model anthropic/claude-sonnet-4-6 — Anthropic API ID, not oa-cli alias
- Good:
--model claude/sonnet
- Bad: Using
claude/opus for all tasks — expensive and slow for simple work
- Good: Reserve opus for architecture and deep reasoning only
References
- Related: oa-orchestration-spawn, oa-prompting-5element, oa-orchestration-patterns