Create Agent Skill
Purpose
Standardize the creation of new Agent Skills to ensure they are consistent, discoverable, and follow best practices.
When to Create a Skill
- Complex Tooling: When an agent needs to run a sequence of scripts or commands that are too long for the main agent prompt.
- Shared Capabilities: When multiple agents need the same capability (e.g., "Run UAT" used by UAT Tester and Quality Engineer).
- Strict Procedures: When a process requires exact adherence to a checklist or script (e.g., Release process).
Hard Rules
Must
- Create the skill in
.github/skills/<skill-name>/.
- Use
kebab-case for the skill name.
- Ensure the skill
name matches the parent directory name exactly.
- Ensure
name is 1–64 characters, lowercase letters/numbers/hyphens only.
- Ensure
name does not start or end with - and does not contain consecutive hyphens (--).
- Include a
SKILL.md with valid YAML frontmatter.
- Include a
description in the frontmatter (max 1024 chars).
- Create
scripts/ and templates/ subdirectories only if needed.
- Use the provided template for
SKILL.md.
- Update
docs/agents.md to register the new skill in the "Available Skills" table.
Must Not
- Create skills in the root
.github/ directory.
- Use spaces or special characters in the skill name.
- Leave the
description empty.
Best Practices
- Self-Contained: A skill should include all necessary scripts and templates within its folder.
- Progressive Disclosure: Copilot only loads the skill body when the description matches the user's intent. Keep descriptions specific.
- Verification: Test skills by asking Copilot "How do I ?" and verifying it loads the skill.
- Approval Minimization: Design skills to reduce the number of Maintainer approval prompts (terminal command approvals) so agents can execute workflows with minimal interruptions.
- Prefer a small number of stable wrapper commands over many one-off commands.
- Batch related operations into a single command where practical (and safe).
- Prefer tool-based reads (editor tools) over shell commands for read-only actions when available.
- Reuse existing repo scripts (e.g.,
scripts/uat-*.sh) instead of duplicating multi-step command sequences.
- If a workflow is inherently risky (force-push, merge, deleting branches), keep it explicit and gated, but still consolidate the surrounding steps.
Actions
1. Gather Information
Ask the user for:
- Skill Name: Short, descriptive, kebab-case (e.g.,
run-uat, deploy-docs).
- Description: One sentence explaining what the skill does and when Copilot should load it.
- Purpose: Detailed explanation of the skill's goal.
- Approval Plan: Which commands will run, and how to structure them to minimize approvals (prefer a small number of stable wrappers).
2. Create Directory Structure
Run the following command to create the skill directory:
mkdir -p .github/skills/<skill-name>
If your skill includes scripts or templates, add those directories explicitly:
mkdir -p .github/skills/<skill-name>/scripts
mkdir -p .github/skills/<skill-name>/templates
3. Create SKILL.md
Read the template from .github/skills/create-agent-skill/templates/SKILL.md and create the new SKILL.md file:
cp .github/skills/create-agent-skill/templates/SKILL.md .github/skills/<skill-name>/SKILL.md
Then, edit the file to replace the placeholders ({{skill-name}}, {{description}}, {{purpose}}) with the gathered information.
4. Update Documentation
Add the new skill to the "Available Skills" table in docs/agents.md.
5. Verify
Check that the file structure looks like this:
.github/skills/<skill-name>/
├── SKILL.md
├── scripts/
└── templates/
References
Specifications & Documentation
| Resource |
What You'll Find |
| VS Code Agent Skills |
Official documentation: SKILL.md format, YAML frontmatter fields, progressive disclosure architecture, and complete examples. |
| Agent Skills Standard |
The open specification: formal schema, interoperability with other AI tools (Claude, Cursor, OpenAI Codex), and integration guides. |
| Agent Skills Specification |
Detailed field definitions, validation rules, and edge cases for SKILL.md files. |
Example Repositories
| Repository |
What You'll Find |
| anthropics/skills |
Reference skills from Anthropic: well-structured examples covering common patterns like debugging, documentation, and code review. |
| github/awesome-copilot |
Community collection of skills, custom agents, instructions, and prompts. Good source of real-world patterns. |
Practical Guides
| Resource |
What You'll Find |
| Teaching AI Your Repository Patterns |
Hands-on tutorial: real-world example (Selenium testing), key components that work (Clear Rules, Golden Examples, Templates), and verification tips. |
| GitHub Changelog Announcement |
Feature overview, availability across VS Code/CLI/coding agent, and links to community resources. |
Converted and distributed by TomeVault — claim your Tome and manage your conversions.
1---2name: create-agent-skill3description: Create a new Agent Skill following project standards and templates. Use this when you need to encapsulate a new capability or workflow. Use when this capability is needed.4---56# Create Agent Skill78## Purpose9Standardize the creation of new Agent Skills to ensure they are consistent, discoverable, and follow best practices.1011## When to Create a Skill12- **Complex Tooling**: When an agent needs to run a sequence of scripts or commands that are too long for the main agent prompt.13- **Shared Capabilities**: When multiple agents need the same capability (e.g., "Run UAT" used by UAT Tester and Quality Engineer).14- **Strict Procedures**: When a process requires exact adherence to a checklist or script (e.g., Release process).1516## Hard Rules17### Must18- Create the skill in `.github/skills/<skill-name>/`.19- Use `kebab-case` for the skill name.20- Ensure the skill `name` matches the parent directory name exactly.21- Ensure `name` is 1–64 characters, lowercase letters/numbers/hyphens only.22- Ensure `name` does not start or end with `-` and does not contain consecutive hyphens (`--`).23- Include a `SKILL.md` with valid YAML frontmatter.24- Include a `description` in the frontmatter (max 1024 chars).25- Create `scripts/` and `templates/` subdirectories only if needed.26- Use the provided template for `SKILL.md`.27- Update `docs/agents.md` to register the new skill in the "Available Skills" table.2829### Must Not30- Create skills in the root `.github/` directory.31- Use spaces or special characters in the skill name.32- Leave the `description` empty.3334## Best Practices35- **Self-Contained**: A skill should include all necessary scripts and templates within its folder.36- **Progressive Disclosure**: Copilot only loads the skill body when the description matches the user's intent. Keep descriptions specific.37- **Verification**: Test skills by asking Copilot "How do I <skill description>?" and verifying it loads the skill.38- **Approval Minimization**: Design skills to reduce the number of Maintainer approval prompts (terminal command approvals) so agents can execute workflows with minimal interruptions.39 - Prefer a small number of **stable wrapper commands** over many one-off commands.40 - Batch related operations into a single command where practical (and safe).41 - Prefer tool-based reads (editor tools) over shell commands for read-only actions when available.42 - Reuse existing repo scripts (e.g., `scripts/uat-*.sh`) instead of duplicating multi-step command sequences.43 - If a workflow is inherently risky (force-push, merge, deleting branches), keep it explicit and gated, but still consolidate the surrounding steps.4445## Actions4647### 1. Gather Information48Ask the user for:49- **Skill Name**: Short, descriptive, kebab-case (e.g., `run-uat`, `deploy-docs`).50- **Description**: One sentence explaining what the skill does and *when* Copilot should load it.51- **Purpose**: Detailed explanation of the skill's goal.52- **Approval Plan**: Which commands will run, and how to structure them to minimize approvals (prefer a small number of stable wrappers).5354### 2. Create Directory Structure55Run the following command to create the skill directory:56```bash57mkdir -p .github/skills/<skill-name>58```5960If your skill includes scripts or templates, add those directories explicitly:61```bash62mkdir -p .github/skills/<skill-name>/scripts63mkdir -p .github/skills/<skill-name>/templates64```6566### 3. Create SKILL.md67Read the template from `.github/skills/create-agent-skill/templates/SKILL.md` and create the new `SKILL.md` file:6869```bash70cp .github/skills/create-agent-skill/templates/SKILL.md .github/skills/<skill-name>/SKILL.md71```7273Then, edit the file to replace the placeholders (`{{skill-name}}`, `{{description}}`, `{{purpose}}`) with the gathered information.7475### 4. Update Documentation76Add the new skill to the "Available Skills" table in `docs/agents.md`.7778### 5. Verify79Check that the file structure looks like this:80```81.github/skills/<skill-name>/82├── SKILL.md83├── scripts/84└── templates/85```8687## References8889### Specifications & Documentation90| Resource | What You'll Find |91|----------|------------------|92| [VS Code Agent Skills](https://code.visualstudio.com/docs/copilot/customization/agent-skills) | Official documentation: SKILL.md format, YAML frontmatter fields, progressive disclosure architecture, and complete examples. |93| [Agent Skills Standard](https://agentskills.io/) | The open specification: formal schema, interoperability with other AI tools (Claude, Cursor, OpenAI Codex), and integration guides. |94| [Agent Skills Specification](https://agentskills.io/specification) | Detailed field definitions, validation rules, and edge cases for SKILL.md files. |9596### Example Repositories97| Repository | What You'll Find |98|------------|------------------|99| [anthropics/skills](https://github.com/anthropics/skills) | Reference skills from Anthropic: well-structured examples covering common patterns like debugging, documentation, and code review. |100| [github/awesome-copilot](https://github.com/github/awesome-copilot) | Community collection of skills, custom agents, instructions, and prompts. Good source of real-world patterns. |101102### Practical Guides103| Resource | What You'll Find |104|----------|------------------|105| [Teaching AI Your Repository Patterns](https://dev.to/qa-leaders/github-copilot-agent-skills-teaching-ai-your-repository-patterns-1oa8) | Hands-on tutorial: real-world example (Selenium testing), key components that work (Clear Rules, Golden Examples, Templates), and verification tips. |106| [GitHub Changelog Announcement](https://github.blog/changelog/2025-12-18-github-copilot-now-supports-agent-skills/) | Feature overview, availability across VS Code/CLI/coding agent, and links to community resources. |107108---109> Converted and distributed by [TomeVault](https://tomevault.io/claim/oocx) — claim your Tome and manage your conversions.110<!-- tomevault:4.0:skill_md:2026-04-11 -->