-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Description
Describe the feature or problem you'd like to solve
install skills using the command /skills add and passing a repo (org/repo) to add the skill either local or global.
Proposed solution
Summary
Add a new option to the /skills add command that accepts a GitHub repository in org/repo format (e.g., spboyer/sensei) and installs the skill with its related resources to the appropriate Copilot folder. Skills should be local to the project by default with a --global flag for user-wide installation.
Motivation
Currently there's no streamlined way to install a skill from a GitHub repo directly into the Copilot CLI skills system. Users have to manually clone repos and copy files into ~/.copilot/skills/ or .github/skills/. This friction slows skill adoption and sharing.
The Anthropic/Claude Code ecosystem uses npx skills add org/repo which demonstrates demand for this pattern. Copilot CLI should have a native equivalent via the /skills command. npx skills add installs to ~/.agents, Copilot cli does not look there, VS Code can be configured for that. /add-dir does not solve either.
Proposed Behavior
Basic usage (local to project):
/skills add spboyer/sensei
- Clones/downloads the skill from
github.com/spboyer/sensei - Copies
SKILL.mdand related resources (references/,scripts/,assets/) to.github/skills/<skill-name>/in the current project - Skill is available only in this project context
Global installation:
/skills add spboyer/sensei --global
- Copies to
~/.copilot/skills/<skill-name>/ - Skill is available across all projects
Expected behavior:
- Resolve repo — Fetch from
github.com/<org>/<repo> - Detect skill structure — Find
SKILL.mdat repo root or inskills/subdirectories - Copy resources — Copy
SKILL.md+ bundled resources (references/,scripts/,assets/) to the target folder - Auto-reload — Skills should be immediately available without restarting the session
- Lock file — Track installed skills with source, version/SHA, and install timestamp
Scope options:
| Flag | Target Directory | Scope |
|---|---|---|
| (default) | .github/skills/<name>/ |
Project-local |
--global |
~/.copilot/skills/<name>/ |
All projects |
Additional Considerations
- Should validate the skill using frontmatter checks (
name,descriptionrequired) before installing - Should warn if a skill with the same name already exists and offer to update/overwrite
- Could support
org/repo@refsyntax for pinning to a branch/tag/commit - Should exclude
.git/,node_modules/, and other non-skill files from the copy - A
/skills remove <name>and/skills update <name>would complement this feature
Example Workflow
> /skills add spboyer/repo-issue-triage
✅ Installed skill 'repo-issue-triage' to .github/skills/repo-issue-triage/
Source: github.com/spboyer/repo-issue-triage (SHA: abc123)
Files: SKILL.md, references/classification-rules.md, references/report-template.md
> /skills add spboyer/sensei --global
✅ Installed skill 'sensei' to ~/.copilot/skills/sensei/
Source: github.com/spboyer/sensei (SHA: def456)
Files: SKILL.md + 7 reference files + 3 scripts
Example prompts or workflows
Summary
Add a new option to the /skills add command that accepts a GitHub repository in org/repo format (e.g., spboyer/sensei) and installs the skill with its related resources to the appropriate Copilot folder. Skills should be local to the project by default with a --global flag for user-wide installation.
Motivation
Currently there's no streamlined way to install a skill from a GitHub repo directly into the Copilot CLI skills system. Users have to manually clone repos and copy files into ~/.copilot/skills/ or .github/skills/. This friction slows skill adoption and sharing.
The Anthropic/Claude Code ecosystem uses npx skills add org/repo which demonstrates demand for this pattern. Copilot CLI should have a native equivalent via the /skills command.
npx skills add installs by default to ~/.agents/ - Copilot does not use this folder by default, adding directory does not solve (in cli, vscode works)
Proposed Behavior
Basic usage (local to project):
/skills add spboyer/sensei
- Clones/downloads the skill from
github.com/spboyer/sensei - Copies
SKILL.mdand related resources (references/,scripts/,assets/) to.github/skills/<skill-name>/in the current project - Skill is available only in this project context
Global installation:
/skills add spboyer/sensei --global
- Copies to
~/.copilot/skills/<skill-name>/ - Skill is available across all projects
Expected behavior:
- Resolve repo — Fetch from
github.com/<org>/<repo> - Detect skill structure — Find
SKILL.mdat repo root or inskills/subdirectories - Copy resources — Copy
SKILL.md+ bundled resources (references/,scripts/,assets/) to the target folder - Auto-reload — Skills should be immediately available without restarting the session
- Lock file — Track installed skills with source, version/SHA, and install timestamp
Scope options:
| Flag | Target Directory | Scope |
|---|---|---|
| (default) | .github/skills/<name>/ |
Project-local |
--global |
~/.copilot/skills/<name>/ |
All projects |
Additional Considerations
- Should validate the skill using frontmatter checks (
name,descriptionrequired) before installing - Should warn if a skill with the same name already exists and offer to update/overwrite
- Could support
org/repo@refsyntax for pinning to a branch/tag/commit - Should exclude
.git/,node_modules/, and other non-skill files from the copy - A
/skills remove <name>and/skills update <name>would complement this feature
Example Workflow
> /skills add spboyer/repo-issue-triage
✅ Installed skill 'repo-issue-triage' to .github/skills/repo-issue-triage/
Source: github.com/spboyer/repo-issue-triage (SHA: abc123)
Files: SKILL.md, references/classification-rules.md, references/report-template.md
> /skills add spboyer/sensei --global
✅ Installed skill 'sensei' to ~/.copilot/skills/sensei/
Source: github.com/spboyer/sensei (SHA: def456)
Files: SKILL.md + 7 reference files + 3 scripts
Additional context
No response