|
| 1 | +--- |
| 2 | +name: Find Plugin |
| 3 | +description: Helps users discover and install Claude Code plugins from the pleaseai marketplace. Use this skill whenever a user asks "how do I do X", "find a plugin for X", "is there a plugin that can...", "recommend a plugin", "what plugins are available", wants to extend Claude Code capabilities, or mentions a technology/framework and could benefit from a plugin they haven't installed yet. Also use when the user is stuck on a task that an available plugin could solve, even if they don't explicitly ask for a plugin. |
| 4 | +allowed-tools: Bash, Read, Glob, Grep |
| 5 | +--- |
| 6 | + |
| 7 | +# Find Plugin |
| 8 | + |
| 9 | +Search the pleaseai marketplace to discover and recommend Claude Code plugins that match the user's needs. |
| 10 | + |
| 11 | +## How It Works |
| 12 | + |
| 13 | +The marketplace provides two layers of discovery: |
| 14 | + |
| 15 | +1. **Plugin catalog** — the marketplace manifest lists every available plugin with its name, description, category, and keywords. |
| 16 | +2. **Skill index** — installed plugins expose skills (SKILL.md files) that describe specific capabilities in detail. Searching skill descriptions surfaces more precise matches than plugin metadata alone. |
| 17 | + |
| 18 | +## Step 1: Read the Marketplace Catalog |
| 19 | + |
| 20 | +```bash |
| 21 | +cat ~/.claude/plugins/marketplaces/pleaseai/.claude-plugin/marketplace.json |
| 22 | +``` |
| 23 | + |
| 24 | +Parse the `plugins` array. Each entry contains: |
| 25 | +- `name` — plugin identifier (used in install command) |
| 26 | +- `description` — what the plugin does |
| 27 | +- `category` — broad domain (framework, tooling, database, ai, etc.) |
| 28 | +- `keywords` — searchable tags |
| 29 | + |
| 30 | +## Step 2: Search Installed Plugin Skills |
| 31 | + |
| 32 | +Skills offer richer descriptions than the top-level plugin metadata. Scan skill files for matches: |
| 33 | + |
| 34 | +```bash |
| 35 | +# List all available skill directories |
| 36 | +find ~/.claude/plugins/marketplaces/pleaseai/plugins/*/skills -maxdepth 1 -type d 2>/dev/null |
| 37 | + |
| 38 | +# Search skill descriptions for the user's query terms (covers both skills/ and .agents/skills/ layouts) |
| 39 | +grep -rilFi "<search-terms>" ~/.claude/plugins/marketplaces/pleaseai/plugins/*/{skills,.agents/skills}/*/SKILL.md 2>/dev/null |
| 40 | +``` |
| 41 | + |
| 42 | +Read the SKILL.md frontmatter (`name` and `description` fields) of matching skills to understand what each one provides. |
| 43 | + |
| 44 | +## Step 3: Match and Rank |
| 45 | + |
| 46 | +Score each plugin against the user's query: |
| 47 | + |
| 48 | +1. **Direct keyword match** — plugin name, keywords, or category directly matches the query |
| 49 | +2. **Skill-level match** — a skill description within the plugin matches the query |
| 50 | +3. **Semantic match** — the plugin's description addresses the user's underlying need even without exact keyword overlap |
| 51 | + |
| 52 | +Prioritize plugins that solve the user's immediate problem over tangentially related ones. Deduplicate the combined results from Step 1 and Step 2 before ranking — the same plugin may appear in both the catalog and skill search. |
| 53 | + |
| 54 | +## Step 4: Present Recommendations |
| 55 | + |
| 56 | +For each recommended plugin, show: |
| 57 | + |
| 58 | +``` |
| 59 | +**{plugin-name}** — {description} |
| 60 | + Category: {category} |
| 61 | + Install: claude plugin install {plugin-name}@pleaseai |
| 62 | +``` |
| 63 | + |
| 64 | +Group results by relevance: |
| 65 | +- **Best matches** — directly address the user's need |
| 66 | +- **Related** — might be useful depending on context |
| 67 | + |
| 68 | +If a plugin is already installed, indicate that: |
| 69 | +``` |
| 70 | +**{plugin-name}** (installed) — {description} |
| 71 | +``` |
| 72 | + |
| 73 | +Check installed status from the installed plugins registry: |
| 74 | +```bash |
| 75 | +jq -r '.plugins | keys[]' ~/.claude/plugins/installed_plugins.json |
| 76 | +``` |
| 77 | + |
| 78 | +Check if `{plugin-name}@pleaseai` appears in the output. A plugin is installed if its key exists in this file. |
| 79 | + |
| 80 | +## Step 5: Offer Installation |
| 81 | + |
| 82 | +After presenting recommendations, offer to install: |
| 83 | + |
| 84 | +> "Want me to install any of these? Just say which ones." |
| 85 | +
|
| 86 | +Install with: |
| 87 | +```bash |
| 88 | +claude plugin install {plugin-name}@pleaseai |
| 89 | +``` |
| 90 | + |
| 91 | +## When No Plugin Exists |
| 92 | + |
| 93 | +If no plugin matches the user's need: |
| 94 | + |
| 95 | +1. Say so clearly — don't force a bad match |
| 96 | +2. Offer to help directly with the task using available tools |
| 97 | +3. If the need is common enough, suggest it could become a plugin |
| 98 | + |
| 99 | +## Plugin Categories |
| 100 | + |
| 101 | +Quick reference for the types of plugins available: |
| 102 | + |
| 103 | +| Category | Examples | |
| 104 | +|----------|----------| |
| 105 | +| **Framework** | nuxt, vue, react, next, vitepress, slidev, tiptap | |
| 106 | +| **Mobile** | flutter, react-native | |
| 107 | +| **Database** | prisma, supabase, mcp-neo4j | |
| 108 | +| **Tooling** | vite, pnpm, turborepo, tsdown, gatekeeper, ast-grep | |
| 109 | +| **AI** | nanobanana, ai-sdk, mastra, gemini | |
| 110 | +| **Monitoring** | grafana, sentry, posthog | |
| 111 | +| **Cloud/Deploy** | firebase, vercel | |
| 112 | +| **Payments** | stripe, tosspayments, revenuecat | |
| 113 | +| **Browser** | chrome-devtools-mcp, agent-browser, playwright-cli | |
| 114 | +| **Productivity** | google-workspace, notion | |
| 115 | +| **Security** | gemini-cli-security | |
| 116 | +| **Review** | code-review, cubic | |
| 117 | +| **Document** | markitdown, edgeparse, fetch | |
| 118 | +| **Development** | plugin-dev, mcp-dev, please-plugins, git-ai | |
0 commit comments