You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Restore 'Copilot' and 'AI agent' terminology to match
the original doc's conventions. Keep new substantive content
(Writing High-Impact Skills, Gotchas, expanded examples).
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copy file name to clipboardExpand all lines: instructions/agent-skills.instructions.md
+27-27Lines changed: 27 additions & 27 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,18 +1,18 @@
1
1
---
2
-
description: 'Guidelines for creating high-quality Agent Skills'
2
+
description: 'Guidelines for creating high-quality Agent Skills for GitHub Copilot'
3
3
applyTo: '**/skills/**/SKILL.md'
4
4
---
5
5
6
6
# Agent Skills File Guidelines
7
7
8
-
Instructions for creating effective and portable Agent Skills that enhance AI agents with specialized capabilities, workflows, and bundled resources.
8
+
Instructions for creating effective and portable Agent Skills that enhance GitHub Copilot with specialized capabilities, workflows, and bundled resources.
9
9
10
10
## What Are Agent Skills?
11
11
12
-
Agent Skills are self-contained folders with instructions and bundled resources that teach agents specialized capabilities. Unlike custom instructions (which define coding standards), skills enable task-specific workflows that can include scripts, examples, templates, and reference data.
12
+
Agent Skills are self-contained folders with instructions and bundled resources that teach AI agents specialized capabilities. Unlike custom instructions (which define coding standards), skills enable task-specific workflows that can include scripts, examples, templates, and reference data.
13
13
14
14
Key characteristics:
15
-
-**Portable**: Works across VS Code, Copilot CLI, Copilot coding agent, and other Agent Skills-compatible tools
15
+
-**Portable**: Works across VS Code, Copilot CLI, and Copilot coding agent
16
16
-**Progressive loading**: Only loaded when relevant to the user's request
17
17
-**Resource-bundled**: Can include scripts, templates, examples alongside instructions
18
18
-**On-demand**: Activated automatically based on prompt relevance
@@ -51,7 +51,7 @@ license: Complete terms in LICENSE.txt
51
51
52
52
### Description Best Practices
53
53
54
-
**CRITICAL**: The `description` field is the PRIMARY mechanism for automatic skill discovery. The agent reads ONLY the `name` and `description` to decide whether to load a skill. If your description is vague, the skill will never be activated.
54
+
**CRITICAL**: The `description` field is the PRIMARY mechanism for automatic skill discovery. Copilot reads ONLY the `name` and `description` to decide whether to load a skill. If your description is vague, the skill will never be activated.
- No specific triggers (when should the agent load this?)
72
+
- No specific triggers (when should Copilot load this?)
73
73
- No keywords (what user prompts would match?)
74
74
- No capabilities (what can it actually do?)
75
75
76
76
### Body Content
77
77
78
-
The body contains detailed instructions that the agent loads AFTER the skill is activated. Recommended sections:
78
+
The body contains detailed instructions that Copilot loads AFTER the skill is activated. Recommended sections:
79
79
80
80
| Section | Purpose |
81
81
|---------|---------|
@@ -95,7 +95,7 @@ For content quality principles (what to include and what to leave out), see [Wri
95
95
96
96
**`# Title`** — One sentence stating what the skill enables. Avoid generic phrasing; be specific about the domain.
97
97
98
-
**`## When to Use This Skill`** — A bullet list of concrete scenarios that reinforce the description triggers. This helps the agent confirm it loaded the right skill.
98
+
**`## When to Use This Skill`** — A bullet list of concrete scenarios that reinforce the description triggers. This helps Copilot confirm it loaded the right skill.
99
99
100
100
```markdown
101
101
## When to Use This Skill
@@ -105,7 +105,7 @@ For content quality principles (what to include and what to leave out), see [Wri
105
105
- User wants to debug frontend behavior with browser console logs
106
106
```
107
107
108
-
**`## Prerequisites`** — Only include if the skill requires tools, services, or configuration that the agent cannot assume are available. List exact install commands.
108
+
**`## Prerequisites`** — Only include if the skill requires tools, services, or configuration that Copilot cannot assume are available. List exact install commands.
109
109
110
110
```markdown
111
111
## Prerequisites
@@ -135,7 +135,7 @@ For content quality principles (what to include and what to leave out), see [Wri
135
135
-**Never** call `billing.charge()` without checking `user.hasPaymentMethod` first —
136
136
the SDK throws an unrecoverable error instead of returning a failure.
137
137
- The `currency` field expects ISO 4217 codes, not display names.
138
-
The agent often writes "dollars" instead of "USD".
138
+
Copilot often writes "dollars" instead of "USD".
139
139
```
140
140
141
141
**`## Troubleshooting`** — Reactive fixes for known issues, presented as a table of symptom → solution pairs. Each row should be self-contained and actionable.
@@ -154,16 +154,16 @@ For content quality principles (what to include and what to leave out), see [Wri
154
154
155
155
## Bundling Resources
156
156
157
-
Skills can include additional files that the agent accesses on-demand:
157
+
Skills can include additional files that Copilot accesses on-demand:
158
158
159
159
### Supported Resource Types
160
160
161
161
| Folder | Purpose | Loaded into Context? | Example Files |
|`scripts/`| Executable automation that performs specific operations | When executed |`helper.py`, `validate.sh`, `build.ts`|
164
-
|`references/`| Documentation the agent reads to inform decisions | Yes, when referenced |`api_reference.md`, `schema.md`, `workflow_guide.md`|
165
-
|`assets/`|**Static files used AS-IS** in output (not modified by the agent) | No |`logo.png`, `brand-template.pptx`, `custom-font.ttf`|
166
-
|`templates/`|**Starter code/scaffolds that the agent MODIFIES** and builds upon | Yes, when referenced |`viewer.html` (insert algorithm), `hello-world/` (extend) |
164
+
|`references/`| Documentation the AI agent reads to inform decisions | Yes, when referenced |`api_reference.md`, `schema.md`, `workflow_guide.md`|
165
+
|`assets/`|**Static files used AS-IS** in output (not modified by the AI agent) | No |`logo.png`, `brand-template.pptx`, `custom-font.ttf`|
166
+
|`templates/`|**Starter code/scaffolds that the AI agent MODIFIES** and builds upon | Yes, when referenced |`viewer.html` (insert algorithm), `hello-world/` (extend) |
167
167
168
168
### Directory Structure Example
169
169
@@ -195,12 +195,12 @@ Skills can include additional files that the agent accesses on-demand:
195
195
- A `report-template.html` copied as output format
196
196
- A `custom-font.ttf` applied to text rendering
197
197
198
-
**Templates** are starter code/scaffolds that **the agent actively modifies**:
199
-
- A `scaffold.py` where the agent inserts logic
200
-
- A `config.template` where the agent fills in values based on user requirements
201
-
- A `hello-world/` project directory that the agent extends with new features
198
+
**Templates** are starter code/scaffolds that **the AI agent actively modifies**:
199
+
- A `scaffold.py` where the AI agent inserts logic
200
+
- A `config.template` where the AI agent fills in values based on user requirements
201
+
- A `hello-world/` project directory that the AI agent extends with new features
202
202
203
-
**Rule of thumb**: If the agent reads and builds upon the file content → `templates/`. If the file is used as-is in output → `assets/`.
203
+
**Rule of thumb**: If the AI agent reads and builds upon the file content → `templates/`. If the file is used as-is in output → `assets/`.
204
204
205
205
### Referencing Resources in SKILL.md
206
206
@@ -224,7 +224,7 @@ Skills use three-level loading for efficiency:
224
224
|-------|------------|------|
225
225
| 1. Discovery |`name` and `description` only | Always (lightweight metadata) |
226
226
| 2. Instructions | Full `SKILL.md` body | When request matches description |
227
-
| 3. Resources | Scripts, examples, docs | Only when the agent references them |
227
+
| 3. Resources | Scripts, examples, docs | Only when Copilot references them |
228
228
229
229
This means:
230
230
- Install many skills without consuming context
@@ -279,21 +279,21 @@ Scripts enable evolution: even simple operations benefit from being implemented
279
279
280
280
## Writing High-Impact Skills
281
281
282
-
### Focus on What the Agent Doesn't Know
282
+
### Focus on What Copilot Doesn't Know
283
283
284
-
Do not include information the agent already knows from its training data — standard language syntax, common library usage, or well-documented API behavior. Every line in a skill should teach something the agent would otherwise get wrong or miss entirely. If the information is on the first page of official docs, leave it out. Focus on internal conventions, non-obvious defaults, version-specific quirks, and domain-specific workflows that change the agent's behavior.
284
+
Do not include information Copilot already knows from its training data — standard language syntax, common library usage, or well-documented API behavior. Every line in a skill should teach something Copilot would otherwise get wrong or miss entirely. If the information is on the first page of official docs, leave it out. Focus on internal conventions, non-obvious defaults, version-specific quirks, and domain-specific workflows that change Copilot's behavior.
285
285
286
286
### Context Budget Awareness
287
287
288
-
All skill descriptions share a limited portion of the available context window during discovery. Your description competes with every other installed skill for the agent's attention. Keep descriptions concise and keyword-dense — aim for the shortest text that still communicates WHAT, WHEN, and relevant KEYWORDS. Verbose descriptions don't just waste your own budget; they reduce visibility for every other skill in the system.
288
+
All skill descriptions share a limited portion of the available context window during discovery. Your description competes with every other installed skill for Copilot's attention. Keep descriptions concise and keyword-dense — aim for the shortest text that still communicates WHAT, WHEN, and relevant KEYWORDS. Verbose descriptions don't just waste your own budget; they reduce visibility for every other skill in the system.
289
289
290
290
### Gotchas Are Your Highest-Signal Content
291
291
292
-
The `## Gotchas` section is consistently the most valuable part of any skill — proactive warnings that prevent mistakes before they happen. This is distinct from `## Troubleshooting`, which provides reactive fixes after something goes wrong. Treat gotchas as a living section: every time the agent produces a wrong result, add a gotcha. Bold the key constraint, then explain why (e.g., "**Never** call `X()` without checking `Y` first — the SDK throws an unrecoverable error").
292
+
The `## Gotchas` section is consistently the most valuable part of any skill — proactive warnings that prevent mistakes before they happen. This is distinct from `## Troubleshooting`, which provides reactive fixes after something goes wrong. Treat gotchas as a living section: every time Copilot produces a wrong result, add a gotcha. Bold the key constraint, then explain why (e.g., "**Never** call `X()` without checking `Y` first — the SDK throws an unrecoverable error").
293
293
294
294
### Prefer Flexible Guidelines Over Rigid Steps
295
295
296
-
Use numbered steps only for concrete, repeatable procedures (build, deploy, environment setup) where the sequence genuinely matters. For open-ended tasks (debugging, refactoring, code review), provide decision criteria and reference information instead — the agent needs flexibility to adapt to the user's specific situation.
296
+
Use numbered steps only for concrete, repeatable procedures (build, deploy, environment setup) where the sequence genuinely matters. For open-ended tasks (debugging, refactoring, code review), provide decision criteria and reference information instead — Copilot needs flexibility to adapt to the user's specific situation.
297
297
298
298
```markdown
299
299
# ❌ Too rigid
@@ -310,7 +310,7 @@ When fixing error handling in API handlers:
310
310
311
311
### Use Progressive Disclosure for Large Skills
312
312
313
-
If your SKILL.md exceeds ~200 lines, consider splitting detailed content into subdirectories. This reduces context consumption — the agent loads only the core instructions initially and pulls reference material on demand.
313
+
If your SKILL.md exceeds ~200 lines, consider splitting detailed content into subdirectories. This reduces context consumption — Copilot loads only the core instructions initially and pulls reference material on demand.
314
314
315
315
```markdown
316
316
## Reference Files
@@ -359,7 +359,7 @@ Before publishing a skill:
359
359
-[ ]`name` is lowercase with hyphens, ≤64 characters
360
360
-[ ]`description` clearly states **WHAT** it does, **WHEN** to use it, and relevant **KEYWORDS**
361
361
-[ ]`description` is concise and keyword-dense (respects context budget)
362
-
-[ ] Body focuses on information the agent wouldn't know from training data
362
+
-[ ] Body focuses on information Copilot wouldn't know from training data
363
363
-[ ] Body includes when to use, prerequisites (if applicable), and core instructions
364
364
-[ ]`## Gotchas` section present if skill involves non-obvious behavior, API quirks, or common traps
365
365
-[ ] SKILL.md body under 500 lines (consider splitting into `references/` at ~200 lines; 500 is the hard maximum)
0 commit comments