The short version
- A skill is what lets a cheap model lead. DeepSeek V4.1 Flash alone got 16.7 of 20 planted facts right. With a one-page skill it got 19.3, against 19.7 for Claude Opus 5.5, at about a tenth of the cost.
- Subagents halve the bill, and no more. With Opus leading and a cheap model doing the reading, quality stayed at 20 of 20 and the cost fell by half. Opus was still about 90% of what was left.
- A router helps most when it knows about skills. A router that only reads the prompt kept Opus in charge and saved a third. Told that a skill covers the task, it gave the work to DeepSeek: 19.3 of 20 at 7% of the cost.
- The skill result depends on the model. The same skill did not lift Claude Haiku 5.5 to the bar.

Average cost of one run for each setup. Solid bars held quality; hollow bars did not.
What it is
The task is one we do every week: bring a customer knowledge base up to date. The agent gets two weeks of our own calls, Slack threads and email, anonymized, and one sentence of instruction. That is 33 call transcripts, 36 Slack files (one per channel per day) and 30 email threads, about 1.55 million characters. It has to update seven customer pages and log every new fact with its source. We planted 20 facts with known answers in those sources. A second model then checks a sample of everything else the agent wrote. Claude Opus 5.5 working alone is the bar. A setup holds quality when, on average, it is at most one planted fact and one sampled row worse than that bar. The rule was fixed before the runs.Comparison matrix
The score table lists the best scores first, ranked by planted facts right and then by rows not backed. The cost table ranks setups by the average cost of one run. Minutes are recorded but not ranked. Runs shared sandboxes, up to eight at a time, and provider load moves wall time more than the setup does. Planted facts and cost are the stable comparison signals.
Haiku and Sonnet rows have two runs each. Every other row has three.
Opus + Sonnet workers: the 19 is one note under “to verify” that names an integration the customer had turned down. Read by hand it is not an error. The script counts it, so the table does too.
Cost
Lowest cost per run first.
DeepSeek + skill: the average includes one run that took 75 minutes and cost $2.40. The other two cost $0.50 and $0.61.
Reading results
- Planted facts right is the headline score: of the 20 planted facts, how many ended up correct, on the right customer, with the final value. It is the mean over the runs listed under Each run.
- Not backed is the check for made-up content: of 15 random rows per run, how many a second model could not support from the file the row cites. A row that is not backed is not always invented. It can cite the wrong file, or record a plan as done.
- Cost per run is token usage times list prices, for every model call in the run, subagents included.
- Held quality applies the rule above: on average at most one planted fact and one sampled row worse than Opus alone.
- The skill is the same in every setup that has one. It describes how to do this kind of update and names no fact from the data. The full text is in How it was run.
- Planted facts test five ways this task goes wrong. They do not measure how many of the real facts a run found.