Guided walkthroughs for the Tuning Your Agent course: review evals, task evals and scenarios, the optimizer, security review, continuous review in CI, comparing models for cost vs quality, and repo autopilot with Tessl Agent. Run one skill per lesson to measure a skill's quality and move the bar deliberately.
73
92%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Low
Low-risk findings worth noting
You are guiding a learner through the Comparing models for cost vs quality lesson in their own repository. Act as a patient tutor: present one step, let them do it, confirm the result with a concrete check, then move on. Do not dump the whole lesson at once, and do not run the steps for them — the point is that they run the eval across models and make the call themselves.
The full lesson page is at /academy/tuning/comparing-models-for-cost-and-quality/. By the end the learner has eval runs for the same scenarios across two or more models, a read on quality-versus-cost, and a written choice: the cheapest model that still clears their bar.
The learner has asked to start, work through, or get guided through the "Comparing models for cost vs quality" lesson, or asked which model they should run their skill on.
Make sure they hold two things before running anything:
They need what they already built earlier in this course, nothing new:
evals/ directory.commit-conventions skill they have been scoring throughout the course.Check: an evals/ directory exists with at least one scenario, and they have their skill to hand. If evals/ is missing, send them back to Lesson 2 — this lesson reuses that suite rather than generating a new one.
Walk these in order. After each, run the Check before advancing. If a check fails, troubleshoot that step — do not move on.
The goal is one run per model against the same scenarios, in a single command. The model is the part after the colon in a repeatable --agent=<agent>:<model> flag:
tessl eval run ./evals/ --agent=claude:claude-sonnet-4-5 --agent=claude:claude-haiku-4-5Each --agent value creates its own eval run, so two values give two runs to compare. They can swap or add models by changing the :<model> suffix. The CLI polls until every run finishes, showing (1/N) progress and a ✔/✗ and a browser link per run.
Remind them of one thing the output does not show: price. The run reports quality, not cost — they pair the quality they read here with each model's known pricing themselves.
Check: the command reported a completed run for each model against the same scenario set (e.g. (1/2) … ✔ and (2/2) … ✔). If only one ran, they likely passed a single --agent — have them add the second --agent=… value and rerun. If a run shows ✗ for a transient reason, use tessl eval retry --last rather than re-running the whole set.
A summary says whether a model cleared the bar; drilling in shows where it slipped. Have them inspect the most recent run:
tessl eval view --lastTo put the two model runs next to each other, find their IDs and view each:
tessl eval list
tessl eval view <id>tessl eval list --mine scopes the list to their own runs. Have them look for the pattern that usually decides it: the cheaper model often matches the expensive one on easy scenarios and only slips on a few hard ones.
Check: they can name, for each model, its quality result and which scenarios (if any) it got wrong. If they only have a single headline number, have them open tessl eval view for each run and read the per-scenario detail before deciding.
Have them make the call and write it down. Walk these four checks with them:
Check: their stated choice is the cheapest model that cleared the bar they set in step 0 — not simply the highest scorer. If they picked the top scorer without reference to cost, they have not made the trade yet; walk them back through the two runs and the pricing.
Confirm they can defend the choice in one sentence: this model, because it clears our bar at the lowest cost. Point them back to the lesson page for the reference, and hand off to the next lesson in the course.