Picking the Default LLM for the Botsitter-Review Skill
How to pick the default LLM for the botsitter-review skill: a four-axis decision (cost, latency, instruction following, context), per-skill alternates, and the live AI Model Matrix as the price list.

What “default model” even means
The botsitter-review skill ships with a model name pinned in its system prompt. Every voice-note → draft → post cycle uses that model by default unless the operator overrides with --provider anthropic --model <X>. The default isn’t a global; it’s the skill’s preferred model.
A wrong default costs the operator across every review:
- 100x the per-call cost over a year if the pinned model is Opus and Haiku would have done the job.
- 30s of extra latency per draft if the pinned model is a slow reasoning tier.
- Lower-quality drafts if the pinned model is the cheapest tier that cannot keep the body in 5–7 paragraphs.
Operators who treat the default as a “pick once and forget” setting leak money on the easy calls and starve the hard ones.
The four-way decision
Every model choice collapses to four axes. Cost dominates the monthly bill, but the other three axes decide whether a given draft is usable.
| Axis | What it costs | What it saves |
|---|---|---|
| Per-token cost | $0.50–$15 per million tokens depending on provider and model | Cheaper monthly bill, headroom for the hard drafts |
| Latency | 5–30s per chat response depending on model | Faster operator feedback loop; tighter review batches |
| Instruction following | Model cannot keep the body in 5–7 paragraphs, drifts on the transcript, or invents spec lines | Worse drafts, more retries, more manual edits before publish |
| Context window | Max input + output tokens; long transcripts plus a multi-page system prompt can hit a small window | Allows longer voice-notes, longer compare tables, multi-product batches in one call |
A first-pass review draft is a 2,000–3,500 token job: transcript plus system prompt in, structured markdown out. Every reasonable modern model handles it. The decision is which axes matter most for the operator’s usage pattern — volume, batch size, voice-note length, and rejection rate.
Cost is the axis most operators optimize for, but “cheap” is not free. Picking the cheapest model that won’t follow the system prompt saves cents per call and burns tens of minutes per draft in cleanup. The four axes are a dial cluster: turning one affects the others.
The default choices on ABS today
For voice-note review drafting, the ABS production stack uses three model tiers mapped to three job types:
- First draft: Haiku 4.5 or GPT-5 mini. Cheap, fast, follows instructions well for short structured jobs. Roughly $0.01–$0.03 per draft.
- Review pass / quality tightening: Sonnet 5 or GPT-5. Catches the body-flow issues Haiku misses on longer transcripts. Roughly $0.05–$0.10 per pass.
- Image alt-text generation: Cheap model — Haiku 4.5 or a smaller open-weight model via OpenRouter. Short and mechanical.
The “default” — the model the skill pins for the first-pass draft — should be Haiku 4.5 for voice-note review. The system prompt is well-tuned and short enough that it does not need a frontier model to follow it. The body length, paragraph structure, and “For the nerds” footer are hard-coded constraints; a small model holds them reliably. Save the upgraded model for the review-pass step or for manual low-confidence-draft reruns.
Pinning Haiku 4.5 as the default does not mean every call lands there; the operator can promote any single draft to Sonnet 5 with --model claude-sonnet-5. The default is the floor of the cost curve, not the ceiling of the capability curve.
Reading the live AI Model Matrix
The dashboard at https://agenticbotsitter.com/websites/ai-model-matrix/model-matrix.html is the canonical price list. Refresh it before any model change because prices move — a June claude-sonnet-4.5 is often a different price from a July claude-sonnet-4.5.
How to read it:
- Provider column: who you pay — Anthropic, OpenAI, Google, OpenRouter, or self-hosted.
- Per-million tokens: input / output split. Output is 5x input on Anthropic; OpenAI ratios differ.
- Throughput / latency: rough estimate per model — Haiku-class fast, Opus-class slow.
- OpenRouter ★: the model is available via OpenRouter at the listed price.
The display updates daily. Bookmark it. Treat any number you remember from a previous month as stale.
The matrix also catches the model-alias traps. claude-3-5-sonnet-*, claude-sonnet-4-*, claude-sonnet-4.5, and claude-sonnet-5 are four different models with four different prices. The matrix labels every row with the exact model ID the API expects — the only safe way to pick.
Per-skill alternate defaults
The pinned model should match the size and shape of the job.
| Skill | Job shape | Default tier | Why |
|---|---|---|---|
| botsitter-review | First-pass voice-note → markdown draft | Haiku 4.5 (cheap) | Short structured output; instruction-following already tight |
| botsitter-review (review-pass) | Quality tightening, body-flow check | Sonnet 5 (balanced) | Catches the flow issues Haiku drifts on |
| botsitter-image-prompt | Image prompt generation | Sonnet 5 (balanced) | Prompt quality compounds; bad prompt → bad image → bad draft |
| botsitter-alt-text | Alt-text generation | Haiku 4.5 or local small (cheap) | Mechanical, short, no cleverness needed |
| affiliate-link-tag | URL rewrite pass | Local script (free) | Pure regex; no model needed |
| voice-note-to-published-review (orchestrator) | Glue calls + body assembly | Haiku 4.5 (cheap) | Mostly templating; the heavy work happens in child skills |
| first-hand-vs-research-only review classifier | One-shot classification | Haiku 4.5 (cheap) | Single-label classification on a short prompt |
Operators who pin one model across every skill end up overpaying on the cheap jobs and under-serving the expensive ones.
The override
The default is the floor, not a ceiling. The override lives in two places: the CLI flag on the run command, and the model name in the system prompt.
CLI override:
hermes run botsitter-review --provider anthropic --model claude-sonnet-5 \
--input voice-note.m4a --amzn https://amzn.to/<short>
Same skill, same prompt, same input — but the model for that single call is Sonnet 5 instead of the pinned Haiku 4.5. Use it when the transcript is unusually long, when the first draft came back sloppy, or when testing a new tier before changing the global default.
System-prompt override (permanent): edit the model: field in ~/.hermes/skills/botsitter-review/SKILL.md. Change only after the CLI override has proven the new model across at least five diverse reviews. The two paths are deliberately redundant: CLI is per-call and reversible, system-prompt is persistent.
What not to do
- Don’t pin Opus as the default “to be safe.” Opus is 5x the input and 5x the output price of Haiku; the extra reasoning budget goes unused on short structured drafts and shows up as a monthly bill line item.
- Don’t pin the cheapest model on the matrix and hope. Small context, weaker instruction-following, slower on complex prompts — if draft quality drops, the operator pays in cleanup time.
- Don’t change the pinned default based on a single bad draft. Five diverse calls is the minimum sample size.
- Don’t lock the default across every skill. Per-skill defaults exist because job shapes are different; one global default overpays on the cheap jobs.
- Don’t trust a remembered price. Refresh the matrix before every default change; mid-year price moves are common.
- Don’t confuse model family generations.
claude-sonnet-4.5andclaude-sonnet-5are different models with different prices and capability ceilings; the same is true across the GPT-4o, GPT-5, and o-series lines.
Verification checklist
Five commands confirm what is happening before changing the pinned default:
- Pinned model:
grep '^model:' ~/.hermes/skills/botsitter-review/SKILL.md - Last call’s model: Inspect the response
usageblock; on Anthropic and OpenAI this is part of every response. - Live price snapshot:
https://agenticbotsitter.com/websites/ai-model-matrix/model-matrix.html - Last 7d spend by model:
hermes logs --filter model=<X> --sum-tokens - Cron configuration:
crontab -l | grep botsitter-reviewshows whether any pre-pinned defaults exist on the cron side.
Sources
- Anthropic model pricing
- OpenAI model pricing
- ABS live model matrix
- ABS companion: Claude Sonnet vs Haiku vs Opus
- ABS companion: Hermes Agent Anthropic API provider
- ABS companion: Hermes Agent OpenAI and Codex auth
Last verified: 2026-07-14 against the live model matrix and the pinned botsitter-review default in ~/.hermes/skills/botsitter-review/SKILL.md.



Submit a take
Have a different read on this? Drop a comment below — your email isn't published, and I read every one. Nothing leaves the site until I approve it.