github / github/app

Plugin details hide shadowed skills without explaining source precedence

Open
#3,003 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
No language data
Stars
2.1k
Forks
153
PR merge metrics
No merged PRs in 30d

Description

### Short summary

When plugin skills overlap with standalone user-installed skills, the plugin details page counts and displays only the unshadowed skills without explaining that other declared skills were shadowed.

### Affected version or release

GitHub Copilot app 1.1.10.

### Installation context

A user-scoped marketplace plugin was installed after matching skills had already been installed in the standard user skill location.

### What happened?

A plugin declared six skills. Five matching skills already existed in the user skill location.

After installing the plugin, its details page reported **Provides 1 skill** and displayed only the uniquely named skill. The installed plugin package and manifest still contained all six skills.

After removing the five standalone copies and reloading the app, the plugin details page displayed all six skills.

The UI therefore presented the resolved, unshadowed skill set as though it were the plugin's complete package contents. It provided no indication that additional skills existed, were shadowed, or came from another source.

### Steps to reproduce

1. Install several skills into the standard user skill location.
2. Open a valid installation link for a test marketplace plugin declaring those same skills plus one uniquely named skill.
3. Complete the installation.
4. In the plugin view opened by the installation flow, select the newly installed plugin to open its details.
5. Observe that the details page counts and displays only the unique skill.
6. Confirm that every declared skill exists in the installed plugin directory.
7. Remove the standalone skill copies and reload the app.
8. Observe that all plugin skills now appear.

### Expected behavior

The plugin details page should show every skill declared by the plugin.

Each skill should indicate whether it is:

- Active
- Disabled
- Shadowed by another source
- Failed to load

When shadowed, the UI should identify the source taking precedence. Counts should distinguish total declared skills from currently active skills.

### Additional context

Related issues:

- https://github.com/github/app/issues/2814 discusses confusion caused by skills adopted from other harnesses.
- https://github.com/github/app/issues/2718 requests consistent plugin provenance in the slash-command menu.
- https://github.com/github/copilot-cli/issues/4430 reports duplicate repository and plugin skills.

This report is specifically about the plugin details page presenting the resolved active set as the plugin's complete inventory without exposing shadowing or source precedence.

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the plugin installation and opening the plugin details page with overlapping standalone skills. Inspect how the page obtains declared versus resolved skills and how source precedence is represented. Done means all declared skills appear with active, disabled, shadowed, or failed status, shadowed sources are identified, and counts distinguish declared from active skills.

Written by the indexing model from the issue text.

Assessment

Domain
desktop, frontend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.