Skip to content

feat(skills): support global scope for GitHub Copilot skills#2098

Merged
dyoshikawa merged 2 commits into
mainfrom
resolve-issue-2065-copilot-global-skills
Jul 1, 2026
Merged

feat(skills): support global scope for GitHub Copilot skills#2098
dyoshikawa merged 2 commits into
mainfrom
resolve-issue-2065-copilot-global-skills

Conversation

@dyoshikawa

Copy link
Copy Markdown
Owner

Summary

Follow-up for GitHub Copilot upstream (#2065). Copilot auto-discovers personal/global skills from ~/.copilot/skills/, but rulesync CopilotSkill threw in global mode, so generate --targets copilot --features skills --global emitted nothing.

Changes

  • src/constants/copilot-paths.ts: added COPILOT_SKILLS_GLOBAL_DIR_PATH (.copilot/skills).
  • src/features/skills/copilot-skill.ts: getSettablePaths({ global: true }) now returns the global path instead of throwing.
  • src/features/skills/skills-processor.ts: copilot skills meta supportsGlobal false to true.
  • Mirrors the existing working Copilot CLI global-skills implementation (COPILOTCLI_SKILLS_GLOBAL_DIR_PATH = .copilot/skills).
  • Tests: replaced the throw test with a global-path assertion + a conversion test; added copilot to the global-mode e2e happy-path matrix (~/.copilot/skills//SKILL.md). Regenerated supported-tools tables (copilot Skills now shows the global marker).

Out-of-scope minor items (hook cwd/env, new SKILL.md frontmatter) intentionally not touched.

Verification

pnpm cicheck fully green: 298 test files, 6623 tests; cspell, secretlint, supported-tools, gitignore all pass.

References

Closes #2065

cm-dyoshikawa and others added 2 commits June 30, 2026 17:29
GitHub Copilot auto-discovers personal/global skills from ~/.copilot/skills/ (mirroring the project .github/skills/ layout and Copilot CLI's personal skills location). Previously CopilotSkill.getSettablePaths threw in global mode, so generate --targets copilot --features skills --global emitted nothing.

Add COPILOT_SKILLS_GLOBAL_DIR_PATH, implement the global branch in CopilotSkill.getSettablePaths, and flip the skills processor meta supportsGlobal to true for copilot. Update tests (unit + e2e global happy-path matrix) and regenerate the supported-tools tables and synced skill docs.

Resolves #2065

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…lot and copilotcli

Address PR review (mid DRY): COPILOT_SKILLS_GLOBAL_DIR_PATH and COPILOTCLI_SKILLS_GLOBAL_DIR_PATH held the identical value .copilot/skills. Drop the copilotcli-specific constant and have both adapters import the shared one, matching how the project-scope COPILOT_SKILLS_DIR_PATH is already shared.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@dyoshikawa
dyoshikawa merged commit f7e88a3 into main Jul 1, 2026
8 checks passed
@dyoshikawa
dyoshikawa deleted the resolve-issue-2065-copilot-global-skills branch July 1, 2026 01:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Follow up GitHub Copilot upstream updates: global/personal skills scope (~/.copilot/skills/)

2 participants