Home › Rules › GitHub Copilot skills

GitHub Copilot skills: folder, SKILL.md, gh skill and examples

From GitHub's own Copilot docs (About agent skills, Adding agent skills, Comparing customizations) and the GitHub CLI gh skill manual, checked Nov 7, 2026. Sources below.

Short answer: a Copilot agent skill is a folder with a required SKILL.md file (plus optional scripts and resources). Copilot loads that folder when the task matches the skill's description. For one repo, put skills under .github/skills/, .claude/skills/ or .agents/skills/. For every project on your machine, use ~/.copilot/skills/ or ~/.agents/skills/. The file needs a YAML header with name and description. You can also discover and install skills with gh skill in GitHub CLI (public preview, CLI 2.90.0+). Skills are for a specific kind of task; custom instructions are for rules that should apply almost every time; a custom agent is a reusable specialist with its own toolset.

What a Copilot skill is

GitHub's docs call them agent skills: folders of instructions, scripts and resources that Copilot can load when they are relevant. The format follows the open Agent Skills specification, the same idea Claude Code, Cursor, Codex and Antigravity use (see our SKILL.md examples page).

Where the skills folder goes

ScopePathUse it for
This project.github/skills/<name>/, .claude/skills/<name>/ or .agents/skills/<name>/Skills your team should share. Commit them with the code.
Every project~/.copilot/skills/<name>/ or ~/.agents/skills/<name>/Your own helpers on this computer
Make a skills folder (project or personal)
# One project only (pick one of these three)
mkdir -p .github/skills/write-pr-summary
# or: mkdir -p .agents/skills/write-pr-summary
# or: mkdir -p .claude/skills/write-pr-summary
# -> write .../write-pr-summary/SKILL.md

# Every project on this computer (pick one)
mkdir -p ~/.copilot/skills/write-pr-summary
# or: mkdir -p ~/.agents/skills/write-pr-summary

Each skill gets its own subdirectory. Names should be lowercase with hyphens (for example webapp-testing). The required file inside must be named exactly SKILL.md.

Skill folder layout
.github/skills/write-pr-summary/
├── SKILL.md              # Required: YAML header + steps
└── (optional) scripts/   # Scripts or other files the skill can use

Supported locations can differ by surface. For personal skills in cloud sandbox sessions, GitHub says to include them in .copilot/skills in your dotfiles repository (that does not apply to GitHub Actions-based sessions). Use the setup guide for the surface you are on rather than assuming a personal skill is available in the cloud.

The SKILL.md format

SKILL.md is Markdown with YAML frontmatter between two --- lines, then your steps.

FieldRequired?What GitHub's docs say
nameYesUnique id. Lowercase, hyphens for spaces. Usually matches the skill directory name.
descriptionYesWhat the skill does and when Copilot should use it. This is what Copilot matches against your prompt.
licenseNoLicense that applies to the skill.
allowed-toolsNoTools Copilot may use without asking each time (for example shell). Only pre-approve shell or bash if you fully trust the skill and its scripts.

Write the description like a job ad: what it does and the words people would type. Weak: "Helps with PRs." Better: "Drafts a short pull request summary from the current branch changes. Use when asked to write a PR description."

Skills vs agents vs instructions

This is the comparison people search for. GitHub's own customization comparison puts it this way:

FeatureWhat it is forWhen to use it
Custom instructionsPersistent guidance in a defined scope (repo coding standards, how you like replies)Rules that should apply to almost every task. Keep them short.
Agent skillsA folder with SKILL.md for one kind of task; can include scripts and templatesA repeatable workflow, a fixed output format, or a detailed process you only need sometimes
Custom agentsA specialist role with its own instructions and toolset (a Markdown profile with YAML frontmatter)A reusable persona, for example a React reviewer with a limited tool list

Skills can also describe how to use MCP tools. For access to an outside system, add an MCP server; the skill can then say how to use those tools.

Install skills with gh skill (public preview)

gh skill is a GitHub CLI command to search, preview, install, update and publish agent skills from GitHub repositories. GitHub's docs and changelog mark it as public preview and subject to change. You need GitHub CLI 2.90.0 or later.

Safety: skills are not verified by GitHub. They may contain prompt injections, hidden instructions or malicious scripts. Always inspect with gh skill preview before you install.

gh skill search, preview, install, update
# Needs GitHub CLI 2.90.0 or later. gh skill is public preview.
gh skill search TOPIC
gh skill preview OWNER/REPOSITORY SKILL
gh skill install OWNER/REPOSITORY SKILL
# Example from GitHub's docs:
gh skill install github/awesome-copilot documentation-writer
# Pin a version (or use @TAG / @SHA):
gh skill install github/awesome-copilot documentation-writer --pin v1.2.0
# Other agent / user scope:
gh skill install github/awesome-copilot documentation-writer --agent claude-code --scope user
gh skill update --all
gh skill publish --dry-run

By default, installs target Copilot at project scope. Use --agent and --scope (project or user) for another host or personal install. At project scope, several agents (including Copilot, Cursor, Codex, Gemini CLI and Antigravity) share .agents/skills, so one install can cover more than one tool.

GitHub's docs also point at community collections such as github/awesome-copilot and show installing from it. You can still download a skill folder by hand and move it into one of the paths in the table above (GitHub links awesome-copilot.github.com/skills/ for that).

How Copilot uses a skill

Copilot CLI /skills commands
# Inside an interactive Copilot CLI session
/skills list
/skills info write-pr-summary
/skills reload
# Ask Copilot to use a skill by name:
Use the /write-pr-summary skill on this branch.
# From your shell (before a session):
copilot skill list

Examples you can copy

The first example matches the shape of GitHub's own sample (name + description + steps). The next three are examples we wrote for this page, using only fields GitHub documents (name, description). Change the steps to fit your project. Save each as SKILL.md inside a folder with the same name.

1. Write a pull request summary (our example)

.github/skills/write-pr-summary/SKILL.md
---
name: write-pr-summary
description: Drafts a short pull request summary from the current branch changes. Use when asked to write a PR description, PR summary, or pull request body.
---

# Write a pull request summary

1. Look at the changed files on this branch (git status and the diff).
2. Write a short summary: what changed, why, and how to test it.
3. Use plain English. Keep it under 10 lines.
4. Do not invent features that are not in the diff.

2. Debug failing CI (our example)

.github/skills/debug-failing-ci/SKILL.md
---
name: debug-failing-ci
description: Helps debug a failing GitHub Actions workflow or CI check. Use when a pull request check is red, a workflow failed, or the user asks why CI broke.
---

# Debug a failing CI check

1. Find the failed workflow or check name from the pull request.
2. Read the failure message. Quote the first real error line (not just "Process completed with exit code 1").
3. Say whether the problem looks like a test failure, a build error, a missing secret, or a flaky step.
4. Suggest the smallest fix. Do not rewrite unrelated files.
5. If you cannot see the logs, tell me exactly which log file or job to open.

GitHub's own longer sample for Actions debugging (with MCP tool names like list_workflow_runs) is on the Adding agent skills page if you use the GitHub MCP Server.

3. Add an environment variable safely (our example)

.github/skills/add-env-safely/SKILL.md
---
name: add-env-safely
description: Adds a new environment variable or API key without leaking secrets. Use when the user adds a key, token, secret, or .env setting.
---

# Add an environment variable safely

1. Add the variable name to .env.example with an empty value. Never put a real secret there.
2. Ask me to paste the real value into .env myself. Do not print the value back.
3. Check that .env is listed in .gitignore. If it is missing, add it and tell me.
4. Read the variable in one place in the code, with a clear error if it is missing.
5. Tell me where to set it on the host (for example GitHub Actions secrets or the hosting dashboard).

4. Code review notes (our example)

.github/skills/code-review/SKILL.md
---
name: code-review
description: Reviews a pull request or diff for bugs, missing tests, and unclear naming. Use when asked to review a PR, review a diff, or leave review comments.
---

# Code review notes

1. Summarize what the change is trying to do, in two sentences.
2. List concrete issues: bugs, missing tests, secrets, and naming that will confuse the next person.
3. For each issue, give the file and a short suggested fix.
4. End with a one-line "ship / needs changes / needs tests" call.
5. Stay polite and specific. No filler.

The directory name code-review matches GitHub's tip for Copilot code review. More cross-tool SKILL.md samples: SKILL.md examples. Claude-only extras: Claude Code skills examples.

Same idea in Claude Code, Cursor and Antigravity

The SKILL.md format is shared. The folder path is what changes:

.agents/skills/ is a good shared project folder for Copilot, Cursor, Codex and Antigravity. Claude Code wants .claude/skills/ (which Copilot also reads). Details and a symlink tip: SKILL.md examples for every tool.

Skill not showing up?

Next step for GitHub Copilot: Agent Skills

Skills are folders your AI coding agent loads only when the job comes up, and Claude Code, Cursor and OpenAI Codex all read the same SKILL.md format. The Vibe Coder Skills Pack ($9) is 6 ready-to-copy SKILL.md skills (fix-one-bug, stop-the-loop, leak-check, ship-check, explain-project, builder-handoff) for Claude Code, Cursor and OpenAI Codex. Also included in the 6-kit bundle.

Get the Skills Pack for $9 on Gumroad → See what's inside

One .zip of skill folders plus one markdown file. 7-day refund, no questions asked.

Best value

All 6 kits for $29 — or $20.30 with code WELCOME30 (through Nov 30)

Skills teach Copilot how to do a job when it comes up. The kits tell it what to build, step by step: a small game, a Discord bot, an email-triage agent, an MVP, or a cleanup of messy code.

Get all 6 kits for $29 → See what's in each kit

$29 instead of $48 for the six kits bought separately; WELCOME30 takes 30% off that at checkout ($20.30). Instant download from Gumroad. 7-day refund, no questions asked.

Related

Sources

Every folder, field and command here was checked Nov 7, 2026 on GitHub's own Copilot docs and the GitHub CLI manual. Agent skills and gh skill are still changing (gh skill is public preview). If something here no longer matches, tell us at [email protected].

Free rules starter pack for Cursor, Claude Code, Codex and Antigravity

One shared AGENTS.md that works across Cursor, Claude Code, Codex, Copilot and Antigravity, plus database and test rules in each tool's format. Unzip it into your project and fill in two sections. I'll email you the link.

After that, an occasional email when I publish a new guide or rules file.

Free. No spam. Unsubscribe anytime. See our privacy note.