Diagnose and resolve Claude Code plugin and skill issues. This skill should be used when plugins are installed but not showing in available skills list, skills are not activating as expected, or when troubleshooting enabledPlugins configuration in settings.json. Triggers include "plugin not working", "skill not showing", "installed but disabled", or "enabledPlugins" issues.
Diagnose and resolve common Claude Code plugin and skill configuration issues. This skill provides systematic debugging workflows for plugin installation, enablement, and activation problems.
Run the diagnostic script to identify common issues:
python3 scripts/diagnose_plugins.pyThe script checks:
known_marketplaces.json lastUpdatedlastUpdated metadataTreat lastUpdated as the only cache-freshness source. Do not fall back to
cache-directory modification times: marketplace updates can refresh nested
files without changing that directory timestamp. The diagnostic exits nonzero
for stale caches or invalid freshness metadata.
Symptoms:
/plugin shows plugin as installedinstalled_plugins.jsonRoot Cause: Known bug (GitHub #17832) - plugins are added to installed_plugins.json but NOT automatically added to enabledPlugins in settings.json.
Diagnosis:
# Check if plugin is in installed_plugins.json
cat ~/.claude/plugins/installed_plugins.json | grep "plugin-name"
# Check if plugin is enabled in settings.json
cat ~/.claude/settings.json | grep "plugin-name"Solution:
# Option 1: Use CLI to enable
claude plugin enable plugin-name@marketplace-name
# Option 2: Manually edit settings.json
# Add to enabledPlugins section:
# "plugin-name@marketplace-name": trueMirror variant — enabled but not registered: If diagnosis instead shows the plugin in enabledPlugins but NOT in installed_plugins.json, the cause is the symlink-skip bug: the install ran under a config dir where installed_plugins.json is a symlink (multi-profile shared setups), and the CLI silently skipped writing it. See references/known_issues.md → "Symlinked installed_plugins.json". Fix:
# Reinstall from the config dir owning the real file
CLAUDE_CONFIG_DIR=~/.claude claude plugin install plugin-name@marketplace-name
# Then confirm
claude plugin listKey files:
| File | Purpose |
|---|---|
~/.claude/plugins/installed_plugins.json | Registry of ALL plugins (installed + disabled) |
~/.claude/settings.json → enabledPlugins | Controls which plugins are ACTIVE |
~/.claude/plugins/known_marketplaces.json | Registered marketplace sources |
~/.claude/plugins/cache/ | Actual plugin files |
A plugin is active ONLY when:
installed_plugins.json (registered)settings.json → enabledPlugins with value trueSymptoms:
Solution:
# Update marketplace cache
claude plugin marketplace update marketplace-name
# Or clear and re-fetch
rm -rf ~/.claude/plugins/cache/marketplace-name
claude plugin marketplace update marketplace-nameCommon causes (in order of likelihood):
Local changes not pushed to GitHub - Most common!
git status
git push
claude plugin marketplace update marketplace-namemarketplace.json configuration error
python3 -m json.tool .claude-plugin/marketplace.jsonSkill directory missing
ls -la skill-name/SKILL.md| Purpose | Command |
|---|---|
| List marketplaces | claude plugin marketplace list |
| Update marketplace | claude plugin marketplace update {name} |
| Install plugin | claude plugin install {plugin}@{marketplace} |
| Enable plugin | claude plugin enable {plugin}@{marketplace} |
| Disable plugin | claude plugin disable {plugin}@{marketplace} |
| Uninstall plugin | claude plugin uninstall {plugin}@{marketplace} |
| Check installed | cat ~/.claude/plugins/installed_plugins.json | jq '.plugins | keys' |
| Check enabled | cat ~/.claude/settings.json | jq '.enabledPlugins' |
To enable all installed but disabled plugins from a marketplace:
python3 scripts/enable_all_plugins.py marketplace-nameClaude Code has two types of user-invocable extensions:
Skills (in skills/ directory)
Commands (in commands/ directory)
/command-namecommands/seer.md)If a skill should be explicitly invocable, add a corresponding command file.
references/known_issues.md for GitHub issue trackingreferences/architecture.md for detailed plugin architecturebb6ad55
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.