Skip to content
Founding Lifetime: every Pro skill, pay onceFirst 100 members · $99 onceUpgrade
Lookbook
Sign In

Write a description that makes a skill trigger

How an agent picks a skill, what to put in its description, and how to test that it triggers when it should and stays quiet when it shouldn’t.

For
People who edit a skill or write their own
Written for
Claude CodeCodexCursorGitHub CopilotGemini CLIOpenCodeAny agent that reads SKILL.md folders
Time
4 min read · updated Oct 26, 2026

The short answer

  1. Say what the skill makes and when to use it, in the words people use when they ask for it.
  2. Put the main use first, and keep the whole description under 1,024 characters.
  3. Test with realistic requests, including near misses that should not trigger it.

How an agent picks a skill

At the start of a session an agent loads only each skill’s name and description. When your request matches one, it reads the rest of that skill’s SKILL.md. So the description carries the whole job of getting the skill chosen. The steps below it never get a say.

One more thing to know: agents mostly reach for a skill when the task needs something beyond what they do alone. A one-step request such as “read this PDF” may not trigger a PDF skill, even with a perfect description.

Description limits
WhereWhat the docs say
Agent Skills specThe description is 1 to 1,024 characters, and should say what the skill does and when to use it.
Claude CodeThe listing cuts description plus when_to_use at 1,536 characters. The whole listing gets 1% of the context window, and Claude Code drops descriptions from the least-used skills first.
CodexThe skills list gets at most 2% of the context window, or 8,000 characters when it is unknown. Codex shortens descriptions first.
Copilot CLI, VS Code, OpenCodeThe description is at most 1,024 characters.

What to put in it

Write it as an instruction to the agent, and describe what the person wants, not how the skill works inside. Here is the description of Kinetic Title Drop, a Lookbook skill:

SKILL.md header
description: Make a 6-second 1080p kinetic-type title video (MP4) from three short lines, a chip, a footer and three colours. Use for launch openers, release announcements, social posts and reel intros when someone asks for an animated title, title drop, kinetic typography or a short type-only video.
  1. Step 1: What it makes

    The format, length and file type: “a 6-second 1080p kinetic-type title video (MP4)”.

  2. Step 2: What it needs

    The inputs the person supplies: “three short lines, a chip, a footer and three colours”.

  3. Step 3: When to use it

    The situations and the words people use: “when someone asks for an animated title, title drop, kinetic typography…”. Add requests that don’t name the topic outright, so the skill can still match.

A pattern to start from
<What it makes, with format and length>. <What it needs from the person>. Use when someone asks for <request>, <request> or <request>.

Do

  • Open with the main use, in case the agent shortens the rest.
  • Use the words people type: “title drop”, “OG image”, “pitch deck”.
  • Say what the skill is not for when a nearby skill could be confused with it.

Don’t

  • Write “Helps with PDFs.” That says nothing about when.
  • Describe internals such as scripts or file names.
  • Add the exact words of one failed test request. That fits the test and nothing else.

Test it

  1. Step 1: Write about twenty requests

    Eight to ten that should trigger the skill and eight to ten that should not. Vary the phrasing, and include casual ones with a typo or a file path. The best “should not” requests are near misses that share words with your skill.

  2. Step 2: Run each one a few times

    Agents don’t answer the same way every time. Run each request three times and count how often the skill loaded. A request passes when the rate is above one half for “should trigger” and below it for “should not”.

  3. Step 3: Fix the description, then check with fresh requests

    Change it using about 60% of your requests, and keep the other 40% back to see whether the fix works on requests it never saw. If a “should not” request triggers the skill, make the description more specific. If a “should” request misses, widen it.

In Claude Code, claude plugin validate ~/.claude/skills finds SKILL.md files whose header doesn’t parse. When the header is broken, the skill still loads with no description, so you can run it by name but the agent can’t match it. Run claude --debug to see the parse error.

If you change a Lookbook skill’s description

Every Lookbook description ends with a “Use when” or “Use for” sentence. You can edit it in your copy of SKILL.md, but running the installer again replaces the whole folder, so keep a copy of your edit. Update, roll back and remove skills shows how.

Common questions

Does the body of SKILL.md affect whether a skill triggers?
No. The agent chooses from the name and description, and reads the body only after it picks the skill.
Why doesn’t a simple request trigger my skill?
Agents tend to use a skill for work that needs knowledge or tools beyond what they have. A very simple request may go ahead without it, however good the description.
How long should a description be?
Long enough to cover the skill’s scope and short enough to leave room for your other skills: a few sentences, never over 1,024 characters.

Sources

What this guide says about other companies’ tools comes from their own documentation, checked on Oct 26, 2026.

Did this guide help?

See a skill’s result before you install it.

Every skill page shows what it makes, what it needs and which agents can run it.