What Are Agent Skills? Beginners Guide
Source: Dev.to
Overview
AI agents are powerful, but they start out generic. They know a lot of general information, yet they lack your domain‑specific knowledge, preferences, and team conventions.
A skill is a reusable, self‑contained set of instructions that teaches an agent how to perform a particular task the way you want it to. Think of it as a recipe card for a talented chef: the chef can cook anything, but the card tells them exactly how to make your secret sauce.
- Without a skill → the agent produces generic output.
- With a skill → the agent follows your precise instructions and delivers exactly what you expect, every time.
At its simplest a skill is just one file: SKILL.md containing a name, a description, and the instructions. You can later add scripts, assets, or evaluation files, but they’re optional.
Below is a step‑by‑step guide to creating a good‑morning skill.
Step‑by‑Step Guide
1️⃣ Create the folder structure
You can place skills under any of the following root folders: .agents/, .github/, or .claude/. The convention that works across Copilot, Claude Code, and other tools is .agents/skills/.
your-project/
└── .agents/
└── skills/
└── good-morning/
2️⃣ Add the SKILL.md file
Inside good-morning/ create a file named SKILL.md (all caps – this is how agents locate it).
your-project/
└── .agents/
└── skills/
└── good-morning/
└── SKILL.md
3️⃣ Add the YAML front‑matter
Open SKILL.md and insert the following front‑matter at the very top:
---
name: good-morning
description: "A skill that responds to a good‑morning greeting with a cheerful reply"
---
Important notes
- The
namemust match the folder name (good-morning). If they differ, most editors (and the agent) will raise a warning. - The
descriptionshould be short, specific, and written in plain language. It helps the agent decide when to load this skill.
4️⃣ Write the skill instructions
Everything below the front‑matter is the skill body. This text is only added to the agent’s context when the skill is invoked, keeping the overall prompt size small.
---
name: good-morning
description: "A skill that responds to a good‑morning greeting with a cheerful reply"
---
# Good Morning Skill
**Trigger:** When the user says “good morning”.
**Response:**
1. Greet the user personally.
- Example: `Hi Debbie, hope you have a great day!`
2. Ask about their physical activity today.
- Example: `Did you get a chance to do any sport today?`
3. Include a light‑hearted sports‑related joke.
- Example: `Why did the basketball team go to the bank? Because they wanted to get their *rebound*!`
**Formatting guidelines:**
- Keep the reply concise (2‑3 sentences).
- Use a friendly, upbeat tone.
- End with the joke on a new line for emphasis.
**Optional extras (add later if needed):**
- `script.sh` – a helper script to fetch the user’s name from a config file.
- `assets/` – images or emojis to sprinkle into the response.
- `eval.md` – test cases to verify the skill behaves as expected.
Recap
| Step | What you do | Result |
|---|---|---|
| 1 | Create .agents/skills/good-morning/ folder | Standard location for cross‑tool compatibility |
| 2 | Add SKILL.md (uppercase) | Agent can discover the skill |
| 3 | Insert YAML front‑matter with matching name | Provides quick metadata for the agent |
| 4 | Write clear, actionable instructions | Defines the exact behavior the agent should follow |
You now have a fully functional good‑morning skill! Feel free to expand it later with scripts, assets, or evaluation files, but the SKILL.md alone is enough for the agent to start using it. Happy building!
Example
User: Good morning
Agent:
Hi Debbie, have you done any sport today? Here's a funny joke about sports:
Why did the soccer player bring string to the game? Because he wanted to tie the score!
That’s the complete skill—just one file, a few lines of instructions. Feel free to personalize it (add your name, change the topic, etc.).
How to try it
- Start a new session from the same directory (skills are discovered at session start).
- Type:
Good morning
The agent will locate the SKILL.md file, read it, and respond.
-
In GitHub Copilot you’ll see something like:
“Hi Debbie, have you done any sport today? Here’s a funny joke about sports! Why did the bicycle fall over? Because it was too tired from all that cycling!”
-
In Claude Code you’ll get:
“Hi Debbie, have you done any sport today? Here’s a funny joke for you: Why do basketball players love donuts? Because they can always dunk them!”
The same SKILL.md works across Copilot, Claude Code, and other agents. Each agent discovers the skill, reads the instructions, and follows them.
What a skill can do
Replace the simple “good morning” example with instructions that:
- Generate a polished README
- Write commit messages in your team’s format
- Review code against your standards
The same pattern, but a bigger impact.
Efficient loading with three levels
| Level | When it loads | What it contains | Typical size |
|---|---|---|---|
| 1 | Always in the agent’s context | Name + short description (~100 words) | Tiny |
| 2 | When the skill is triggered | Full SKILL.md body (instructions, steps, examples) | ≤ 500 lines |
| 3 | On demand | Scripts, references, assets (only when needed) | Variable; may never be loaded |
Because context windows are limited, a well‑designed skill stays lean at the top (Level 1) and only pulls in detail when required.
Where skills are installed
Project‑level (available only inside the project directory)
your-project/.github/skills/
your-project/.claude/skills/
your-project/.agents/skills/
Global (available from any directory)
~/.copilot/skills/
~/.claude/skills/
~/.agents/skills/
Note:
The.agents/skills/path follows the Agent Skills open standard (cross‑tool). Claude Code uses its own.claude/structure, not.agents/.
Installing and managing skills
The community maintains a directory of skills at skills.sh that you can browse.
Install a skill
npx skills add anthropics/skills --skill skill-creator
Installs the skill‑creator skill from Anthropic—a helper for building other skills.
List installed skills
npx skills list
Search for skills
npx skills find
The skills CLI automatically places the skill in the correct location for each agent (Copilot, Claude Code, Cursor, Goose, etc.).
Bottom line
Skills are tiny, portable, and work across many AI agents. By keeping the top‑level description short and loading detailed instructions only when needed, you maximize the usefulness of each skill while staying within token limits.