Skip to content

Feature: /skills add <org/repo> with local-by-default and --global option #1619

@spboyer

Description

@spboyer

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.md and 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:

  1. Resolve repo — Fetch from github.com/<org>/<repo>
  2. Detect skill structure — Find SKILL.md at repo root or in skills/ subdirectories
  3. Copy resources — Copy SKILL.md + bundled resources (references/, scripts/, assets/) to the target folder
  4. Auto-reload — Skills should be immediately available without restarting the session
  5. 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, description required) before installing
  • Should warn if a skill with the same name already exists and offer to update/overwrite
  • Could support org/repo@ref syntax 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.md and 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:

  1. Resolve repo — Fetch from github.com/<org>/<repo>
  2. Detect skill structure — Find SKILL.md at repo root or in skills/ subdirectories
  3. Copy resources — Copy SKILL.md + bundled resources (references/, scripts/, assets/) to the target folder
  4. Auto-reload — Skills should be immediately available without restarting the session
  5. 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, description required) before installing
  • Should warn if a skill with the same name already exists and offer to update/overwrite
  • Could support org/repo@ref syntax 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions