CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl-academy/tuning-your-agent

Guided walkthroughs for the Tuning Your Agent course: review evals, task evals and scenarios, the optimizer, security review, and continuous review in CI. Run one skill per lesson to measure a skill's quality and move the bar deliberately.

74

Quality

93%

Does it follow best practices?

Impact

No eval scenarios have been run

SecuritybySnyk

Advisory

Suggest reviewing before use

Overview
Quality
Evals
Security
Files

SKILL.mdskills/03-optimizing-a-skill/

name:
03-optimizing-a-skill
description:
Use when a learner wants to start, work through, or be guided or tutored through the Optimizing a skill lesson — the closing lesson on improving a skill. Walks them one step at a time through running the review-eval optimizer loop to raise a skill's score, then dogfooding the skill against real work to catch what the optimizer can't see, running a check after each step before moving on. Triggers on asks like guide me through optimizing a skill, start the optimizing lesson, how do I improve my skill's review score, or dogfood my skill before publishing.

Optimizing a skill — walkthrough

You are guiding a learner through the Optimizing a skill 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 run the steps for them — the point is they watch the optimizer change their skill and dogfood it themselves.

The full lesson page is at /academy/tuning/optimizing-a-skill/. This is the last of three lessons on measuring and improving skills (review evals → task evals → optimize). By the end the learner has a commit-conventions skill the optimizer has improved, a dogfooding pass proving it triggers correctly, and a clear read on what the optimizer can't fix.

When you're triggered

The learner has asked to start, work through, or get guided through the "Optimizing a skill" lesson, or asked how to raise a skill's review score or dogfood a skill before publishing.

Before you start — the concept they need

Make sure they hold the boundary before optimizing anything: the optimizer only fixes what review evals can see — structure, frontmatter clarity, body shape. It will not fix a skill that scores 100/100 on review but still produces wrong output; that is a task-eval problem. This is exactly why the lesson pairs the optimizer with a manual dogfooding pass. Confirm they can say what the optimizer can and can't fix before moving on.

They also need the commit-conventions skill from earlier lessons at ./skills/commit-conventions (and tessl login if they have not this session).

How to guide

Walk these in order. After each, run the Check before advancing. If a check fails, troubleshoot that step — do not move on.

1. Optimize the review score

First have them record a baseline. Before changing anything, run a plain review and read the score. Reviews are async — run queues it, view --last reads the report:

tessl review run ./skills/commit-conventions
tessl review view --last

That recorded number is what makes the improvement provable. Then run the optimizer with tessl review fix, which loops the review eval, applying improvements each round until it converges or hits the iteration cap:

tessl review fix --max-iterations 5 ./skills/commit-conventions

It shows each round of changes before applying them; have them read the proposed changes rather than blindly accepting. They can accept, reject, or pass --yes to auto-apply. When it finishes, run a plain review again to compare against the baseline they just recorded:

tessl review run ./skills/commit-conventions
tessl review view --last

Check: the plain re-run reports a higher overall score than the baseline they recorded at the start of this step, and they can point to at least one concrete change the optimizer made to the SKILL.md. If the score did not move, the skill may already be near the ceiling of what review can see, which is fine, and a good moment to reinforce that the rest is a task-eval / dogfooding job.

2. Dogfood before publishing

A passing lint and a score in the 90s are necessary but not sufficient. Have them install the plugin from their filesystem and use the skill against real work:

tessl install file:./plugins/git-hygiene

Then run the real workflow the library claims to support — for git-hygiene: make a commit (does commit-conventions fire?), open a PR (does pr-description fire?), cut a release (does release-notes fire?). Have them watch two things:

  • Triggering. Does each prompt load the right skill? If a prompt loads the wrong skill, or nothing, the descriptions need tightening.
  • Tripping. Do the skills tread on each other? A skill firing when a sibling should have is the classic symptom of overlapping descriptions.

Check: they have run at least one real prompt with the plugin installed locally and can state, concretely, that the right skill fired (or that they found and fixed a triggering/tripping problem). Have them fix anything they found before calling it done.

Verify

Two checks close the loop on this lesson's own work:

  • The optimizer raised the score. The plain review after optimizing reads higher than the baseline they recorded at the start of step 1. If it did not move, the skill was already near the structural ceiling, and the remaining gap is behavioral, which is what the dogfooding pass is for.
  • Dogfooding cleared triggering and tripping. Every prompt that should fire commit-conventions fired it, and no prompt that belongs to a sibling pulled it in instead.

This lesson also closes the review → task → optimize sequence, so confirm the whole arc is in place before calling the skill ready to publish:

  • tessl review run ./skills/commit-conventions returns a score in the 90s (read with tessl review view --last).
  • evals/ contains a generated scenario set they have edited by hand (from the last lesson).
  • tessl eval list --mine shows at least one completed run with a measurable lift between baseline and with-context.
  • Their edited rubric item shows up in the per-rubric breakdown, proof their changes flowed all the way through.

If the per-rubric breakdown does not show their edited rule, the usual cause is tessl eval run picking up a different evals/ directory; have them re-run with the explicit path.

When they finish

Confirm they can state the takeaway: the optimizer closes the structural gap automatically, but dogfooding against real work is what catches the behavioral and triggering problems numbers can't see. With both signals green and a clean dogfooding pass, the skill is ready to publish to their team, the move they learned in Workshop 1. Then hand off to the next lesson without losing context: the next skill, 04-reviewing-skills-for-security, is already installed from this course plugin. Offer to start Reviewing skills for security right now by running that skill. If they'd rather ship first, point them back to the Workshop 1 publishing lesson.

skills

03-optimizing-a-skill

tile.json