Package Exports
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (ancoder-plugin-cli) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
plugin-cli
CLI for creating and managing Claude Code plugins — scaffolding, validation, installation, and marketplace publishing. Single binary, all templates embedded.
Install (npm)
npm install -g ancoder-plugin-cli
# Or run without installing
npx ancoder-plugin-cli --helpThe npm package includes prebuilt binaries for:
- macOS arm64 / x64
- Linux arm64 / x64
- Windows x64
Build from source (Go)
go build -o plugin-cli .
./plugin-cli --helpCommands
| Command | Description |
|---|---|
plugin-cli new <name> |
Create a new plugin from a template |
plugin-cli validate <path> |
Validate plugin structure |
plugin-cli list |
List available templates |
plugin-cli list --installed |
List installed plugins |
plugin-cli info <template> |
Show template details |
plugin-cli install |
Install the plugin-creator plugin into ~/.claude/ |
plugin-cli uninstall |
Remove installed plugin-creator |
plugin-cli doctor |
Check installation health |
plugin-cli marketplace init <dir> |
Initialize a marketplace repository |
plugin-cli marketplace add <path> |
Register a plugin in marketplace.json |
plugin-cli pack <path> |
Package plugin as zip + SHA256 |
plugin-cli sync <root> |
Sync shared skills in a monorepo |
plugin-cli check <root> |
Detect drift in monorepo shared skills |
Quick Start
# Create a new plugin
plugin-cli new my-plugin
# Validate it
plugin-cli validate ./my-plugin
# Install the plugin-creator helper (gives you /plugin-creator:* commands in Claude Code)
plugin-cli install
# Test your plugin locally
claude --plugin-dir ./my-pluginTemplates
| Template | Description |
|---|---|
skill-pack |
Skills-focused plugin with commands and hooks (recommended) |
agent-plugin |
Self-contained agent plugin with a bundled workflow skill |
toolkit-plugin |
Skills-first toolkit with progressive disclosure resources |
vertical-practice-plugin |
Industry workflow plugin with cold-start interview, practice profile, review skill, watcher agent, hooks, and MCP metadata |
blank-plugin |
Minimal plugin with just plugin.json and README |
monorepo |
Multi-plugin monorepo with shared skills and sync tooling |
Plugin-Creator Plugin
Running plugin-cli install deploys a Claude Code plugin that provides:
- Skills: plugin-scaffolding, skill-authoring, agent-authoring, hook-authoring, mcp-integration, marketplace-publishing, monorepo-maintenance
- Commands:
/plugin-creator:new-plugin,/plugin-creator:validate-plugin,/plugin-creator:review-plugin,/plugin-creator:publish-plugin - Agents: plugin-reviewer and plugin-validator (quality review), agent-creator (agent generation), skill-reviewer (skill QA), marketplace-curator (metadata generation)
These let Claude Code itself guide you through plugin development.
Monorepo Workflow
# Create a monorepo
plugin-cli new my-plugins --template monorepo
# Add plugins
plugin-cli new plugin-a --path ./my-plugins/plugins/
plugin-cli marketplace add ./my-plugins/plugins/plugin-a
# Sync shared skills
plugin-cli sync ./my-plugins
# Check for drift (use in CI)
plugin-cli check ./my-pluginsplugin-cli sync and plugin-cli check support both layouts:
- Legacy layout:
shared/skills/*copied intoplugins/*/skills/ - Official-style layout:
plugins/vertical-plugins/*/skills/*synced into bundledplugins/agent-plugins/*/skills/*
Official Plugin Patterns
This CLI is being aligned with Anthropic's official plugin repository patterns. See docs/official-plugin-patterns.md for details.
Key rules:
- Prefer
skills/<name>/SKILL.mdfor new user-invoked workflows;commands/remains supported for legacy plugins. - Use progressive disclosure: keep
SKILL.mdfocused and move details intoreferences/,examples/,scripts/, andassets/. - Use
${CLAUDE_PLUGIN_ROOT}for plugin-local scripts and assets. - Use wrapper format for plugin hooks:
hooks/hooks.jsonwithdescriptionandhookskeys. - Marketplace entries should use
sourcepaths; legacypathentries are still accepted. - For vertical-domain plugins, use a cold-start interview to write a practice profile under
~/.claude/plugins/config/<plugin>/CLAUDE.md, then make every workflow read that profile before acting.
License
MIT