GitHub Copilot agent skills
GitHub Copilot reads agent skills in the open SKILL.md format, the same format Claude Code and Codex use. A skill is a folder with a SKILL.md file of instructions, plus optional scripts and reference files. Copilot loads a skill when your request matches its description.
This guide covers where Copilot looks for skills, how to install them with gh skill, how to call them in VS Code and Copilot CLI, and when to use a skill in place of custom instructions. Facts come from the GitHub Copilot skills docs and the VS Code Agent Skills page, read on October 29, 2026.
Where Copilot can use skills
Per GitHub, agent skills work in:
- The GitHub Copilot app.
- GitHub Copilot CLI.
- Copilot cloud agent and Copilot code review on GitHub.com.
- Agent mode in VS Code, Visual Studio and JetBrains IDEs.
IDE support depends on your version. GitHub points to its Copilot feature matrix for the details.
GitHub Copilot skills folder locations
| Scope | Location | Use |
|---|---|---|
| Project | .github/skills/ |
Skills for everyone who works in the repo |
| Project | .claude/skills/ |
Skills shared with Claude Code |
| Project | .agents/skills/ |
Skills shared with Codex and Cursor |
| Personal | ~/.copilot/skills/ |
Your own skills for every repo |
| Personal | ~/.agents/skills/ |
Your own skills, shared with Codex |
Each skill gets its own subfolder, such as .github/skills/webapp-testing/. The folder name should be lowercase with hyphens. The file inside must be named SKILL.md.
GitHub warns that supported locations depend on the surface. A personal skill in your home folder is not there when Copilot cloud agent runs on GitHub. To use personal skills in cloud sandbox sessions, put them in .copilot/skills in your dotfiles repo. GitHub says this does not apply to GitHub Actions sessions.
In VS Code, the VS Code docs list .github/skills/ and ~/.copilot/skills/ for the Copilot harness. Local sessions read .claude/skills/, .agents/skills/, ~/.claude/skills/ and ~/.agents/skills/. The old chat.agentSkillsLocations setting is deprecated, and Copilot harness sessions do not read it.
A typical repo layout:
.github/
├── copilot-instructions.md # rules for every task
└── skills/
├── code-review/
│ └── SKILL.md # code review picks this up
└── image-convert/
├── SKILL.md
└── convert-svg-to-png.sh # script the skill runs
Copilot SKILL.md format
GitHub lists three front matter fields:
name(required): lowercase, hyphens for spaces. It should match the folder name.description(required): what the skill does and when Copilot should use it.license(optional).
The example from the GitHub docs:
---
name: github-actions-failure-debugging
description: Guide for debugging failing GitHub Actions workflows. Use this when asked to debug failing GitHub Actions workflows.
---
To debug failing GitHub Actions workflows in a pull request, follow this process...
VS Code adds limits and fields. The name allows lowercase letters, numbers and hyphens, nothing else, must match the folder, and caps at 64 characters. The description caps at 1,024 characters. The VS Code docs say a name with a slash, colon, dot or prefix such as myorg/skillname makes the skill fail to load with no error. Extra VS Code fields:
| Field | Default | Effect |
|---|---|---|
argument-hint |
none | Hint text in the chat box when you call the skill with / |
user-invocable |
true |
Set false to hide it from the / menu. Copilot can load it on its own |
disable-model-invocation |
false |
Set true so the skill runs when you call it with /, and not on its own |
context |
inline |
Set fork to run the skill in a subagent (experimental) |
For the full shared field list, see our SKILL.md format guide.
Skills that run scripts
When Copilot uses a skill, it can see every file in the skill folder. Put a script in the folder and tell Copilot in SKILL.md when to run it. You can list tools in allowed-tools so Copilot runs them without asking:
---
name: image-convert
description: Converts SVG images to PNG format. Use when asked to convert SVG files.
allowed-tools: shell
---
GitHub warns against pre-approving shell or bash unless you have read the skill and its scripts and trust the source. Pre-approval removes the confirmation step, so a bad skill or a prompt injection could run commands on your machine. Leave them out when in doubt.
How to install Copilot skills with gh skill
GitHub CLI 2.90.0 and later ships gh skill, in public preview. It searches, previews, installs, updates and publishes skills from GitHub repos.
gh skill search TOPIC
gh skill preview OWNER/REPOSITORY SKILL
gh skill install OWNER/REPOSITORY SKILL
GitHub's own example installs from the community awesome-copilot repo:
gh skill install github/awesome-copilot documentation-writer
Useful flags from the docs:
@v1.2.0or@SHAafter the skill name installs a set version.--pin v1.2.0locks the skill so updates skip it. You cannot combine@VERSIONwith--pin.--agent claude-codeinstalls for another agent.--scope userinstalls to your home folder. The default is Copilot at project scope.
Install writes the source repo, ref and tree SHA into the skill's front matter. gh skill update reads that to check for changes, and gh skill update --all updates every unpinned skill.
GitHub says skills are not verified and may contain prompt injections, hidden instructions or harmful scripts. Run gh skill preview and read the files before you install.
Without the CLI: download the skill folder, unzip it if needed, and move it to one of the folders in the table above.
How to use skills in Copilot
Copilot picks a skill based on your prompt and the skill's description. When it picks one, it loads SKILL.md into context. The VS Code docs describe three steps:
- Discovery. Copilot reads each skill's name and description.
- Instructions. When a request matches, Copilot loads the SKILL.md body.
- Resources. Copilot opens other files in the folder when the instructions point to them. Files the instructions do not name stay unloaded.
So you can install many skills. The ones that do not match a task use no context beyond their name and description.
In VS Code: type / in chat to see skills next to prompt files. Add context after the name, as in /webapp-testing for the login page.
In Copilot CLI: name the skill with a slash in your prompt, such as Use the /frontend-design skill to create a responsive navigation bar in React. These commands manage skills in a session:
| Command | What it does |
|---|---|
/skills list |
Lists the skills Copilot can use |
/skills |
Pick a skill to enable or disable |
/skills info |
Shows details, including where a skill lives |
/skills add |
Adds another skills folder |
/skills reload |
Loads skills you added during the session |
/skills remove SKILL-DIRECTORY |
Removes a skill you added by hand |
Outside a session, copilot skill list, copilot skill add, copilot skill disable and copilot skill enable do the same jobs from the shell.
In Copilot code review: GitHub says a skill folder with a review name such as code-review makes sure code review reads it. Code review can use other skills in .github/skills/ when they fit the review.
GitHub Copilot skills vs instructions
GitHub's advice: use custom instructions such as .github/copilot-instructions.md for short rules that fit most tasks, such as coding standards. Use skills for longer, task-specific steps that Copilot should read when the task comes up.
| Custom instructions | Agent skills | |
|---|---|---|
| File | .github/copilot-instructions.md, AGENTS.md |
SKILL.md in a skills folder |
| Loads | On every task | When the request matches the description |
| Holds | Build commands, style, repo layout | One workflow, plus scripts and templates |
Called with / |
No | Yes, in VS Code and Copilot CLI |
Our AGENTS.md vs SKILL.md guide covers the split across Copilot, Claude Code, Codex and Cursor.
Use Claude Code skills in Copilot
Copilot reads .claude/skills/ in your repo, so a skill you wrote for Claude Code works in Copilot without a copy. The shared fields (name, description, license, allowed-tools) follow the Agent Skills spec. Fields one agent adds may not work in another, so test the skill in each agent you use.
Find skills for your project
SkillsPicker indexes open-license SKILL.md files from public GitHub repos and matches them to your stack. See skills for Copilot for install commands, browse skills by stack, or run the free scan on your repo. It shows the match count and 2 picks, or the full list free when we have few skills for your stack.
FAQ
Where are GitHub Copilot skills stored?
In .github/skills/, .claude/skills/ or .agents/skills/ in your repo, and in ~/.copilot/skills/ or ~/.agents/skills/ in your home folder.
How do I install a skill for Copilot?
Run gh skill install OWNER/REPOSITORY SKILL with GitHub CLI 2.90.0 or later, or copy the skill folder into one of the skills folders.
How do I call a skill in Copilot?
Type / and the skill name in VS Code chat or Copilot CLI. Copilot can load a skill on its own when your request matches its description.
Do Copilot skills work on GitHub.com?
Yes. Copilot cloud agent and Copilot code review use project skills in the repo. Personal skills in your home folder do not reach the cloud agent unless you add them to .copilot/skills in your dotfiles repo.
What is the difference between Copilot skills and custom instructions? Instructions load on every task and suit short repo-wide rules. Skills load when a task matches and suit longer workflows with scripts.
Checked 2026-10-29. Prices and policies change. Confirm on the source before you buy.
Sources
- https://docs.github.com/en/copilot/concepts/agents/about-agent-skills
- https://docs.github.com/en/copilot/how-tos/copilot-on-github/customize-copilot/customize-cloud-agent/add-skills
- https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/add-skills
- https://code.visualstudio.com/docs/copilot/customization/agent-skills
- https://agentskills.io/specification
- https://skillspicker.com/for/copilot/
More guides
- AGENTS.md vs SKILL.md: what goes where, and how Claude Code, Codex, Copilot and Cursor read each (2026)
- Best Claude Code skills for Next.js: 3 free picks and how to install them (2026)
- Best Claude Code skills for Python: 6 free picks and how to install them (2026)
- Claude Code frontend design skill: how to install it, plus 4 more UI picks (2026)
- Claude Code Playwright skill: 5 picks and how to install them (2026)
- Claude Code security skills: 5 free picks for security review and scans (2026)