SkillsPicker

Home / Guides

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:

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:

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:

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:

  1. Discovery. Copilot reads each skill's name and description.
  2. Instructions. When a request matches, Copilot loads the SKILL.md body.
  3. 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

More guides