Yeda AI Tips · #222

Español

Your Best Skill Never Runs

You wrote a skill you're proud of: careful steps, real expertise, exactly the procedure you keep repeating. It never fires. You end up doing the task by hand next to a file that would have done it for you. The skill isn't the problem, and neither is the model.

Only the description is in the room

A skill has two parts that behave completely differently. The frontmatter tells the agent when to use the skill; the body holds the instructions it follows once running. Crucially, the body loads only when the skill is used — which is what makes long reference material cheap.

What sits in context permanently is a listing of skill names and descriptions, so the agent knows what's available. And the description is what decides selection: it's the field the agent uses to work out when to apply the skill. If you omit it, the first paragraph of the body is used instead.

So the description isn't documentation for a human reader. It's the router. It is the only part of your skill that participates in the decision about whether the rest of it ever executes.

Write it for the dispatcher

That reframing changes how you write it. You're not summarizing the skill; you're describing the situation in which it should fire, in the words someone would actually type when they're in that situation.

Vague descriptions don't degrade gracefully — they simply never match, and the failure is silent. You don't get a warning that a skill was nearly relevant.

The collector's trap

Here's the part most people don't know, and it bites precisely the people who invest most in skills.

The listing has a character budget, scaling at about 1% of the model's context window. When your skills overflow it, descriptions get shortened to fit — which can strip out the very keywords needed to match your request. And the order matters: descriptions are dropped starting with the skills you invoke least, so the ones you use most keep their full text.

Read that carefully, because it's a feedback loop. A rarely-used skill loses its description, which makes it harder to match, which makes it used even less. Your most niche skill — often the one you'd most benefit from being reminded of — is the first to go quiet.

You can see the current state: the Skills row in /context reports the listing's size after the budget is applied, so it reflects what the model actually receives.

Debugging a skill that won't fire

The takeaway

An unfindable skill isn't installed, it's buried. The description is the router, so write it for the dispatcher and lead with the trigger. And if you collect skills, know that overflowing the listing budget silently strips descriptions from your least-used ones first — the exact skills you were relying on the agent to remember for you.

Building an AI feature? Yeda AI designs, audits, and ships production LLM systems.

Talk to us · Read the blog