Plugin loader ignores skills array filter, causing duplicate skills

Resolved 💬 3 comments Opened Jan 27, 2026 by sk102 Closed Jan 30, 2026

Bug Description

When installing multiple plugins from the same marketplace (e.g., document-skills and example-skills from anthropic-agent-skills), all skills appear duplicated with both plugin prefixes instead of being filtered according to each plugin's skills array in marketplace.json.

Expected Behavior

Based on the marketplace.json configuration:

{
  "plugins": [
    {
      "name": "document-skills",
      "skills": [
        "./skills/xlsx",
        "./skills/docx",
        "./skills/pptx",
        "./skills/pdf"
      ]
    },
    {
      "name": "example-skills",
      "skills": [
        "./skills/algorithmic-art",
        "./skills/brand-guidelines",
        ...
      ]
    }
  ]
}
  • document-skills:* should only expose: xlsx, docx, pptx, pdf
  • example-skills:* should only expose: algorithmic-art, brand-guidelines, etc.

Actual Behavior

Both plugins expose ALL 16 skills, creating duplicates:

document-skills:pdf
document-skills:pptx
document-skills:xlsx
document-skills:docx
document-skills:algorithmic-art   ← should not exist
document-skills:frontend-design   ← should not exist
...
example-skills:pdf                ← should not exist
example-skills:pptx               ← should not exist
example-skills:xlsx               ← should not exist
example-skills:docx               ← should not exist
example-skills:algorithmic-art
example-skills:frontend-design
...

Root Cause

Investigation of the plugin cache directories shows:

  1. Both ~/.claude/plugins/cache/anthropic-agent-skills/document-skills/ and ~/.claude/plugins/cache/anthropic-agent-skills/example-skills/ contain identical content
  2. The entire repository (all 16 skills) is copied into both cache directories
  3. The skills array filter in marketplace.json is not being applied when loading skills
  4. Both cached marketplace.json files are identical and define both plugins

Steps to Reproduce

  1. Have both plugins enabled in ~/.claude/settings.json:

``json
{
"enabledPlugins": {
"document-skills@anthropic-agent-skills": true,
"example-skills@anthropic-agent-skills": true
}
}
``

  1. Start Claude Code
  2. Observe the skill list shows duplicates (e.g., both document-skills:pdf and example-skills:pdf)

Environment

  • OS: macOS (Darwin 25.2.0)
  • Claude Code version: Latest as of 2025-01-27
  • Plugin source: ~/.claude/skills/anthropic-skills/ (Anthropic's official skills repo)

Workaround

Disable one of the plugins in settings to eliminate duplicates (though this means all skills appear under a single prefix).

Suggested Fix

The plugin loader should:

  1. Respect the skills array filter when loading skills from each plugin
  2. Only copy/expose the skills explicitly listed in each plugin's configuration
  3. OR create separate cache directories with only the relevant skills for each plugin

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗