anthropics / anthropics/claude-code
Skill store search shows duplicate 'Installed' badges on unrelated same-named skills
- Dominant language
- Python
- Stars
- 145k
- Forks
- 23.1k
- PR merge metrics
- PR metrics pending
Description
## Description
In the built-in skill marketplace search panel, searching a term (e.g. "frontend") returns multiple entries with the identical name (e.g. `frontend-design`) sourced from different, unrelated marketplaces/authors (different truncated source labels, wildly different install counts — 899K vs 55K vs 6.2K vs 5.1K vs 4.3K). These are genuinely different skills that happen to share a name, not duplicates of one skill.
The bug: several of these same-named-but-different-source entries are all marked with an "Installed" badge, even though only ONE of them is actually installed (verified against `~/.claude/plugins/installed_plugins.json`, which shows a single `frontend-design@claude-plugins-official` entry). It looks like the "Installed" badge is being matched by skill *name* alone rather than by the specific (name, source) pair, so every search result sharing a name with an installed skill gets incorrectly flagged as installed.
## Impact
- Misleading UI: users can't tell which specific source they actually have installed.
- Search results are noisy — the same name repeats many times across a result page, making it hard to compare genuinely different options at a glance.
## Suggested fix
- Scope the "Installed" badge to the exact (name, source/marketplace) pair, not name alone.
- Consider visually grouping or otherwise disambiguating same-named results from different sources so it's clear at a glance they are distinct skills (e.g. show source prominently, or group under the shared name with expandable variants).
## Environment
- Claude Code (VS Code extension / CLI)
- macOS (Darwin 24.6.0)
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reproducing the search in the built-in skill marketplace and compare the results with ~/.claude/plugins/installed_plugins.json, which shows the installed source. Trace how the search panel assigns Installed badges and verify that matching requires both skill name and source; done when unrelated same-named results are no longer marked installed.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, vscode
- Domain
- cli, frontend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100