AgentStack
SKILL verified MIT Self-run

Claude Code Plugins

skill-emdashcodes-claude-code-plugins-claude-code-plugins · by emdashcodes

This skill should be used when creating, configuring, or distributing Claude Code plugins and marketplaces. Use when users ask about the plugin system architecture, how to package multiple components together, create marketplaces, or set up team-wide plugin distribution.

No reviews yet
0 installs
14 views
0.0% view→install

Install

$ agentstack add skill-emdashcodes-claude-code-plugins-claude-code-plugins

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Claude Code Plugins? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Claude Code Plugins

Guide Claude through creating, configuring, and distributing complete Claude Code plugins and marketplaces.

Purpose

Plugins are packages that bundle multiple Claude Code extensions (commands, agents, skills, hooks, MCP servers) for distribution. This skill helps understand the plugin architecture, create well-structured plugins, set up marketplaces, and configure team-wide plugin distribution.

When to Use This Skill

Use this skill when:

  • Creating a new plugin that bundles multiple components together
  • Setting up plugin marketplaces for team or community distribution
  • Configuring team-wide automatic plugin installation
  • Understanding how plugins, commands, agents, skills, hooks, and MCP servers relate
  • Deciding between creating individual components vs packaging them as plugins
  • Troubleshooting plugin structure or distribution issues

Do NOT use this skill for:

  • Creating individual slash commands - use claude-code-slash-commands skill instead
  • Creating individual subagents - use claude-code-subagents skill instead
  • Creating individual hooks - use claude-code-hooks skill instead
  • Creating individual skills - use skill-creator skill instead

Plugin System Architecture

Claude Code's extensibility system has two levels:

Individual Components (Project/User Level)

Components can be installed directly in projects or user directories:

  • Commands - .claude/commands/ or ~/.claude/commands/
  • Agents - .claude/agents/ or ~/.claude/agents/
  • Hooks - .claude/settings.json or ~/.claude/settings.json
  • Skills - Activated via plugin marketplaces only

Plugins (Distribution Level)

Plugins bundle multiple components for distribution:

my-plugin/
├── .claude-plugin/
│   └── plugin.json          # Plugin metadata (required)
├── commands/                 # Slash commands (optional)
│   └── deploy.md
├── agents/                   # Subagents (optional)
│   └── reviewer.md
├── skills/                   # Agent Skills (optional)
│   └── code-quality/
│       └── SKILL.md
├── hooks/                    # Event handlers (optional)
│   └── hooks.json
└── .mcp.json                 # MCP servers (optional)

When to Create Plugins vs Individual Components

Use Individual Components When:

  • Creating one-off customizations for a single project
  • Testing new workflows before wider distribution
  • Building personal preferences not shared with others
  • Components are independent and don't require coordination

Use Plugins When:

  • Bundling related components that work together
  • Distributing tools across multiple projects or teams
  • Versioning and updating components as a unit
  • Providing Skills (Skills require plugin distribution)
  • Creating reusable workflows for community sharing

Plugin Creation Process

To create a plugin, follow this process in order:

Step 1: Understanding Plugin Requirements

Skip this step only when the plugin's purpose and components are already clearly defined.

To create an effective plugin, clearly understand what components the plugin should include and how they work together. This understanding can come from existing workflows that need packaging or new requirements.

For example, when building a deployment automation plugin, relevant considerations include:

  • "What commands do users need? Deploy, rollback, status checks?"
  • "Should there be a specialized deployment agent?"
  • "What hooks are needed? Pre-deploy validation, post-deploy notifications?"
  • "Are there external tools to integrate via MCP?"
  • "Should this include Skills for automatic deployment analysis?"

For a code quality plugin:

  • "What formatting/linting commands are needed?"
  • "Should there be a code review agent?"
  • "What hooks trigger on file changes?"
  • "Should Skills provide automatic code analysis?"

Conclude this step when there is a clear sense of:

  1. What components the plugin needs
  2. How components interact with each other
  3. Who will use the plugin (project team, organization, community)

Step 2: Planning Component Organization

To turn requirements into an effective plugin, analyze the use case by:

  1. Identifying which component types are needed (commands, agents, skills, hooks, MCP)
  2. Determining how components should be organized
  3. Deciding on plugin scope and distribution strategy

Example: For a deployment automation plugin, the analysis shows:

  1. Commands - /deploy, /rollback, /deploy-status
  2. Agent - deployment-manager for handling complex deployments
  3. Hooks - PreToolUse validation for deployment commands
  4. Skills - deployment-analysis for automatic deployment planning
  5. Distribution - Organization-wide via private marketplace

Example: For a code quality plugin, the analysis shows:

  1. Commands - /format, /lint, /review-code
  2. Agent - code-reviewer for comprehensive reviews
  3. Hooks - PostToolUse formatting after file edits
  4. Skills - code-quality-checker for automatic analysis
  5. Distribution - Open source via GitHub marketplace

Review the component-specific skills for detailed guidance:

  • [references/plugins-guide.md](references/plugins-guide.md) for complete plugin documentation
  • claude-code-slash-commands skill for command creation
  • claude-code-subagents skill for agent creation
  • claude-code-hooks skill for hook creation
  • skill-creator skill for Skills creation

Step 3: Creating Plugin Structure

At this point, create the basic plugin structure:

  1. Create plugin directory - Choose a descriptive kebab-case name:

``bash mkdir my-plugin cd my-plugin ``

  1. Create plugin manifest - Required .claude-plugin/plugin.json:

``bash mkdir .claude-plugin cat > .claude-plugin/plugin.json README.md dev-marketplace/.claude-plugin/marketplace.json << 'EOF' { "name": "dev-marketplace", "owner": { "name": "Developer" }, "plugins": [ { "name": "my-plugin", "source": "./my-plugin", "description": "Plugin under development", "version": "1.0.0", "strict": true, "skills": [ "./skills/my-skill" ] } ] } EOF ``

Note: Always set "strict": true and specify components (skills, commands, agents, etc.) in the marketplace.json, not in the individual plugin.json files.

  1. Test installation:

``bash claude # In Claude Code: /plugin marketplace add ./dev-marketplace /plugin install my-plugin@dev-marketplace ``

Option B: GitHub Marketplace

For team or community distribution:

  1. Create repository - Create GitHub repository for plugins
  2. Organize structure:

`` my-plugins-repo/ ├── .claude-plugin/ │ └── marketplace.json └── plugins/ ├── plugin-one/ └── plugin-two/ ``

  1. Create marketplace manifest:

``json { "name": "my-marketplace", "owner": { "name": "Team Name", "email": "team@example.com" }, "plugins": [ { "name": "plugin-one", "source": "./plugins/plugin-one", "description": "First plugin description", "version": "1.0.0", "author": { "name": "Team Name" }, "license": "MIT", "strict": true, "skills": [ "./skills/my-skill" ] }, { "name": "plugin-two", "source": "./plugins/plugin-two", "description": "Second plugin description", "version": "1.0.0", "author": { "name": "Team Name" }, "license": "MIT", "strict": true, "commands": [ "./commands/my-command.md" ] } ] } ``

Important: Set "strict": true in each plugin entry. This tells Claude Code to use component specifications from the marketplace.json and ignore any component specs in individual plugin.json files, avoiding manifest conflicts.

  1. Distribute:

`` /plugin marketplace add owner/repo /plugin install plugin-one@my-marketplace ``

For complete marketplace setup, see [references/plugin-marketplaces-guide.md](references/plugin-marketplaces-guide.md).

Step 6: Configuring Team Installation

For automatic team-wide plugin installation, configure project-level settings:

  1. Create or edit .claude/settings.json in project repository:

``json { "extraKnownMarketplaces": { "team-tools": { "source": { "source": "github", "repo": "company/claude-plugins" } } }, "enabledPlugins": { "deployment-tools@team-tools": true, "code-quality@team-tools": true } } ``

  1. Commit to repository - Team members who trust the folder will automatically:
  • Add configured marketplaces
  • Install enabled plugins
  • Receive plugin updates
  1. Document for team - Add installation instructions to project README.

Step 7: Testing and Iteration

Once the plugin is distributed, test thoroughly:

Test Component Integration
  • Test commands: Run each command and verify it works
  • Test agents: Invoke agents automatically and explicitly
  • Test Skills: Trigger Skills and verify they're invoked correctly
  • Test hooks: Trigger events and verify hooks execute
  • Test MCP servers: Verify external tools are accessible
Test Component Interaction
  • Verify commands can reference agents (e.g., "Use the X agent to deploy")
  • Verify Skills can recommend commands to users
  • Verify hooks work with plugin scripts using ${CLAUDE_PLUGIN_ROOT}
  • Verify agents have appropriate tool access
Test Distribution
  • Install from marketplace on clean Claude Code instance
  • Verify all components are loaded correctly
  • Test on different operating systems if applicable
  • Verify team installation works for project-level configuration

Iteration workflow:

  1. Use the plugin on real tasks with real users
  2. Notice issues - Missing components? Integration problems? Unclear usage?
  3. Identify improvements - Should components be added/removed? Better organization?
  4. Update plugin - Modify components, bump version
  5. Test changes - Uninstall and reinstall to verify updates work
  6. Document changes - Update CHANGELOG.md and README.md

Plugin vs Individual Component Decision Tree

Use this decision tree to determine the right approach:

Question 1: Are you creating multiple related components?

  • Yes → Continue to Question 2
  • No → Create individual component in .claude/ or ~/.claude/

Question 2: Will these components be shared across projects or with others?

  • Yes → Create plugin
  • No → Create individual components in project .claude/ directory

Question 3: Do you need to include Skills?

  • Yes → Create plugin (Skills require plugin distribution)
  • No → Continue to Question 4

Question 4: Do you need version control and updates for components as a unit?

  • Yes → Create plugin
  • No → Create individual components

Common Plugin Patterns

Code Quality Plugin

Components:

  • Commands: /format, /lint, /review
  • Agent: code-reviewer
  • Hooks: PostToolUse formatting
  • Skills: code-quality-checker

Use case: Enforce code standards across team projects

Deployment Plugin

Components:

  • Commands: /deploy, /rollback, /status
  • Agent: deployment-manager
  • Hooks: PreToolUse deployment validation
  • MCP: Deployment API integration

Use case: Streamline deployment workflows

Documentation Plugin

Components:

  • Commands: /docs, /api-docs, /changelog
  • Agent: documentation-writer
  • Skills: doc-generator

Use case: Automate documentation generation

Testing Plugin

Components:

  • Commands: /test, /coverage, /benchmark
  • Agent: test-runner
  • Hooks: PreToolUse test validation
  • Skills: test-analyzer

Use case: Comprehensive testing workflows

Reference Documentation

For detailed information, refer to:

  • [references/plugins-guide.md](references/plugins-guide.md) - Complete plugin guide from docs
  • [references/plugin-marketplaces-guide.md](references/plugin-marketplaces-guide.md) - Marketplace creation and distribution
  • [references/plugins-reference.md](references/plugins-reference.md) - Technical specifications and schemas

Load these references when users need detailed technical information beyond the workflow guidance in this skill.

Best Practices

Plugin Design

  • Single responsibility - Each plugin should have a clear, focused purpose
  • Component cohesion - Bundle components that work together, not unrelated tools
  • Clear naming - Use descriptive kebab-case names that indicate purpose
  • Complete documentation - Include README.md with installation and usage instructions
  • Semantic versioning - Use semver for version management

Component Organization

  • Logical grouping - Organize related commands/agents/Skills together
  • Consistent naming - Use consistent naming patterns across components
  • Clear references - Have components reference each other (e.g., Skills mention commands)
  • Appropriate tool access - Grant agents only necessary tools

Distribution Strategy

  • Local testing first - Test with local marketplace before GitHub distribution
  • Version control - Commit plugin to git repository
  • Changelog maintenance - Document changes in CHANGELOG.md
  • License clarity - Include LICENSE file and license field in plugin.json
  • Community engagement - For public plugins, provide issue tracking and contribution guidelines

Team Adoption

  • Project-level config - Use .claude/settings.json for automatic installation
  • Documentation - Provide clear setup instructions for team members
  • Training - Help team members discover and use plugin features
  • Feedback loops - Gather team feedback and iterate

Troubleshooting

Plugin Not Loading

Symptoms: Plugin installed but components not available

Solutions:

  • Verify .claude-plugin/plugin.json exists and has valid JSON
  • Ensure component directories are at plugin root, not inside .claude-plugin/
  • Check that plugin is enabled: /plugin → Manage Plugins
  • Try uninstall and reinstall: /plugin uninstall then /plugin install

Components Not Found

Symptoms: Plugin loads but specific components missing

Solutions:

  • Verify component files exist in correct directories (commands/, agents/, etc.)
  • Check component file format (markdown for commands/agents, JSON for hooks)
  • For commands: Verify frontmatter and markdown structure
  • For agents: Verify frontmatter exists
  • For Skills: Verify SKILL.md exists with proper frontmatter

Hooks Not Executing

Symptoms: Hooks configured but not firing

Solutions:

  • Verify hooks/hooks.json has valid JSON syntax
  • Check hook scripts are executable: chmod +x script.sh
  • Use ${CLAUDE_PLUGIN_ROOT} for plugin-relative paths
  • Test hook script independently with sample input
  • Run claude --debug to see hook execution details

MCP Servers Not Starting

Symptoms: MCP servers configured but not accessible

Solutions:

  • Verify .mcp.json has valid JSON syntax
  • Check MCP server command is accessible
  • Use ${CLAUDE_PLUGIN_ROOT} for plugin-relative paths
  • Test MCP server independently
  • Check environment variables are set correctly

Integration with Other Skills

This skill works alongside other claude-code-meta skills:

  • Use claude-code-slash-commands - For creating individual commands within plugins
  • Use claude-code-subagents - For creating individual agents within plugins
  • Use claude-code-hooks - For creating hook configurations within plugins
  • Use skill-creator - For creating Skills within plugins

Activate these skills when deep

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.