How coding agents pick up a skill, and how to call one yourself
Why the description decides everything, and the commands that run a skill by name in Claude Code, Codex and Gemini CLI.
Written by the IndieHacked teamAgent skills4 min read
An agent reads every installed skill's name and description at the start of a session and loads a skill's full instructions only when your request matches that description.
You can also run a skill yourself: /skill-name in Claude Code, $skill-name in Codex.
If a skill never triggers, the description is almost always the reason.
Want your coding agent to walk you through it?Get the prompt
What the agent loads, and when
- At the start of a session the agent loads each skill's name and description, about 100 tokens a skill.
- When your request matches a description, the agent reads that skill's SKILL.md. Anthropic advises keeping it under 5,000 tokens.
- Files the skill points to (references, templates) load only when the agent opens them. A script runs through the shell, and only its output reaches the conversation.
That order is why a large library of skills stays cheap, and why the description carries all the weight: it is the only part the agent sees before it decides.
Calling a skill by name
In Claude Code, type a slash and the skill's name. Anything after the name reaches the skill as its arguments. A skill from a plugin carries the plugin's name first.
/frontend-design
/expo:expo-router add a settings tabCodex runs a skill with $skill-name or lists them with /skills. Gemini CLI loads a skill through its own activate_skill step and asks you to approve it first.
When a skill never triggers
Open its SKILL.md and read the description. It has to say what the skill does and when to use it, in the words you would use when asking. "Helps with design" matches nothing; "Reviews UI code for accessibility and usability problems. Use when asked to review a page or check accessibility" matches the request you will actually type.
Claude Code shows the description in its skill listing and cuts it at 1,536 characters, so put the trigger words first.
Who may run it
Two frontmatter fields in Claude Code decide who starts a skill. disable-model-invocation: true leaves it to you, for skills with side effects such as a deploy. user-invocable: false leaves it to the agent, for background knowledge you never call by hand.
---
name: deploy-preview
description: Deploys the current branch to a preview URL. Use when asked to deploy or share a preview.
disable-model-invocation: true
---Set it up with your coding agent
A prompt for Claude Code, Codex, Cursor or the agent you use. Fill in your setup at the end and it walks you through the work, one step at a time. Free with an account.
Where to go next
- How to add agent skills
Where skills live and how to write your own.
- Skills for a web app
The ones to install first.
Report an error. Spotted a factual or language mistake? .
More guides
All guidesAgent skills6 min read
The agent skills to install before you build a web app
Agent skills5 min read
The agent skills to install before you build a mobile app
A new guide every few days.
Weekly Unpack brings each one to your inbox. One email a week with the launches, the numbers and one founder story.
Subscribe and your account is Plus.