| name | copilot-customization-skill-authoring |
| description | Create and review skill files in .github/skills/. Use this skill when asked to create a new skill, review an existing skill, or improve skill quality. Applies best practices from agent-skills-best-practices.md to ensure skills are concise, discoverable, and effective. |
Skill Authoring
Create, review, and improve skill files following established best practices.
Reference
Best practices guide: .github/skills/copilot-customization-skill-authoring/agent-skills-best-practices.md
This is an external reference adapted from Anthropic's Claude skill-authoring docs. It uses Claude-specific terminology but the principles apply to Copilot skills. Where it says "Claude", read "the agent".
Read this file before creating or reviewing any skill. Key principles:
- Concise is key — only add context the agent doesn't already have
- SKILL.md body under 500 lines — use progressive disclosure for longer content
- Description drives discovery — write in third person, include what it does AND when to use it
Value Gate
Before adding content to a skill, ask:
"Would a capable model (e.g., GPT-3.5-Turbo) already know this without being told?"
If yes, leave it out. Skills should focus on project-specific knowledge — not general programming concepts. This keeps skills concise and avoids wasting context window tokens on things the agent already knows.
- ✅ "Run
python3 scripts/check_prerequisites.py before starting the pipeline" — project-specific workflow
- ✅ "Use
uv instead of pip for dependency management" — team decision
- ✅ "Source images go in
source/calendar-joke-images/" — repo-specific path
- ❌ "Python virtual environments isolate dependencies" — general knowledge
- ❌ "Use
git add to stage files" — any model knows this
- ❌ "JSON is a data format" — obvious
Creating a Skill
- Create directory:
.github/skills/{skill-name}/
- Create
SKILL.md with YAML frontmatter (name, description)
- Add body content: purpose, when to use, steps, examples
- Run the review checklist below
- Iterate until the skill passes review
Frontmatter Rules
---
name: my-skill-name
description: Does X when Y happens. Use when the user asks about Z.
---
Naming Conventions
- Prefer gerund form:
processing-pdfs, managing-todos
- Acceptable alternatives:
pdf-processing, process-pdfs
- Avoid:
helper, utils, tools, data (too vague)
Body Structure
A good SKILL.md body follows this pattern:
# {Title}
{One-line summary of what this skill does.}
## When to Use (optional)
{Specific triggers — only include if the description doesn't fully convey when to activate.}
## {Core Instructions}
{Steps, rules, examples — the actionable content.}
A When to Use section is helpful when activation context is nuanced or multi-faceted. If the YAML description already has clear trigger terms, this section is redundant — don't repeat yourself.
Reviewing a Skill
When creating or reviewing a skill, evaluate it against the checklist below. Reference agent-skills-best-practices.md for detailed rationale.
Review Checklist
Discovery
Content Quality
Structure
Actionability
Review Process
After creating or modifying a skill:
- Read the skill file end-to-end
- Walk through the review checklist above — flag any unchecked items
- For each flag, suggest a specific improvement (not just "fix this")
- Apply fixes and re-check until all items pass
- If the skill references scripts or tools, verify they exist and work
Nudges
When a skill doesn't meet standards, suggest improvements conversationally:
- "The description says 'helps with X' — can we make it more specific about when to activate?"
- "This SKILL.md is getting long — want to move the reference tables into a separate file?"
- "The steps assume the agent knows about Y — should we add a quick note?"
- "This name is pretty generic — would
managing-deployments be clearer than deploy?"
Reviewing Existing Skills
To review all skills in the repo:
- List directories in
.github/skills/
- For each skill, read
SKILL.md and run the review checklist
- Report findings grouped by skill, with specific improvement suggestions