Create new Agent Skills for GitHub Copilot from user requests or by duplicating this template. Use when asked to "create a skill", "make a new skill", "scaffold a skill", or when building specialized AI capabilities with bundled resources. Generates SKILL.md files with proper frontmatter, directory structure, and optional scripts/references/assets folders.
74
92%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
A meta-skill for creating new Agent Skills. Use this skill when you need to scaffold a new skill folder, generate a SKILL.md file, or help users understand the Agent Skills specification.
Attach this file to your Copilot Chat context, then invoke it when creating or
refining a skill under .github/skills/. Use it to scaffold new skills and to
check discoverability quality before committing.
Create a new folder with a lowercase, hyphenated name:
.github/skills/<skill-name>/
└── SKILL.md # RequiredEvery skill requires YAML frontmatter with name and description:
---
name: <skill-name>
description: '<What it does>. Use when <specific triggers, scenarios, keywords users might say>.'
---| Field | Required | Constraints |
|---|---|---|
name | Yes | 1-64 chars, lowercase letters/numbers/hyphens only, must match folder name |
description | Yes | 10-1024 chars, must describe WHAT it does AND WHEN to use it |
license | No | License name or reference to bundled LICENSE.txt |
compatibility | No | 1-500 chars, environment requirements if needed |
metadata | No | Key-value pairs for additional properties |
allowed-tools | No | Space-delimited list of pre-approved tools (experimental) |
CRITICAL: The description is the PRIMARY mechanism for automatic skill discovery. Include:
Good example:
description: 'Toolkit for testing local web applications using Playwright. Use when asked to verify frontend functionality, debug UI behavior, capture browser screenshots, or view browser console logs. Supports Chrome, Firefox, and WebKit.'Poor example:
description: 'Web testing helpers'After the frontmatter, add markdown instructions. Recommended sections:
| Section | Purpose |
|---|---|
# Title | Brief overview |
## When to Use This Skill | Reinforces description triggers |
## Prerequisites | Required tools, dependencies |
## Step-by-Step Workflows | Numbered steps for tasks |
## Troubleshooting | Common issues and solutions |
## References | Links to bundled docs |
For standards and review skills, rules are mandatory unless explicitly marked
Optional. For advisory skills, distinguish requirements, recommendations, and
examples with consistent labels.
Define named thresholds, modes, phases, or terms before first use, and keep one authoritative definition for each concept.
Use real markdown headings for durable rule sections. Avoid bold paragraphs as pseudo-headings when the section may need a table-of-contents entry, deep link, or review reference.
| Folder | Purpose | When to Use |
|---|---|---|
scripts/ | Executable code (Python, Bash, JS) | Automation that performs operations |
references/ | Documentation agent reads | API references, schemas, guides |
assets/ | Static files used AS-IS | Images, fonts, templates |
templates/ | Starter code agent modifies | Scaffolds to extend |
Target SKILL.md under 500 lines; review carefully above 600 lines. Exceeding
the target is acceptable when splitting always-needed workflow or review rules
would make the skill less effective. Split situational references first.
Keep these in SKILL.md:
Move these to reference files:
Each reference file should state its purpose and when the agent should load it.
Keep references one level deep from SKILL.md.
When one skill extends another, state what it inherits, overrides, or adds. Link to the parent skill or reference file and keep child-skill overrides narrow.
my-awesome-skill/
├── SKILL.md # Required instructions
├── LICENSE.txt # Optional license file
├── scripts/
│ └── helper.py # Executable automation
├── references/
│ ├── api-reference.md # Detailed docs
│ └── examples.md # Usage examples
├── assets/
│ └── diagram.png # Static resources
└── templates/
└── starter.ts # Code scaffoldmake-skill-template/ folderSKILL.md:
name: to match folder namedescription:name field matches folder name exactlydescription is 10-1024 charactersdescription explains WHAT and WHENdescription is wrapped in single quotesSKILL.mdOptional| Issue | Solution |
|---|---|
| Skill not discovered | Improve description with more keywords and triggers |
| Validation fails on name | Ensure lowercase, no consecutive hyphens, matches folder |
| Description too short | Add capabilities, triggers, and keywords |
| Assets not found | Use relative paths from skill root |
8887679
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.