Refactor high-complexity React components in Dify frontend. Use when `pnpm analyze-component...
npx skills add hibariba/skills --skill "plugin-discovery"
Install specific skill from multi-skill repository
# Description
This skill should be used when searching for, installing, or managing Claude plugins that provide specialized agents, commands, and MCP servers. Before starting work on tasks involving specific technologies, frameworks, or domains, proactively check if a plugin exists that encodes best practices and specialized knowledge. Plugins provide tools and techniques that enhance base capabilities. Also use when users explicitly ask to find, install, or manage plugins.
# SKILL.md
name: plugin-discovery
version: 1.0.0
description: This skill should be used when searching for, installing, or managing Claude plugins that provide specialized agents, commands, and MCP servers. Before starting work on tasks involving specific technologies, frameworks, or domains, proactively check if a plugin exists that encodes best practices and specialized knowledge. Plugins provide tools and techniques that enhance base capabilities. Also use when users explicitly ask to find, install, or manage plugins.
license: MIT
keywords: [plugins, marketplace, discovery, install, cli, management]
Plugin Discovery
Discover, install, and manage Claude plugins providing specialized agents, commands, and MCP servers.
Table of Contents
- Requirements
- Quick Start
- Security Considerations
- Basic Commands
- Clarifying Ambiguous Requests
- Discovery
- Plugin Management
- Marketplace Management
- Maintenance
- Presenting Results
- Bundled Resources
- Test Scenarios
Requirements
This skill requires the following tools:
claudeCLI - Installed with Claude Code (required)jq- For JSON parsing in examples - Install:brew install jqorapt-get install jqcurl- For API queries (usually pre-installed)tree- For directory visualization (optional) - Install:brew install tree
Quick Start
# Search for plugins
claude plugin list --available
# Install a plugin (user scope - global)
claude plugin install plugin-name
# Install for current project only
claude plugin install plugin-name --scope project
# List installed plugins
claude plugin list
# Run diagnostics
./scripts/doctor.sh # From this skill's directory
Security Considerations
This skill executes shell commands via the claude CLI and external APIs. Be aware:
- Command Execution: Claude will run bash commands shown in examples. Review complex scripts before execution.
- Destructive Operations: Commands like
rm -rfin the doctor workflow permanently delete files. - External API Calls: Queries to
claude-plugins.devfetch plugin metadata from a public registry. - Plugin Installation: Installing plugins gives them access to your Claude Code environment. Only install plugins from trusted sources.
- Script Permissions: Some workflows create and execute shell scripts. Verify script content before running.
When in doubt, review the command before confirming execution.
Basic Commands
Command Reference
claude plugin
├── install <plugin> [--scope user|project|local]
├── uninstall <plugin> [--scope user|project|local]
├── update <plugin> [--scope user|project|local|managed]
├── list [--json] [--available]
├── validate <path>
└── marketplace
├── add <source>
├── remove <name>
├── update [name]
└── list [--json]
Scopes:
- user — Global, available across all projects (default)
- project — Local to specific project, shared with team
- local — Local installation, gitignored
Note: As of Claude CLI v1.x, enable/disable commands may not work reliably. Prefer uninstall/reinstall for toggling plugins.
Help System
When user types /plugin-discovery help, show:
plugin-discovery - Discover, install, and manage Claude plugins
Example usage:
/plugin-discovery search TEXT Search plugins by name/description
/plugin-discovery info PLUGIN... Show detailed plugin information
/plugin-discovery install PLUGIN... Install plugins
/plugin-discovery uninstall PLUGIN... Remove plugins
/plugin-discovery update [PLUGIN...] Update plugins (or all)
/plugin-discovery list List installed plugins
/plugin-discovery list --available List all available plugins
/plugin-discovery doctor Run diagnostics and cleanup
/plugin-discovery which COMPONENT Find which plugin owns a component
Clarifying Ambiguous Requests
IMPORTANT: Before proceeding with any plugin operation, clarify ambiguous requests with the user.
"List plugins" scenarios
When user asks to "list plugins" without specifying what kind, ask:
questions:
- id: list_type
prompt: "What plugins would you like to list?"
options:
- id: installed
label: "Installed plugins only"
- id: available
label: "Available plugins (installed + can install from added marketplaces)"
- id: search_online
label: "Search online registry (claude-plugins.dev)"
- Installed: Show only currently installed plugins
- Available: Show installed + available from added marketplaces
- Search online: Query claude-plugins.dev registry
Search Strategy
Before searching, ask user:
questions:
- id: search_source
prompt: "Where should I search for plugins?"
options:
- id: local
label: "Local only (installed + available from added marketplaces)"
- id: registry
label: "Registry only (claude-plugins.dev)"
- id: both
label: "Both local and registry"
- Local: Fast, searches installed + available from added marketplaces
- Registry: Full claude-plugins.dev catalog (requires adding marketplace before install)
- Both: Comprehensive search across all sources
Discovery
List installed plugins
claude plugin list
Shows plugins with name, version, scope, and status (enabled/disabled).
List all available plugins
claude plugin list --available
Shows both installed and available plugins from added marketplaces.
Search local plugins
# Plain text search
claude plugin list --available | grep "search-term"
# JSON parsing (if your CLI version supports it)
claude plugin list --available --json | jq '.[] | select(.name | contains("search-term"))'
Filter by searching name and description fields for query terms.
Search registry (claude-plugins.dev)
curl "https://claude-plugins.dev/api/plugins?q=QUERY&limit=20&offset=0"
Response fields:
- name, description, namespace, gitUrl
- stars, downloads, verified
- metadata.agents, metadata.commands, metadata.mcpServers
Web registry: https://claude-plugins.dev/plugins
Plugin Management
Install plugin
From local marketplace (already added):
claude plugin install plugin-name # user scope (default)
claude plugin install plugin-name --scope project
claude plugin install plugin-name --scope local
From registry (must add marketplace first):
# 1. Add marketplace
claude plugin marketplace add owner/repo
# 2. Install plugin
claude plugin install plugin-name --scope project
Uninstall plugin
# Find scope first
claude plugin list --json | jq -r '.[] | select(.id | contains("plugin-name")) | .scope'
# Uninstall from found scope
claude plugin remove plugin-name --scope <scope>
Update plugin
claude plugin update plugin-name --scope user
Restart Claude Code to apply updates.
Marketplace Management
List marketplaces
claude plugin marketplace list
Shows marketplace name, source, and repository.
Add marketplace
# GitHub repo
claude plugin marketplace add owner/repo
# URL
claude plugin marketplace add https://github.com/owner/repo.git
# Local path
claude plugin marketplace add /path/to/marketplace
Remove marketplace
claude plugin marketplace remove marketplace-name
Update marketplace(s)
# Update all marketplaces
claude plugin marketplace update
# Update specific marketplace
claude plugin marketplace update marketplace-name
Maintenance
Validate plugin
# Validate installed plugin
INSTALL_PATH=$(claude plugin list --json | jq -r '.[] | select(.id | contains("plugin-name")) | .installPath')
claude plugin validate $INSTALL_PATH
Returns: ✔ Validation passed or error details.
Doctor (cleanup & diagnostics)
Run the bundled doctor script for comprehensive health checks:
# From this skill's directory
./scripts/doctor.sh
The doctor script:
1. Validates all installed plugins
2. Checks for orphan cache directories
3. Detects duplicates across scopes
4. Validates marketplace health
See scripts/doctor.sh for the full implementation.
Presenting Results
When showing plugins to users:
- Clarify first — If request is ambiguous (see "Clarifying Ambiguous Requests" section)
- Show 3-5 most relevant — Don't overwhelm with hundreds
- Include key info — Name, status, description, stars/downloads
- Prioritize — Installed > high downloads > high stars
- Explain relevance — How it helps their specific task
- Ask confirmation — Before installing/removing
- Offer alternatives — Can help directly if no suitable plugin
Bundled Resources
This skill includes additional reference materials:
- references/advanced-commands.md
- Advanced plugin information workflows
- Complex search patterns with jq
- Scope management commands
- Component discovery scripts
-
Marketplace filtering techniques
- Common issues and solutions
- Error message explanations
- Diagnostic procedures
-
Resolution step-by-step guides
- Comprehensive health check script
- Validates all installed plugins
- Detects orphan directories
- Identifies duplicate installations
- Validates marketplace integrity
When to use bundled resources:
- User needs advanced filtering or complex jq patterns → advanced-commands.md
- User encounters errors or plugin not working → troubleshooting.md
- User wants comprehensive diagnostics → Run scripts/doctor.sh
Test Scenarios
Use these scenarios to verify the skill works correctly across different use cases:
Scenario 1: Basic Plugin Discovery
User Request: "Find me a plugin for Neo4j graph databases"
Expected Behavior:
1. Ask clarifying question: "Where should I search for plugins?" (local/registry/both)
2. Execute appropriate search command based on user choice
3. Present 3-5 most relevant results with names, descriptions, and download counts
4. Explain relevance to Neo4j graph database work
Verification: Results should include neo4j-dev or similar plugins
Scenario 2: Plugin Installation with Scope Selection
User Request: "Install the superpowers plugin for my current project"
Expected Behavior:
1. Identify plugin name and marketplace (if ambiguous, ask for clarification)
2. Ask for installation scope or infer from "current project" → --scope project
3. Check if marketplace is already added (if not, add it first)
4. Execute: claude plugin install superpowers --scope project
5. Confirm successful installation
Verification: Plugin appears in claude plugin list with project scope
Scenario 3: Troubleshooting Plugin Issues
User Request: "My installed plugins aren't showing up. Can you help diagnose the issue?"
Expected Behavior:
1. Run diagnostic checks or suggest running doctor script
2. Validate plugin manifests
3. Check for common issues (wrong scope, needs restart, etc.)
4. Present findings with severity levels
5. Suggest specific fixes for identified issues
Verification: Doctor workflow identifies system state and suggests remediation
Scenario 4: Marketplace Management
User Request: "Add the superpowers marketplace and show me what plugins it has"
Expected Behavior:
1. Add marketplace: claude plugin marketplace add obra/superpowers-marketplace
2. Wait for marketplace to be added
3. List available plugins from that marketplace
4. Present results in table format with plugin names, versions, and descriptions
Verification: Marketplace appears in claude plugin marketplace list
Scenario 5: Complex Query - Finding Plugin Owner
User Request: "Which plugin provides the 'cypher' skill?"
Expected Behavior:
1. Use the component discovery workflow from advanced-commands.md
2. Search through installed plugin manifests
3. Report which plugin(s) contain the component
4. Show relevant details from the plugin manifest
Verification: Correctly identifies the plugin containing a "cypher" skill file
Version: 1.0.0
Last verified: 2026-01-27
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.