make-skill-template
github/awesome-copilot
Scaffold new Agent Skills for GitHub Copilot with proper structure, frontmatter, and bundled resources.
What is make-skill-template?
A meta-skill for creating new Agent Skills that generate SKILL.md files with YAML frontmatter, directory structure, and optional scripts/references/assets folders. Use when asked to create, scaffold, or duplicate a skill to add specialized capabilities to GitHub Copilot.
- Generate SKILL.md files with required YAML frontmatter (name, description, optional license/compatibility)
- Create skill directory structure with optional scripts/, references/, assets/, and templates/ folders
- Validate skill naming conventions (lowercase, hyphens) and description quality (WHAT + WHEN + keywords)
- Duplicate this template as a starting point for new skills
- Structure bundled resources (code, docs, static files) for agent discovery and use
How to install make-skill-template
npx skills add https://github.com/github/awesome-copilot --skill make-skill-template- Understanding of what the skill should accomplish
- Clear, keyword-rich description of capabilities and use triggers
- Knowledge of any bundled resources needed (scripts, references, assets, templates)
How to use make-skill-template
- 1.Create a new folder with lowercase, hyphenated skill name under skills/
- 2.Add SKILL.md with YAML frontmatter including name and description fields
- 3.Write the skill body with sections like 'When to Use This Skill', 'Prerequisites', and 'Step-by-Step Workflows'
- 4.Add optional directories (scripts/, references/, assets/, templates/) if bundled resources are needed
- 5.Validate the skill structure and naming conventions against the checklist
Use cases
- Create a new skill when a user asks to 'make a skill' or 'scaffold a skill'
- Add specialized capabilities to GitHub Copilot by bundling scripts, references, and assets
- Generate proper frontmatter with keyword-rich descriptions for automatic skill discovery
- Duplicate and customize this template to build domain-specific agent skills
- Validate skill structure and naming before publishing to a skill directory
- GitHub Copilot users building custom agent skills
- Developers creating specialized capabilities for coding agents
- Teams standardizing skill structure and discovery mechanisms
- Anyone extending Copilot with bundled resources and automation
make-skill-template FAQ
Include WHAT the skill does (capabilities), WHEN to use it (triggers, scenarios, keywords), and specific examples. Aim for 10-1024 characters with keywords users might mention in prompts.
No. Only add scripts/, references/, assets/, or templates/ folders if your skill actually bundles those resources. Start minimal and add as needed.
The description field is the primary discovery mechanism. Copilot matches user prompts against keywords and triggers in your description, so make it specific and keyword-rich.
Folder and name field must be lowercase with hyphens only (1-64 characters), no consecutive hyphens, and must match exactly.
Yes, use npm run skill:validate to check folder naming, frontmatter format, description length, and asset sizes (max 5MB each).
Full instructions (SKILL.md)
Source of truth, from github/awesome-copilot.
name: make-skill-template description: 'Create new Agent Skills for GitHub Copilot from prompts 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.'
Make Skill Template
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.
When to Use This Skill
- User asks to "create a skill", "make a new skill", or "scaffold a skill"
- User wants to add a specialized capability to their GitHub Copilot setup
- User needs help structuring a skill with bundled resources
- User wants to duplicate this template as a starting point
Prerequisites
- Understanding of what the skill should accomplish
- A clear, keyword-rich description of capabilities and triggers
- Knowledge of any bundled resources needed (scripts, references, assets, templates)
Creating a New Skill
Step 1: Create the Skill Directory
Create a new folder with a lowercase, hyphenated name:
skills/<skill-name>/
└── SKILL.md # Required
Step 2: Generate SKILL.md with Frontmatter
Every skill requires YAML frontmatter with name and description:
---
name: <skill-name>
description: '<What it does>. Use when <specific triggers, scenarios, keywords users might say>.'
---
Frontmatter Field Requirements
| Field | Required | Constraints |
|---|---|---|
name | Yes | 1-64 chars, lowercase letters/numbers/hyphens only, must match folder name |
description | Yes | 1-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) |
Description Best Practices
CRITICAL: The description is the PRIMARY mechanism for automatic skill discovery. Include:
- WHAT the skill does (capabilities)
- WHEN to use it (triggers, scenarios, file types)
- Keywords users might mention in prompts
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'
Step 3: Write the Skill Body
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 |
Step 4: Add Optional Directories (If Needed)
| 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 |
Example: Complete Skill Structure
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 scaffold
Quick Start: Duplicate This Template
- Copy the
make-skill-template/folder - Rename to your skill name (lowercase, hyphens)
- Update
SKILL.md:- Change
name:to match folder name - Write a keyword-rich
description: - Replace body content with your instructions
- Change
- Add bundled resources as needed
- Validate with
npm run skill:validate
Validation Checklist
- Folder name is lowercase with hyphens
-
namefield matches folder name exactly -
descriptionis 10-1024 characters -
descriptionexplains WHAT and WHEN -
descriptionis wrapped in single quotes - Body content is under 500 lines
- Bundled assets are under 5MB each
Troubleshooting
| 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 |
References
- Agent Skills official spec: https://agentskills.io/specification
Related skills
More from github/awesome-copilot and the wider catalog.
git-commit
Execute semantic git commits with conventional message analysis and intelligent staging.
excalidraw-diagram-generator
Generate Excalidraw diagrams from natural language descriptions.
documentation-writer
Create structured technical documentation using the Diátaxis framework for tutorials, how-to guides, references, and explanations.
gh-cli
GitHub CLI comprehensive reference for repositories, issues, PRs, Actions, projects, releases, and all GitHub operations from the command line.
prd
Generate comprehensive Product Requirements Documents with executive summaries, user stories, technical specs, and risk analysis.
refactor
Surgical code refactoring to improve maintainability without changing behavior.