From skill-creator
Guide for packaging Claude Code skills as distributable plugins. Use when creating a plugin, packaging skills for sharing, setting up a plugin marketplace, or when the user says "make a plugin", "package my skills", "distribute skills", or "create a marketplace".
How this skill is triggered — by the user, by Claude, or both
Slash command
/skill-creator:skill-creator-pluginThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
A plugin bundles one or more skills into a distributable package. This guide covers how to structure, configure, and distribute plugins for Claude Code.
A plugin bundles one or more skills into a distributable package. This guide covers how to structure, configure, and distribute plugins for Claude Code.
your-plugin/
.claude-plugin/
plugin.json # Required — plugin metadata
skills/
skill-one/
SKILL.md # Required per skill
references/ # Optional
scripts/ # Optional
skill-two/
SKILL.md
PITFALLS.md # Optional supporting file
skill-three/
SKILL.md
The plugin metadata file lives at .claude-plugin/plugin.json:
{
"name": "your-plugin-name",
"description": "What the plugin provides — list all skills and capabilities",
"version": "1.0.0",
"author": {
"name": "Your Name"
}
}
Fields:
name: Plugin identifier (kebab-case recommended, no spaces)description: Complete description of what the plugin provides. Mention all included skills and their topics.version: Semantic versioning (MAJOR.MINOR.PATCH)author.name: Creator namePlugin skills use a plugin-name:skill-name namespace. This means they cannot conflict with personal or project skills.
Convention for this marketplace: prefix skill names with the plugin name:
Plugin: xstate
Skills: xstate-machine-modeling, xstate-actions-and-effects, xstate-testing
This makes skills self-documenting and avoids collisions even without the namespace prefix.
If distributing multiple plugins via a marketplace:
your-marketplace/
.claude-plugin/
marketplace.json # Marketplace metadata
plugins/
plugin-a/
.claude-plugin/
plugin.json
skills/
...
plugin-b/
.claude-plugin/
plugin.json
skills/
...
{
"name": "your-marketplace-name",
"owner": {
"name": "Your Name"
},
"metadata": {
"description": "Description of your marketplace"
},
"plugins": [
{
"name": "plugin-a",
"source": "./plugins/plugin-a",
"description": "What plugin-a provides"
},
{
"name": "plugin-b",
"source": "./plugins/plugin-b",
"description": "What plugin-b provides"
}
]
}
Identify 3-15 skills that form a coherent set around one topic or technology.
Group by:
mkdir -p your-plugin/.claude-plugin
mkdir -p your-plugin/skills/skill-one
mkdir -p your-plugin/skills/skill-two
Include a comprehensive description listing all skills and topics covered.
For each skill:
skills/SKILL.md with proper frontmatterFor each skill:
For the plugin:
Update the marketplace's marketplace.json to include the new plugin:
{
"name": "your-plugin",
"source": "./plugins/your-plugin",
"description": "Concise description of what the plugin provides"
}
Users add your plugin by referencing it in their Claude Code configuration. Place the plugin in a git repository and share the URL.
For Claude.ai users:
Host on GitHub with:
Admins can deploy skills workspace-wide through managed settings for centralized management and automatic updates.
Cohesion: All skills in a plugin should relate to the same topic. Don't mix unrelated skills in one plugin.
Completeness: Cover the full topic. A TypeScript plugin should cover types, generics, utility types, configuration, etc. — not just one aspect.
Consistency: Use the same style across all skills:
Progressive disclosure: Keep each SKILL.md focused. Use supporting files for detailed references that aren't needed on every invocation.
Independence: Each skill should work on its own. Don't require users to read skill A before skill B can be useful.
Versioning: Update version in plugin.json when making changes. Follow semantic versioning:
npx claudepluginhub ilyagulya/claude-marketplace --plugin skill-creatorCreates reusable Claude Code skills and plugins from repeatable workflows. Generates SKILL.md files, packages as plugins, creates GitHub repos, and publishes to marketplace. Activates on requests to make skills or plugins.
Scaffolds a complete Claude Code plugin with manifest, skills, agents, hooks, MCP/LSP servers, and marketplace entry. Walks through component selection and writes files.
Scaffolds Claude Code plugin packages: gathers requirements, creates directory structure, generates manifest, adds initial skill and README, tests installation. Triggers on 'create plugin', 'new plugin', 'scaffold plugin'.