anthropics / anthropics/claude-code

Skill store search shows duplicate 'Installed' badges on unrelated same-named skills

Open
#95,371 0 comments 0 reactions 0 assignees View on GitHub
area:plugins area:ui bug platform:macos
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.