Borrowing it
Nothing to install: this file belongs to nerdai/llm-agents-from-scratch. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/nerdai/llm-agents-from-scratch/main/.claude/skills/benchmark-ollama-models/SKILL.mdgit clone --depth 1 https://github.com/nerdai/llm-agents-from-scratchWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/nerdai/llm-agents-from-scratch/benchmark-ollama-models)<a href="https://agentmods.dev/skills/nerdai/llm-agents-from-scratch/benchmark-ollama-models"><img src="https://agentmods.dev/badge/skills/nerdai/llm-agents-from-scratch/benchmark-ollama-models/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/nerdai/llm-agents-from-scratch/benchmark-ollama-models"><img src="https://agentmods.dev/badge/skills/nerdai/llm-agents-from-scratch/benchmark-ollama-models.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00083 | $0.01725 |
| Opus 5.5 | $0.00033 | $0.00690 |
| Sonnet 5.5 | $0.00017 | $0.00345 |
| Haiku 4.5 | $0.00008 | $0.00172 |
Grade A, and why
benchmark-ollama-models scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 26d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 132 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Benchmark Ollama Cloud models
Pick the default Ollama Cloud model by what the chapter notebooks' agents
do, not whether the notebooks finish. The tool is
_scripts/benchmark_models.py; this skill is the procedure around it.
Why behaviour, not pass/fail
A notebook can run to completion while the model gets the lesson wrong.
Both of these happened with gemma4:31b:
- Faked tool calls: ch04 "passed" while the agent made no tool calls and wrote a trace claiming it had.
- Subagent out of steps: ch09 "passed" because the coordinator handles the failure gracefully.
benchmark_models.py records ran (no errors) and behaved (ran and
met every check in its EXPECTATIONS table for that chapter). Rank by
behaved.
When to run it
- Before changing the Ollama Cloud default in
src/llm_agents_from_scratch/notebook_utils/llm.py(_MODELS["ollama-cloud"]). - When the current default is retired, or Ollama Cloud adds models.
- Occasionally, to catch drift in the current default.
Procedure
Load the keys first: set -a && source .env && set +a.
- List the models:
uv run python _scripts/benchmark_models.py models - Stage 1: screen every model on the quick chapters (ch03–ch07),
plus ch04 two more times, since its failure mode is intermittent. Run
models in parallel; these notebooks bind no ports:
runappends, so start from a fresh file; otherwise an earlier benchmark's records leak into this ranking:
Keep the models with a perfect stage-1 score, usually a handful.rm -f stage1.jsonl uv run python _scripts/benchmark_models.py models | xargs -P 3 -I{} \ uv run python _scripts/benchmark_models.py run {} --out stage1.jsonl uv run python _scripts/benchmark_models.py models | xargs -P 3 -I{} \ uv run python _scripts/benchmark_models.py run {} --chapters ch04 \ --runs 2 --out stage1.jsonl uv run python _scripts/benchmark_models.py summary stage1.jsonl - Stage 2: the shortlist, 3 runs of every chapter with a behaviour
check, so nothing that decides the default rests on a single run. ch08
is the approval gate; ch09 has concurrent subagents, chaining and human
input, and is where models most often fail:
This takes 20–30 minutes; ch09 alone is 2–5 minutes per run.rm -f stage2.jsonl printf '%s\n' <model> <model> ... | xargs -P 3 -I{} \ uv run python _scripts/benchmark_models.py run {} \ --chapters ch04,ch05,ch06,ch07,ch08,ch09 --runs 3 --out stage2.jsonl uv run python _scripts/benchmark_models.py summary stage2.jsonl - Pick: the highest behaved score, then the fastest (readers wait on ch09). Name a backup, the next model with a perfect score.
- Check the pick on what the benchmark skips, with
OLLAMA_MODEL=<pick>and an isolated HOME (see Pitfalls):- ch10 (A2A peer apps; the CrewAI peer uses
ollama_chat/<pick>) - ch02–ch03
- one
_scripts/run_notebook.pypass overmore-examples/andcapstones/
- ch10 (A2A peer apps; the CrewAI peer uses
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 26d ago First seen · 132 lines · 83 tokens per session scan A 96ffbd9cc1c2
benchmark-ollama-models is a skill published in the GitHub repository nerdai/llm-agents-from-scratch (194 stars, last pushed yesterday), licensed Apache-2.0. It adds 83 tokens to every session and 1,725 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-12.
benchmark-ollama-models compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| benchmark-ollama-modelsnerdai/llm-agents-from-scratch | Skill | 194 | yesterday | Apache-2.0 | A | 83 | Claude Code |
| llm-app-patternsdavila7/claude-code-templates | Skill | 33k | yesterday | MIT | A | 54 | Claude Code, Codex |
| prompt-engineerJeffallan/claude-skills | Skill | 12k | 7d ago | MIT | A | 93 | Claude Code |
| prompt-optimizationlangwatch/langwatch | Skill | 5.0k | yesterday | Apache-2.0 | A | 105 | Claude Code, Codex |
| omh-model-optimizationrlaope/oh-my-hermes | Skill | 5.2k | today | MIT | A | 84 | Claude Code, Codex |
| ideogram4digitalsamba/claude-code-video-toolkit | Skill | 2.5k | today | MIT | A | 99 | Claude Code |
| prompt-library-for-startupsaws/agent-toolkit-for-aws | Skill | 3.4k | yesterday | Apache-2.0 | A | 228 | Claude Code |