Plugin Structure

Guide Claude Code plugin directory layout and manifest configuration.

Updated Apr 10, 2025
One-click install
npx skills add https://github.com/LeighAtkins/OpenPaint --skill plugin-structure-leighatkins
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: Plugin Structure
Source: https://github.com/LeighAtkins/OpenPaint/tree/main/.claude/plugins/plugin-dev/skills/plugin-structure
Command: npx skills add https://github.com/LeighAtkins/OpenPaint --skill plugin-structure-leighatkins

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) and examples (resource) components.

What problem does it solve?

This Skill provides comprehensive guidance on structuring Claude Code plugins, ensuring efficient organization, discoverability, and maintainability of all plugin components.

Core Features & Use Cases

  • Directory Layout: Understand the standard and best-practice organization for plugin files.
  • Manifest Configuration: Learn to configure plugin.json for optimal component loading and metadata.
  • Component Management: Master the organization of commands, agents, skills, and hooks.
  • Use Case: When starting a new plugin project, use this Skill to set up the correct directory structure and plugin.json from the outset, avoiding common pitfalls and ensuring auto-discovery works seamlessly.

Quick Start

Use the plugin structure skill to understand how to organize files for a new Claude Code plugin.

Frequently Asked Questions about Plugin Structure

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I structure a Claude Code plugin for component auto-discovery?

Configure your Claude Code plugin manifest in `plugin.json` to define component metadata and loading rules. Proper manifest configuration guarantees that all plugin commands, agents, skills, and hooks are discovered and loaded correctly by the system.

What is the best way to organize files in a Claude Code plugin directory?

Use the portable path variable `${CLAUDE_PLUGIN_ROOT}` in your Claude Code plugin to reference files and components reliably across different environments. This approach prevents path resolution errors and ensures your plugin remains portable during development.

When do I need a manifest configuration for Claude Code plugin development?

You need a `plugin.json` manifest configuration whenever starting a new Claude Code plugin project to define metadata and manage component loading. Setting it up from the outset avoids common organizational pitfalls and ensures architecture best practices are followed.

Why does my Claude Code plugin component organization fail to load correctly?

Plugin component organization fails to load when directory layout and file naming conventions do not match the expected auto-discovery mechanisms in Claude Code. Ensuring your `plugin.json` manifest is correctly configured resolves these component loading issues.