🔎 The only text that matters when choosing
New here? When you have several skills installed, the agent doesn't read
each skill's full `skill.md` all the time — that would cost a lot in tokens (the unit that measures how much text
was processed, covered in module 0.1). To decide which skill fits your request, it scans only the description — the short sentence at the top of the file, in the front matter.
This is module 3.2’s three-level loading in practice: level 1 is the name and description, and it’s ONLY with this level 1 that the agent decides whether to open the full skill (level 2). If the description doesn’t convince it, the skill isn’t even considered—no matter how good the steps inside are. It’s the label on a drawer: if it doesn’t accurately describe what’s inside, no one will open that drawer at the right time.
💡 Main Concept
The description doesn’t describe WHAT the skill is—it describes WHEN to use it.
- •It's compared against the user's request, not read in isolation.
- •Concrete words the user would say carry more weight than internal technical jargon.
⚖️ Vague vs. specific
A vague description talks about the general domain; a good one describes the specific SITUATION that triggers it. Compare: “helps with documents” doesn’t give you anything useful for making a decision — almost any request “fits” that, or none really do. But “generates a contract PDF from a Word template when the user asks for ‘contract,’ ‘generate PDF,’ or ‘document template’” gives the agent real trigger words to compare with the request.
✗ Vague description
- ✗"Helps with documents."
- ✗"Tool for reports."
- ✗"General automation skill."
✓ Specific description
- ✓"Generates a contract PDF from a Word template when the user asks for a 'contract' or to 'generate PDF'."
- ✓"Generates the monthly sales report in PDF when the user says 'month-end close'."
- ✓"Schedules a recurring task when the user says 'every day,' 'every week,' or 'run on its own.'"
✨ Practical Tip
Write the description as if you were answering "when should I open this drawer?"—not "what’s inside this drawer?" The right question changes the entire text.
⌨️ /explicit command vs. natural language
New here? There are two ways to trigger a skill. The first is
to type the /nome-da-skill direct — like calling someone by their exact name,
with no room for error, because you're pointing to the `name` in the front matter. The second is to write in
plain English ("generate this month's report") and let the agent MATCH your intent to the description
from an installed skill—like a receptionist who hears your request and knows which department to send you to.
Caption: the request in Portuguese comes in on the left; the agent compares it with the description of each installed skill (highlighted in the middle) and activates the best match — in this example, skill C.
🔍 Inside
- /command: zero ambiguity — you chose the skill by name, period.
- Natural language: depends entirely on the quality of the description for ALL installed skills, not just yours.
- Most well-made skills work in both modes because the `name` is clear AND the `description` is specific.
⚠️ Common description errors
Three traps keep recurring: (1) too generic—words that could describe any skill in the domain; (2) focused on “what the skill is” (“PDF tool”) instead of “when to use it” (“generates a contract PDF when the user says X”); (3) overlap—two skills with similar descriptions competing for the same request, which makes the agent choose incorrectly or hesitate between them.
How a description evolves: bad → better → good
# Ruim
description: Ajuda com relatórios da empresa.
# Melhor
description: Gera relatórios em PDF a partir de planilhas Excel.
# Boa
description: Gera o PDF do relatório mensal de vendas a partir da
planilha vendas.xlsx quando o usuário pedir "relatório mensal",
"fechamento do mês" ou "PDF de vendas". Não usar para relatórios
de outro tipo (ver skill "relatorio-financeiro-anual").
⚠️ Attention
The “good” version above does more than describe—it also says what NOT to cover, pointing to another skill. That resolves the overlap before it becomes a problem (see topic 5).
🥊 Competition between similar skills
When two skills compete for the same situation — for example, "skill-relatorio-vendas" and "skill-relatorio-geral" with similar descriptions — the agent may get confused, choose the wrong one, or ask you too many questions to break the tie. The solution is to DIFFERENTIATE: each description should make clear the boundary that separates it from the other, not just what it does. Think of two neighboring storefront signs — if both say "sells food," customers won't know which is the pizzeria and which is the ice cream shop.
User types: "put together the July sales report".
The agent scans the descriptions of all installed skills in parallel—not one at a time in order.
If two descriptions match equally well, the agent may choose the “more specific” one or stop and ask—a behavior that isn’t always predictable.
With clearly differentiated descriptions, there’s an immediate, unambiguous match—no hesitation.
✗ Conflicting descriptions
- ✗"Generates a sales report." (skill A)
- ✗"Generates the monthly report." (skill B)
✓ Distinct descriptions
- ✓"Generates a sales-by-region report in Excel." (skill A)
- ✓"Generates the month's consolidated financial report in PDF." (skill B)
🧪 Testing whether the description triggers correctly
You don’t have to guess whether the description works — you can test it directly. Open a new session (without context from the previous conversation), write a natural-language request the way a real user would, and see whether the agent recognizes and activates the right skill. Repeat with 2-3 different sentences that describe the same intent — if any fail, the trigger is still too weak.
Copy-run—objective
In a new session, test whether your skill’s description triggers with 3 different phrases a real user might say.
Sem executar nada ainda: olhando só as descriptions das skills
que você tem disponíveis agora, me diga qual skill você usaria
para cada um destes três pedidos, e por quê:
1) "<frase 1 que um usuário real diria>"
2) "<frase 2, mesma intenção, palavras diferentes>"
3) "<frase 3, mais indireta/informal>"
Se nenhuma skill combinar bem com algum pedido, me diga isso
também — não force um match.
How to verify: all three answers should point to your skill <nome-da-skill>. If any of them points to another skill (or none at all), go back to the description and adjust the trigger words.
✨ Practical Tip
Ask someone who did NOT write the skill to describe, in their own words, when they would use it — if their description doesn't match yours, the description is wrong, not the person.
Quick check (optional): what does the agent read FIRST to decide which skill to use among several installed ones?