Skip to content
Agent Memory
Skill

/plugins-management

Create, publish, delete, and submit plugins for coding agents (Claude Code, OpenCode, Devin CLI/Desktop). Use when user wants to (1) create a new plugin with proper structure, (2) create or configure a plugin marketplace, (3) publish plugins to GitHub/GitLab/npm, (4)

BOOST
From plugin
ai-driven-development
16322 skills
Install
$ npx -y skills add CodeAlive-AI/ai-driven-development --skill plugins-management --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/plugins-management

Context preview

The summary Claude sees to decide when to auto-load this skill.

Create, publish, delete, and submit plugins for coding agents (Claude Code, OpenCode, Devin CLI/Desktop). Use when user wants to (1) create a new plugin with proper structure, (2) create or configure a plugin marketplace, (3) publish plugins to GitHub/GitLab/npm, (4)

SKILL.md

plugins-management.SKILL.md
name: plugins-management
description: Create, publish, delete, and submit plugins for coding agents (Claude Code, OpenCode, Devin CLI/Desktop). Use when user wants to (1) create a new plugin with proper structure, (2) create or configure a plugin marketplace, (3) publish plugins to GitHub/GitLab/npm, (4) delete/uninstall plugins, (5) validate plugin structure, or (6) prepare and submit plugins to the official Anthropic directory or the OpenCode ecosystem.

Plugins Manager

Manage plugins across coding agents: create, validate, publish, delete, and submit to official directories or npm.

**Supported agents:**

  • **Claude Code**: `.claude-plugin/plugin.json`-based plugins, distributed via marketplaces
  • **OpenCode**: TypeScript/JavaScript plugins in `.opencode/plugins/` or npm packages listed in `opencode.json`
  • **Devin CLI / Desktop**: `.devin-plugin/plugin.json` manifest inside a plugin source (GitHub repo, git URL, `git-subdir`, or local folder); installs skills (`<plugin>:<skill>` slash commands), `AGENTS.md`/`rules/`, `agents/` subagents, `hooks.json`, and `.mcp.json` as one unit. Managed with `devin plugins` commands; plugins also apply to Devin cloud sessions, subject to per-surface limits. The scripts in this skill target Claude/OpenCode manifests — for Devin, author the `.devin-plugin/plugin.json` by hand per the Devin docs.

**CRITICAL**: Before performing any deletion, uninstall, or removal operation, you MUST use the `AskUserQuestion` tool to confirm with the user. Never delete/uninstall plugins or remove marketplaces without explicit user confirmation.

Quick Reference

| Task | Command/Script | |------|----------------| | Create plugin | `python scripts/init_plugin.py <name>` | | Create marketplace | `python scripts/init_marketplace.py <name>` | | Validate plugin | `python scripts/validate_plugin.py <path>` | | Validate marketplace | `claude plugin validate <path>` | | Prepare submission | `python scripts/prepare_submission.py <path> --email X --company-url Y` | | Install plugin | `/plugin install <name>@<marketplace>` | | Delete plugin | `/plugin uninstall <name>@<marketplace>` | | Test plugin (dev) | `claude --plugin-dir ./my-plugin` | | Reload after edits | `/reload-plugins` | | Cut release tag | `claude plugin tag --push` | | List installed | `claude plugin list [--json] [--available]` | | Update plugin | `claude plugin update <name>@<marketplace>` |

Workflows

1. Create a New Plugin

# Basic plugin with commands
python scripts/init_plugin.py my-plugin --path ./

# Full plugin with all components
python scripts/init_plugin.py my-plugin --path ./ --all

# Specific components
python scripts/init_plugin.py my-plugin --with-agents --with-skills

**Flags:**

  • `--with-commands` (default): Include commands directory
  • `--with-agents`: Include agents directory
  • `--with-skills`: Include skills directory
  • `--with-hooks`: Include hooks configuration
  • `--with-mcp`: Include MCP server configuration
  • `--all`: Include all components
  • `--author "Name"`: Set author name

**After creation:** 1. Edit `.claude-plugin/plugin.json` with plugin details 2. Add commands to `commands/*.md` with YAML frontmatter 3. Add agents to `agents/*.md` if needed 4. Update `README.md` with documentation

2. Create a Marketplace

# Empty marketplace
python scripts/init_marketplace.py my-marketplace --path ./

# With initial plugin
python scripts/init_marketplace.py my-marketplace --with-plugin my-plugin

**After creation:** 1. Edit `.claude-plugin/marketplace.json` 2. Add plugins to `plugins/` directory 3. Push to GitHub: `git push origin main`

**Users install with:**

/plugin marketplace add username/my-marketplace

**Marketplace references:**

  • Required file: `.claude-plugin/marketplace.json`
  • Plugin entries must have `name` that matches each plugin's `plugin.json` name
  • Use relative paths in `source` (e.g., `./plugins/my-plugin`), not absolute paths
  • Use `${CLAUDE_PLUGIN_ROOT}` inside hooks and MCP configs referenced by marketplace plugins

3. Validate a Plugin

python scripts/validate_plugin.py ./my-plugin

**Validates:**

  • plugin.json required fields (name, description, version, author)
  • Semantic versioning format
  • Command/agent frontmatter
  • Hooks and MCP configuration
  • README.md and LICENSE presence

**Also consider:**

  • `claude plugin validate <path>` for marketplace JSON validation

4. Publish a Plugin

**To GitHub:**

cd my-marketplace
git init
git add .
git commit -m "Initial release"
git remote add origin https://github.com/user/my-marketplace.git
git push -u origin main

# Tag release
git tag -a v1.0.0 -m "Version 1.0.0"
git push origin v1.0.0

**Distribution methods:**

  • GitHub: `/plugin marketplace add user/repo`
  • GitLab: `/plugin marketplace add https://gitlab.com/user/repo.git`
  • URL: `/plugin marketplace add https://example.com/marketplace.json`

5. Delete/Uninstall Plugins

**⚠️ ALWAYS confirm with user before deleting/uninstalling.** Use `AskUserQuestion` to ask: "Are you sure you want to uninstall '[plugin-name]'? This action cannot be undone."

# Uninstall from Claude Code
/plugin uninstall plugin-name@marketplace-name

# Remove marketplace (confirm with user first!)
/plugin marketplace remove marketplace-name

**To delete source files:** First confirm with user via `AskUserQuestion`, then remove the plugin directory from the marketplace's `plugins/` folder and update `marketplace.json`.

6. Submit to Anthropic's Official Directory

The submission script automatically gathers all required form fields using `gh` CLI and git.

**Prerequisites:** 1. Plugin pushed to GitHub 2. `gh` CLI installed and authenticated 3. All validation checks pass

**Prepare submission:**

# Basic - gathers repo URL and SHA automatically
python scripts/prepare_submission.py ./my-plugin

# With required contact info
python scripts/prepare_submission.py ./my-plugin \
  --email your@email
Read more
Ships withai-driven-development

Practices, protocols, and skills for AI-driven software development. Skills and safety hooks for Claude Code, Codex, OpenCode, Cursor, Antigravity, and any agent supporting the Agent Skills standard.

Get the whole plugin

Other skills on ai-driven-development.