home / skills / daymade / claude-code-skills / claude-skills-troubleshooting

claude-skills-troubleshooting skill

/claude-skills-troubleshooting

This skill helps diagnose and resolve Claude Code plugin and skill activation issues, guiding you through installation, enablement, and cache problems.

npx playbooks add skill daymade/claude-code-skills --skill claude-skills-troubleshooting

Review the files below or copy the command above to add this skill to your agents.

Files (5)
SKILL.md
4.6 KB
---
name: claude-skills-troubleshooting
description: 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.
---

# Claude Skills Troubleshooting

## Overview

Diagnose and resolve common Claude Code plugin and skill configuration issues. This skill provides systematic debugging workflows for plugin installation, enablement, and activation problems.

## Quick Diagnosis

Run the diagnostic script to identify common issues:

```bash
python3 scripts/diagnose_plugins.py
```

The script checks:
- Installed vs enabled plugins mismatch
- Missing enabledPlugins entries in settings.json
- Stale marketplace cache
- Invalid plugin configurations

## Common Issues

### Issue 1: Plugin Installed But Not Showing in Available Skills

**Symptoms:**
- `/plugin` shows plugin as installed
- Skill not appearing in Skill tool's available list
- Plugin metadata exists in `installed_plugins.json`

**Root Cause:** Known bug ([GitHub #17832](https://github.com/anthropics/claude-code/issues/17832)) - plugins are added to `installed_plugins.json` but NOT automatically added to `enabledPlugins` in `settings.json`.

**Diagnosis:**
```bash
# 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:**
```bash
# 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": true
```

### Issue 2: Understanding Plugin State Architecture

**Key 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:**
1. Exists in `installed_plugins.json` (registered)
2. Listed in `settings.json` → `enabledPlugins` with value `true`

### Issue 3: Marketplace Cache Stale

**Symptoms:**
- GitHub has latest changes
- Install finds plugin but gets old version
- Newly added plugins not visible

**Solution:**
```bash
# 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-name
```

### Issue 4: Plugin Not Found in Marketplace

**Common causes (in order of likelihood):**

1. **Local changes not pushed to GitHub** - Most common!
   ```bash
   git status
   git push
   claude plugin marketplace update marketplace-name
   ```

2. **marketplace.json configuration error**
   ```bash
   python3 -m json.tool .claude-plugin/marketplace.json
   ```

3. **Skill directory missing**
   ```bash
   ls -la skill-name/SKILL.md
   ```

## Diagnostic Commands Reference

| 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'` |

## Batch Enable Missing Plugins

To enable all installed but disabled plugins from a marketplace:

```bash
python3 scripts/enable_all_plugins.py marketplace-name
```

## Skills vs Commands Architecture

Claude Code has two types of user-invocable extensions:

1. **Skills** (in `skills/` directory)
   - Auto-activated based on description matching
   - Loaded when user request matches skill description

2. **Commands** (in `commands/` directory)
   - Explicitly invocable via `/command-name`
   - Appears in Skill tool's available list
   - Requires command file (e.g., `commands/seer.md`)

If a skill should be explicitly invocable, add a corresponding command file.

## References

- See `references/known_issues.md` for GitHub issue tracking
- See `references/architecture.md` for detailed plugin architecture

Overview

This skill diagnoses and resolves Claude Code plugin and skill configuration issues. It provides targeted troubleshooting for plugins that are installed but not listed, skills that fail to activate, and problems with enabledPlugins in settings.json. Use it to quickly identify root causes and apply practical fixes.

How this skill works

The skill runs a set of checks against the local Claude configuration, installed plugin registry, and marketplace cache to detect mismatches and invalid configurations. It guides you through CLI and manual fixes: enabling plugins in settings.json, updating marketplace caches, and validating marketplace or skill metadata. It also includes scripts for bulk enabling and diagnostic commands for verification.

When to use it

  • You installed a plugin but it does not appear in the Skill tool available list
  • Skills are not activating automatically when a matching request is made
  • A plugin shows as installed but remains disabled
  • enabledPlugins entries are missing or incorrect in settings.json
  • Marketplace updates aren’t reflecting new or updated plugins

Best practices

  • Run the diagnostic script first: python3 scripts/diagnose_plugins.py to get a prioritized list of issues
  • Prefer the CLI enable command (claude plugin enable) over manual edits when possible to avoid formatting errors
  • Keep marketplace sources up to date: claude plugin marketplace update {name} after pushing changes
  • Validate JSON files (marketplace.json, settings.json) with a JSON tool before reloading
  • Use the cache-clearing step when installs return stale versions

Example use cases

  • Enable a plugin that is listed in installed_plugins.json but missing from settings.json
  • Clear and refresh a marketplace cache when newly added plugins are not visible
  • Run a quick check to list installed vs enabled plugins and reconcile differences
  • Bulk-enable all installed plugins from a marketplace using the provided script
  • Verify that a skill intended for explicit invocation has a corresponding command file

FAQ

How do I make an installed plugin active?

Ensure the plugin appears in ~/.claude/plugins/installed_plugins.json and add or set its entry to true in settings.json → enabledPlugins, or run claude plugin enable {plugin}@{marketplace}.

Why do I see an older plugin version after updating the marketplace?

The local marketplace cache may be stale. Run claude plugin marketplace update {marketplace} or remove ~/.claude/plugins/cache/{marketplace} and update again.