Path: blob/main/extensions/copilot/assets/prompts/skills/agent-customization/references/skills.md
13405 views
Agent Skills (SKILL.md)
Folders of instructions, scripts, and resources that agents load on-demand for specialized tasks.
Structure
Locations
| Path | Scope |
|---|---|
.github/skills/<name>/ | Project |
.agents/skills/<name>/ | Project |
.claude/skills/<name>/ | Project |
~/.copilot/skills/<name>/ | Personal |
~/.agents/skills/<name>/ | Personal |
~/.claude/skills/<name>/ | Personal |
SKILL.md Format
Body
What the skill accomplishes
When to use (triggers and use cases)
Step-by-step procedures
References to resources:
[script](./scripts/test.js)
Template
Progressive Loading
Discovery (~100 tokens): Agent reads
nameanddescriptionInstructions (<5000 tokens): Loads
SKILL.mdbody when relevantResources: Additional files load only when referenced
Keep file references one level deep from SKILL.md.
Slash Command Behavior
Skills and prompt files both appear after typing / in chat.
| Configuration | Slash command | Auto-loaded |
|---|---|---|
| Default (both omitted) | Yes | Yes |
user-invocable: false | No | Yes |
disable-model-invocation: true | Yes | No |
| Both set | No | No |
When to Use
Repeatable, on-demand workflows with bundled assets (scripts, templates, reference docs).
Core Principles
Keyword-rich descriptions: Include trigger words for discovery
Progressive loading: Keep SKILL.md under 500 lines; use reference files
Relative paths: Always use
./for skill resourcesSelf-contained: Include all procedural knowledge to complete the task
Anti-patterns
Vague descriptions: "A helpful skill" doesn't enable discovery
Monolithic SKILL.md: Everything in one file instead of references
Name mismatch: Folder name doesn't match
namefieldMissing procedures: Descriptions without step-by-step guidance