AI agents are smart. But they're generic. Your agent is trained on a ton of general knowledge, but it doesn't have your specific domain knowledge. It doesn't know your preferences, your team's conventions, or how you personally want things done.
When we learn a new skill — playing basketball, riding a bike — we're adding knowledge we didn't have before. Skills work the same way for your agent. You give it the domain knowledge it's missing, personalized to how you want things done.
What is a skill?
A skill is a reusable set of instructions that teaches an AI agent how to do a specific task well. Think of it like a recipe card you hand to a talented chef. The chef knows how to cook, but they don't know your family's secret sauce. The recipe card tells them exactly what to do.
Without a skill → the agent produces generic output
With a skill → the agent follows your instructions and produces exactly what you want, every time
At its simplest, a skill is just one file: a SKILL.md with a name, description, and instructions. That's it. You can add extras like scripts, references, assets, and evals — but you don't have to. All you need right now is the SKILL.md file.
Level 1 is always in the agent's context. It's just the name and description (~100 words). This is how the agent decides whether to use the skill. If someone says "improve my README", the agent scans its available skills and picks the one whose description matches.
Level 2 loads when the skill triggers. The full SKILL.md body with all the instructions, steps, and examples. This is ideally under 500 lines.
Level 3 loads on demand. Scripts, references, and assets that the agent pulls in only when it needs them. Scripts can even run without being loaded into context at all, saving tokens. And some resources might not load at all for certain projects. For example, a diagram template file only needs to be read if the project is complex enough to need an architecture diagram. Simple projects skip it entirely.
This matters because context windows are limited. A well-designed skill is lean at the top and detailed at the bottom.
Where skills live
Skills can be installed at two levels:
Project-level: in your project directory, available only when you're in that directory
Global: in your home directory, available from anywhere
Each agent checks slightly different locations:
GitHub Copilot:
# Project-level
your-project/.agents/skills/
# Global (works from any directory)
~/.config/agents/skills/
Claude Code:
# Project-level
your-project/.claude/skills/
# Global (works from any directory)
~/.config//skills/
The .agents/skills/ path is the cross-agent convention that works with both. Use this for project-level skills.
The skills ecosystem
There's a whole directory of skills at skills.sh where you can browse and discover skills built by the community.
To install a skill, use the skills CLI:
npx skills add anthropics/skills --skill skill-creator
This installs the skill-creator skill from Anthropic. A skill that helps you create other skills. One command and it's ready to use.
You can see what you have installed:
npx skills list
And search for skills:
npx skills find
Skills work across multiple AI agents — Copilot, Claude Code, Cursor, Goose, and many more. The skills CLI handles installing to the right location for each agent.
SOCIAL SHARE CARD GENERATOR