Browse / Developer Tools / Plugin Structure

Plugin Structure

Guides the creation and organization of Claude Code plugins following standard directory layouts, manifest configuration, and component best practices.

SkillDeveloper ToolsPatterns ArchitectureSkill AuthoringConfig

The source repository doesn't declare a license. Check its terms before reusing the code.

Key features

  • Defines the standard plugin directory structure for auto-discovery
  • Enforces the use of `${CLAUDE_PLUGIN_ROOT}` for creating portable paths
  • Explains the `plugin.json` manifest configuration and metadata
  • Outlines best practices for file naming, organization, and maintenance
  • Provides guidance on organizing components like commands, agents, and skills

Use cases

  • Adding a new command, agent, or skill to an existing plugin
  • Scaffolding a new Claude Code plugin from scratch
  • Refactoring a plugin to adhere to Claude Code architecture best practices

FAQ

What does the Plugin Structure skill do?

This skill provides a comprehensive guide for building Claude Code plugins. It defines the standard directory layout, explains the `plugin.json` manifest, and outlines best practices for organizing components like commands, agents, and skills to ensure they are discoverable and maintainable.

How does this skill improve my workflow?

By enforcing a standardized structure, this skill ensures your plugins are robust, portable, and easy to maintain. It leverages Claude Code's auto-discovery mechanism, saving you from manual configuration and allowing for seamless integration and faster development cycles.

When should I use this skill?

Use this skill whenever you need to create a new plugin, scaffold its basic structure, understand how to add new components (like commands or agents), or properly configure your plugin's manifest for auto-discovery and portability.

What are the main components of a Claude Code plugin?

A plugin is composed of a core `plugin.json` manifest for metadata, along with optional directories for components: `commands/` for slash commands, `agents/` for specialized AI agents, `skills/` for contextual capabilities, and `hooks/` for event-driven scripts.