plugin-marketplace

Plugin marketplace — add, remove, list, and search skills from GitHub repositories

16 stars

Best use case

plugin-marketplace is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Plugin marketplace — add, remove, list, and search skills from GitHub repositories

Teams using plugin-marketplace should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/plugin-marketplace/SKILL.md --create-dirs "https://raw.githubusercontent.com/diegosouzapw/awesome-omni-skill/main/skills/tools/plugin-marketplace/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/plugin-marketplace/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How plugin-marketplace Compares

Feature / Agentplugin-marketplaceStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Plugin marketplace — add, remove, list, and search skills from GitHub repositories

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# /plugin marketplace — Skill Marketplace

Manage GGV3 skills sourced from GitHub repositories and npm packages.

## Commands

```
/plugin marketplace add <owner>/<repo>           # Install a skill from GitHub
/plugin marketplace remove <skill-name>          # Remove an installed skill
/plugin marketplace list                         # List installed skills
/plugin marketplace search <query>               # Search GitHub for skills
```

---

## `/plugin marketplace add <owner>/<repo>`

Install a skill or tool from a GitHub repository into `.agent/skills/`.

### Step 1 — Resolve the source

Determine source type from the identifier:

| Format                  | Source                  | Example                         |
| ----------------------- | ----------------------- | ------------------------------- |
| `owner/repo`            | GitHub repository       | `anthropics/claude-code`        |
| `owner/repo#skill-name` | Subfolder of a monorepo | `google/skills#web-perf`        |
| `npm:package-name`      | npm global package      | `npm:@anthropic-ai/claude-code` |

### Step 2 — Fetch metadata from GitHub

// turbo

```bash
gh repo view <owner>/<repo> --json name,description,url,defaultBranchRef 2>/dev/null || echo "REPO_NOT_FOUND"
```

If `REPO_NOT_FOUND`, check if it's an npm package instead:

```bash
npm view <package-name> name description version 2>/dev/null || echo "PKG_NOT_FOUND"
```

### Step 3 — Determine install type

**Type A — CLI Tool (npm package):**
If the source is an npm package or the repo's `package.json` has a `bin` field:

```bash
npm install -g <package-name>
```

Then create a thin skill wrapper:

```
.agent/skills/<tool-name>/
├── SKILL.md          # Documents the CLI, trigger patterns, usage
```

**Type B — Skill Repository (has SKILL.md):**
If the repo contains a `SKILL.md` at root or in a skill subdirectory:

```bash
# Clone to temp, extract skill files
git clone --depth 1 https://github.com/<owner>/<repo>.git /tmp/plugin-install-<repo>
cp -r /tmp/plugin-install-<repo>/ .agent/skills/<skill-name>/
rm -rf /tmp/plugin-install-<repo>
```

**Type C — Reference Repository (no SKILL.md, no bin):**
Create a new skill based on the repo's README and source code:

1. Read the repo's README via GitHub API
2. Analyze what the tool/library does
3. Create a SKILL.md that documents:
   - When to use the tool
   - How it was installed (CLI, library, etc.)
   - Key commands and patterns
   - Trigger keywords for auto-invoke

### Step 4 — Create/validate SKILL.md

Every installed plugin MUST have a valid SKILL.md with:

```yaml
---
name: <skill-name>
version: <semver or repo SHA>
source: <owner>/<repo> OR npm:<package>
installed: <ISO-8601 timestamp>
description: <one-line description>
---
```

Followed by:

- **When to use** — Clear trigger conditions
- **Installation** — How it was installed, dependencies
- **Usage** — Key commands, APIs, patterns
- **Examples** — At least one usage example

### Step 5 — Register the skill

**A) Add to `.agent/rules/skill-auto-invoke.md`:**

```markdown
| <skill-name> | .agent/skills/<skill-name>/SKILL.md | <trigger keywords> |
```

**B) Add to `CLAUDE.md` `<skill_registry>` section:**

```markdown
| <skill-name> | .agent/skills/<skill-name>/SKILL.md | <trigger keywords> |
```

> Note: `AGENTS.md`, `GEMINI.md`, and `codex.md` are symlinks to `CLAUDE.md` — updating one updates all.

### Step 6 — Verify installation

```bash
# For CLI tools — verify the binary exists
which <tool-name> && <tool-name> --version

# For skills — verify SKILL.md exists and is valid
cat .agent/skills/<skill-name>/SKILL.md | head -20
```

### Step 7 — Report installation summary

Output a summary:

```
✅ Plugin installed: <skill-name>
   Source: <owner>/<repo> (or npm:<package>)
   Type: CLI Tool | Skill | Reference
   Location: .agent/skills/<skill-name>/
   Triggers: <comma-separated trigger keywords>
```

---

## `/plugin marketplace remove <skill-name>`

### Step 1 — Verify skill exists

```bash
ls .agent/skills/<skill-name>/SKILL.md 2>/dev/null || echo "SKILL_NOT_FOUND"
```

### Step 2 — Check for npm global package

Read the SKILL.md frontmatter for a `source: npm:*` entry. If found:

```bash
npm uninstall -g <package-name>
```

### Step 3 — Remove skill directory

```bash
rm -rf .agent/skills/<skill-name>
```

### Step 4 — Deregister from skill registry

Remove the skill's row from:

- `.agent/rules/skill-auto-invoke.md`
- `CLAUDE.md` `<skill_registry>` section

### Step 5 — Confirm removal

```
🗑️ Plugin removed: <skill-name>
```

---

## `/plugin marketplace list`

### Step 1 — Enumerate installed skills

// turbo

```bash
for skill in .agent/skills/*/SKILL.md; do
  name=$(basename $(dirname "$skill"))
  source=$(grep -m1 '^source:' "$skill" 2>/dev/null | sed 's/source: *//')
  version=$(grep -m1 '^version:' "$skill" 2>/dev/null | sed 's/version: *//')
  echo "$name | $source | $version"
done
```

### Step 2 — Format as table

| Skill | Source | Version |
| ----- | ------ | ------- |
| ...   | ...    | ...     |

---

## `/plugin marketplace search <query>`

### Step 1 — Search GitHub

Use the GitHub MCP `search_repositories` tool:

```
query: "<query> topic:agent-skill OR topic:claude-skill OR topic:mcp-tool"
```

Or search for code patterns:

```
query: "SKILL.md name: <query>"
```

### Step 2 — Display results

| Repository | Stars | Description |
| ---------- | ----- | ----------- |
| owner/repo | ⭐ N  | ...         |

### Step 3 — Prompt for install

Ask: "Would you like to install any of these? Use `/plugin marketplace add <owner>/<repo>`"

---

## Known Plugin Sources

| Plugin      | Source                        | Type | Description                    |
| ----------- | ----------------------------- | ---- | ------------------------------ |
| claude-code | npm:@anthropic-ai/claude-code | CLI  | Anthropic's agentic coding CLI |

---

## Notes

- All skills are installed to `.agent/skills/<name>/`
- CLI tools are installed globally via npm and get a thin SKILL.md wrapper
- The SKILL.md frontmatter `source:` field tracks provenance for updates
- Use `installed:` timestamp to track when a plugin was added

Related Skills

writing-opencode-plugins

16
from diegosouzapw/awesome-omni-skill

Guides development of OpenCode plugins including project structure, testing patterns, and publishing. Use when creating or modifying OpenCode plugins.

workflow-new-plugin

16
from diegosouzapw/awesome-omni-skill

Guided workflow for creating a new Volon plugin — ideation, requirements, spec, plan, tasks.

update-tool-plugin

16
from diegosouzapw/awesome-omni-skill

Update an existing LNAI tool plugin

pytest-plugins

16
from diegosouzapw/awesome-omni-skill

Use when pytest plugin ecosystem including pytest-cov, pytest-mock, and custom plugin development.

plugin-validator

16
from diegosouzapw/awesome-omni-skill

Validates SpecWeave plugin installation when EXPLICITLY requested by user. Use for checking if plugins are installed correctly, validating marketplace registration, or troubleshooting missing plugins. Only triggers on explicit requests to avoid false positives during normal workflow.

Plugin Structure

16
from diegosouzapw/awesome-omni-skill

This skill should be used when the user asks to "create a plugin", "scaffold a plugin", "understand plugin structure", "organize plugin components", "set up plugin.json", "use ${CLAUDE_PLUGIN_ROOT}", "add commands/agents/skills/hooks", "configure auto-discovery", or needs guidance on plugin directory layout, manifest configuration, component organization, file naming conventions, or Claude Code plugin architecture best practices.

Plugin Settings

16
from diegosouzapw/awesome-omni-skill

This skill should be used when the user asks about "plugin settings", "store plugin configuration", "user-configurable plugin", ".local.md files", "plugin state files", "read YAML frontmatter", "per-project plugin settings", or wants to make plugin behavior configurable. Documents the .claude/plugin-name.local.md pattern for storing plugin-specific configuration with YAML frontmatter and markdown content.

plugin-scaffolder

16
from diegosouzapw/awesome-omni-skill

Scaffolds complete Claude Code plugin structures with all necessary directories, manifest, and documentation. Activates when user wants to create a new plugin, package features together, or prepare for marketplace distribution. Creates plugin.json, directory structure, and starter documentation. Use when user mentions "create plugin", "new plugin", "scaffold plugin", "plugin structure", or "share via marketplace".

plugin-builder

16
from diegosouzapw/awesome-omni-skill

Build Cursor plugin scaffolds with optional Runlayer MCP integration. Use this skill when the user wants to create a new Cursor plugin, scaffold plugin skills/commands/rules/hooks, or set up MCP connector configurations. Triggers include "create a plugin", "build a plugin", "scaffold a plugin", "new plugin for [domain]", or any task involving Cursor plugin development.

plugin-best-practices

16
from diegosouzapw/awesome-omni-skill

This skill should be used when the user asks to "validate a plugin", "optimize plugin", "check plugin quality", "review plugin structure", "find plugin issues", "check best practices", "analyze plugin", or mentions plugin validation, optimization, or quality assurance.

open-brush-plugin-skill

16
from diegosouzapw/awesome-omni-skill

Create and modify Lua plugins for Open Brush with full API documentation access. Use when the user wants to create Open Brush plugins, work with Lua scripts for Open Brush, or asks about Open Brush scripting API, Lua functions, or plugin development.

nvim-plugin-add

16
from diegosouzapw/awesome-omni-skill

Add and configure Neovim plugins in this dotfiles repo using lazy.nvim. Use when asked to install a plugin, create its config module, update lazy.nvim imports, read plugin README/docs, and add keymaps without conflicting with existing mappings under config/nvim.