feat: migrate VS Code extension to native customization model#301
Merged
Conversation
Migrate agent installation from legacy User/prompts to ~/.copilot/agents, contribute prompt files natively via chatPromptFiles, contribute skills natively via chatSkills with build-time conditional rendering, and remove the obsolete paw_get_skill/paw_get_skills tool bridge. Key changes: - Agents install to ~/.copilot/agents (paw.agentDirectory override available) - Skills rendered to vscode-assets/skills/ at build time (postcompile) - npm run watch now rerenders skill assets on skills/ changes - Legacy cleanup runs unconditionally across all known install paths - WSL override paths normalized from Windows to POSIX format - Activation seam added for testable install-through-activate flow - VSIX packaging test validates archive contents end-to-end - .paw/** excluded from packaged VSIX - Downgrade docs updated to reflect unvalidated pre-migration rollback - processConditionalBlocks extracted to src/utils/conditionalBlocks.ts - Engine floor bumped to VS Code ^1.109.0 Closes #240 Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
Both the CLI (which normalizes spaces to hyphens during build) and the VS Code extension now install agents to ~/.copilot/agents. Using the same hyphenated filename prevents duplicate agent files from appearing. - Rename agents/PAW Review.agent.md → agents/PAW-Review.agent.md - Update prompt file agent reference to PAW-Review - Update handoff tool AgentName type and package.json enum - Add old spaced filename to legacy cleanup candidates - Update docs and test references Co-authored-by: Copilot <[email protected]>
The New PAW Workflow command was sending only the initialization parameters to the agent without the instruction to load and execute the paw-workflow skill. Previously the prompt system injected this automatically, but with native chatPromptFiles the programmatic path needs to include it explicitly. Co-authored-by: Copilot <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Migrates the VS Code extension from the legacy
User/promptsinstallation model to the current Copilot customization model. This fixes the release bug where the extension installed successfully but agents did not appear in Copilot Chat.Closes #240
What changed
Agent installation
~/.copilot/agents(configurable viapaw.agentDirectory)User/promptsinstalls are cleaned up automatically during upgradepaw.promptDirectoryretained as deprecated fallbackNative prompt and skill delivery
chatPromptFileschatSkillswith build-time conditional renderingvscode-assets/skills/(stable extension-root path, notout/)processConditionalBlocksextracted to sharedsrc/utils/conditionalBlocks.tspaw_get_skill/paw_get_skillstool bridge and all associated codeDeveloper workflow
npm run watchnow rerenders VS Code skill assets whenskills/files change^1.109.0Test harness improvements
activate()with safe install.paw/**excluded from packaged VSIXDocumentation
Validation
npm run compile✅npm run lint✅npm test— 130 passing ✅npm run package✅mkdocs build --strict✅Files changed