github / github/app

Slash-command menu should show the plugin namespace for skills consistently, not only on name collision

Đang mở
#2,718 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
Không có dữ liệu ngôn ngữ
Star
2.1k
Fork
153
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

### Feature summary

In the composer's `/` slash-command menu, always show plugin-provided skills as `plugin-name:skill-name`, instead of only when two installed plugins collide on a skill name.

### What problem are you trying to solve?

App version: v1.1.6

The `/` autocomplete menu lists plugin skills by bare name, and only adds the plugin qualifier when two installed plugins happen to provide the same skill name.

Observed with ~20 plugins from several marketplaces installed:

- `repository-policy` is provided by two installed plugins, so it appears as `repository-policy:repository-policy`.
- Uniquely-named skills like `engineering-standards` or `dependency-scanning` appear bare, with no indication of which plugin or marketplace provides them.

The result is an inconsistent, provenance-free menu:

- You can't tell a marketplace-provided skill from a personal or repository one while picking from `/`.
- When a skill misbehaves, the menu gives you no way to know which plugin to disable, update, or uninstall.
- Two marketplaces shipping similar generic skill names are indistinguishable in the menu until they literally collide.
- Names are unstable: installing an unrelated plugin can silently rename an entry in the menu from `foo` to `some-plugin:foo`, so muscle memory and typed prefixes break.

### Proposed solution

Always display `plugin-name:skill-name` for plugin-provided skills in the `/` menu, keeping bare names for personal and repository skills. Fuzzy matching should keep working against both the bare skill name and the qualified form, so typing `dependency` still finds `security:dependency-scanning`.

If full qualification is considered too noisy, an acceptable alternative is a secondary label or badge on each menu row showing the providing plugin (and ideally the marketplace), so provenance is visible without changing the primary label.

### Workflow impact

Affects anyone running with more than a couple of plugins installed, especially across multiple marketplaces. Making provenance visible in the menu makes skill selection predictable, makes plugin management actionable from the point of use, and removes the surprise of entries renaming themselves when unrelated plugins are installed.

### Installation context

N/A

### Additional context

The same inconsistency shows up in the skill list surfaced to the agent, where some entries are namespaced (`testing-automation:playwright-explore-website`, `repository-policy:repository-policy`) and others are bare (`engineering-standards`, `dependency-scanning`) — so this is likely a single shared display-name rule rather than a menu-only concern.

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Issue không nêu file hoặc test nào; hãy bắt đầu bằng việc xác định menu lệnh slash `/` của composer và logic tên hiển thị skill dùng chung, cũng được sử dụng trong danh sách skill của agent. Kiểm tra fuzzy matching xử lý tên đơn và tên đủ định danh như thế nào, sau đó xác nhận rằng các plugin skill hiển thị namespace của chúng, trong khi skill cá nhân và skill repository vẫn giữ dạng bare, đồng thời bảo toàn hành vi matching hiện có.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Lĩnh vực
developer-experience, frontend
Loại issue
Tính năng
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Ít trao đổi
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
58/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.