Skip to content

use IPromptsService to provide customizations#309873

Merged
aeschli merged 10 commits intomainfrom
aeschli/visible-stoat-789
Apr 15, 2026
Merged

use IPromptsService to provide customizations#309873
aeschli merged 10 commits intomainfrom
aeschli/visible-stoat-789

Conversation

@aeschli
Copy link
Copy Markdown
Contributor

@aeschli aeschli commented Apr 14, 2026

No description provided.

Copilot AI review requested due to automatic review settings April 14, 2026 14:55
@aeschli aeschli self-assigned this Apr 14, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

This PR migrates prompt/customization plumbing to a unified IPromptsService backed by the VS Code vscode.chat APIs, updating runtime code and tests accordingly.

Changes:

  • Introduces a VS Code–backed PromptsServiceImpl that exposes agents/instructions/skills/hooks/plugins + change events via vscode.chat.
  • Expands IPromptsService to include change events and accessors for agents/instructions/skills/hooks/plugins.
  • Updates Claude customization + Copilot CLI session code/tests to consume IPromptsService, and removes now-redundant custom agent service code.
Show a summary per file
File Description
extensions/copilot/src/platform/promptFiles/vscode/promptsServiceImpl.ts New VS Code implementation of IPromptsService (events + vscode.chat access + prompt parsing).
extensions/copilot/src/platform/promptFiles/test/common/mockPromptsService.ts New test mock for IPromptsService.
extensions/copilot/src/platform/promptFiles/common/promptsService.ts Extends the service contract with events + accessors for chat resources.
extensions/copilot/src/extension/chatSessions/vscode-node/claudeCustomizationProvider.ts Switches Claude customization discovery to IPromptsService.
extensions/copilot/src/extension/chatSessions/copilotcli/node/copilotcliSessionService.ts Reads agent metadata/content via IPromptsService instead of parsed prompt files.
extensions/copilot/src/extension/extension/vscode/services.ts Wires up the new VS Code prompts service implementation.
extensions/copilot/src/extension/test/vscode-node/services.ts Updates test service wiring to the new implementation.
extensions/copilot/src/extension/chatSessions/vscode-node/test/claudeCustomizationProvider.spec.ts Updates tests to use MockPromptsService.
extensions/copilot/src/extension/chatSessions/vscode-node/test/copilotCLIChatSessionParticipant.spec.ts Updates tests to use MockPromptsService.
extensions/copilot/src/extension/chatSessions/copilotcli/node/test/copilotCliSessionService.spec.ts Updates tests to use MockPromptsService.
extensions/copilot/src/extension/chatSessions/vscode-node/chatCustomAgentsService.ts Removes redundant custom agents service implementation.
extensions/copilot/src/extension/chatSessions/common/chatCustomAgentsService.ts Removes redundant custom agents service interface.
extensions/copilot/src/platform/promptFiles/common/promptsServiceImpl.ts Deletes old non-VS Code prompts service implementation.
extensions/copilot/src/extension/chatSessions/copilotcli/vscode-node/test/testHelpers.ts Removes the old prompt-file-service test helper.

Copilot's findings

  • Files reviewed: 14/14 changed files
  • Comments generated: 3

Comment thread extensions/copilot/src/platform/promptFiles/common/promptsService.ts Outdated
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 14, 2026

Screenshot Changes

Base: 5abe4b08 Current: ffcf9509

Changed (14)

sessions/aiCustomizationShortcutsWidget/Expanded/Dark
Before After
before after
sessions/aiCustomizationShortcutsWidget/WithMcpServers/Dark
Before After
before after
sessions/aiCustomizationShortcutsWidget/WithCounts/Dark
Before After
before after
chat/aiStats/AiStatsHover/Dark
Before After
before after
sessions/aiCustomizationShortcutsWidget/Expanded/Light
Before After
before after
sessions/aiCustomizationShortcutsWidget/WithMcpServers/Light
Before After
before after
sessions/aiCustomizationShortcutsWidget/WithCounts/Light
Before After
before after
chat/aiStats/AiStatsHover/Light
Before After
before after
chat/aiCustomizations/aiCustomizationListWidget/InstructionsTabWithItems/Light
Before After
before after
chat/aiCustomizations/aiCustomizationListWidget/InstructionsTabWithItems/Dark
Before After
before after
chat/aiCustomizations/aiCustomizationManagementEditor/HooksTab/Light
Before After
before after
chat/aiCustomizations/aiCustomizationManagementEditor/HooksTab/Dark
Before After
before after
chat/aiCustomizations/aiCustomizationManagementEditor/McpServersTabScrolled/Dark
Before After
before after
editor/inlineCompletions/other/JumpToHint/Dark
Before After
before after

@aeschli aeschli requested review from DonJayamanne and Copilot April 14, 2026 21:25
@aeschli aeschli marked this pull request as ready for review April 14, 2026 21:25
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

This PR migrates chat customization discovery (agents, instructions, skills, hooks, plugins) from the bespoke IChatPromptFileService to the shared IPromptsService, aligning Copilot CLI/Claude customization providers with the VS Code vscode.chat.* APIs and consolidating test mocking around a single prompts service abstraction.

Changes:

  • Expand IPromptsService to expose customization lists + change events, and introduce a VS Code-backed PromptsServiceImpl.
  • Remove IChatPromptFileService / ChatPromptFileService and update Copilot CLI + Claude customization providers and session service to use IPromptsService.
  • Add MockPromptsService and update unit tests/e2e wiring accordingly.
Show a summary per file
File Description
extensions/copilot/test/e2e/cli.stest.ts Removes IChatPromptFileService test wiring in favor of prompts service usage.
extensions/copilot/src/platform/promptFiles/vscode/promptsServiceImpl.ts New VS Code-backed implementation providing customization lists/events + parsing.
extensions/copilot/src/platform/promptFiles/test/common/mockPromptsService.ts New test mock for IPromptsService customizations + parse stubbing.
extensions/copilot/src/platform/promptFiles/common/promptsServiceImpl.ts Removes the former common-only PromptsServiceImpl.
extensions/copilot/src/platform/promptFiles/common/promptsService.ts Extends the IPromptsService API surface with customization getters + events.
extensions/copilot/src/extension/test/vscode-node/services.ts Switches prompts service binding to the new VS Code implementation.
extensions/copilot/src/extension/extension/vscode/services.ts Switches prompts service binding to the new VS Code implementation.
extensions/copilot/src/extension/chatSessions/vscode-node/copilotCLICustomizationProvider.ts Uses IPromptsService for all customizations; parallelizes fetching and adds error isolation.
extensions/copilot/src/extension/chatSessions/vscode-node/claudeCustomizationProvider.ts Uses IPromptsService for agents/skills instead of chat prompt file service.
extensions/copilot/src/extension/chatSessions/vscode-node/chatSessions.ts Removes registration/usage of ChatPromptFileService.
extensions/copilot/src/extension/chatSessions/copilotcli/node/copilotcliSessionService.ts Reworks agent-mode-instructions lookup to use IPromptsService and lazy content parsing.
extensions/copilot/src/extension/chatSessions/copilotcli/node/copilotCli.ts Updates CopilotCLIAgents to consume IPromptsService ChatCustomAgent objects.
extensions/copilot/src/extension/chatSessions/copilotcli/node/copilotCLISkills.ts Makes getSkillsLocations async and sources skills from IPromptsService.
extensions/copilot/src/extension/chatSessions//test//*.spec.ts Updates tests to use MockPromptsService and richer typed stubs.
extensions/copilot/src/extension/chatSessions/**/chatPromptFileService.ts Deletes the old file-based chat prompt service implementation.
extensions/copilot/src/extension/chatSessions/common/chatPromptFileService.ts Deletes the old IChatPromptFileService interface.

Copilot's findings

  • Files reviewed: 26/26 changed files
  • Comments generated: 7

Comment thread extensions/copilot/src/platform/promptFiles/test/common/mockPromptsService.ts Outdated
Comment thread extensions/copilot/src/platform/promptFiles/test/common/mockPromptsService.ts Outdated
…omptsService.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
DonJayamanne
DonJayamanne previously approved these changes Apr 14, 2026
DonJayamanne
DonJayamanne previously approved these changes Apr 14, 2026
@aeschli aeschli merged commit bf87124 into main Apr 15, 2026
26 checks passed
@aeschli aeschli deleted the aeschli/visible-stoat-789 branch April 15, 2026 07:40
@vs-code-engineering vs-code-engineering bot added this to the 1.117.0 milestone Apr 15, 2026
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.

4 participants