From 416599a85ea2f9c882db8dade5c5a7041d5d7bcf Mon Sep 17 00:00:00 2001 From: Clay Good Date: Tue, 22 Sep 2026 17:28:55 +0000 Subject: [PATCH] docs(copilot): document workflow rediscovery (#1943) * docs(copilot): document workflow rediscovery * test(copilot): pair discovery claims * docs(copilot): harden workflow recovery guidance --- docs-lab/reference/supported-tools.md | 9 +++++++-- test/core/init.test.ts | 10 +++++++++- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/docs-lab/reference/supported-tools.md b/docs-lab/reference/supported-tools.md index bdaf8936..66b30e1f 100644 --- a/docs-lab/reference/supported-tools.md +++ b/docs-lab/reference/supported-tools.md @@ -102,8 +102,13 @@ Skills stay in `.cline/skills/`. ### GitHub Copilot -Prompt files register as slash commands in the Copilot IDE extensions (VS Code, -JetBrains, Visual Studio). Copilot CLI does not read `.github/prompts/`. +- **IDE extensions (command delivery)**: VS Code, JetBrains, and Visual Studio load + `.github/prompts/opsx-.prompt.md` as `/opsx-`. If a command disappears + while its file still exists, restart the IDE. +- **Copilot CLI (skill delivery)**: the CLI ignores `.github/prompts/` and loads + `.github/skills/openspec-*/SKILL.md` instead. Invoke a skill as + `/openspec-`. If a skill disappears while its file still exists, run + `/skills reload`, then `/skills info openspec-propose` to confirm discovery. ### Hermes Agent diff --git a/test/core/init.test.ts b/test/core/init.test.ts index 4e1b662d..4004c7d3 100644 --- a/test/core/init.test.ts +++ b/test/core/init.test.ts @@ -1594,12 +1594,20 @@ describe('InitCommand', () => { expect(await fileExists(cmdFile)).toBe(true); }); - it('should generate GitHub Copilot prompt files', async () => { + it('should generate GitHub Copilot prompt and skill files with default delivery', async () => { const initCommand = new InitCommand({ tools: 'github-copilot', force: true }); await initCommand.execute(testDir); const cmdFile = path.join(testDir, '.github', 'prompts', 'opsx-explore.prompt.md'); + const skillFile = path.join( + testDir, + '.github', + 'skills', + 'openspec-explore', + 'SKILL.md' + ); expect(await fileExists(cmdFile)).toBe(true); + expect(await fileExists(skillFile)).toBe(true); }); it('should fail GitHub Copilot setup without partially creating cloud files', async () => {