Plugin Structure

Guide Claude Code plugin directory layout and manifest configuration.

Updated Aug 27, 2026
One-click install
npx skills add https://github.com/SS2608-dev/Resilience --skill plugin-structure-ss2608-dev
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: Plugin Structure
Source: https://github.com/SS2608-dev/Resilience/tree/main/.agents/skills/plugin-structure
Command: npx skills add https://github.com/SS2608-dev/Resilience --skill plugin-structure-ss2608-dev

SYSTEM DOCUMENTATION & REQUIREMENTS

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

What problem does it solve?

This Skill provides comprehensive guidance on organizing Claude Code plugins, ensuring efficient development and seamless integration.

Core Features & Use Cases

  • Directory Structure: Understand conventional layouts for auto-discovery.
  • Manifest Configuration: Learn to configure plugin.json for optimal functionality.
  • Component Organization: Best practices for commands, agents, skills, and hooks.
  • Portable Paths: Master ${CLAUDE_PLUGIN_ROOT} for robust referencing.
  • Use Case: When starting a new plugin, use this Skill to scaffold the project correctly, ensuring all components are discoverable and well-organized from the start.

Quick Start

Use the plugin structure skill to create a new plugin with a standard directory layout.

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 auto-discovery?

Structure your Claude Code plugin using a conventional directory layout to ensure components like commands, agents, and skills are automatically discovered by the system.

What is the best way to configure plugin.json for Claude Code?

Configure plugin.json by defining essential manifest settings to establish optimal plugin functionality and ensure proper integration with Claude Code architecture.

How does the CLAUDE_PLUGIN_ROOT path variable work in plugin development?

The CLAUDE_PLUGIN_ROOT variable provides portable path referencing within your plugin, allowing robust file discovery without hardcoding absolute directory paths.

Where should I place commands, agents, and hooks in my plugin directory?

Organize commands, agents, skills, and hooks into specific conventional directories within your plugin structure to enable proper auto-discovery and maintainability.

Do I need a specific manifest configuration to enable Claude Code hooks?

Yes, configuring the plugin.json manifest correctly is essential for organizing and enabling hooks, commands, and agents within your Claude Code plugin architecture.

Why are my Claude Code plugin components not being discovered automatically?

Auto-discovery fails when the plugin directory structure deviates from conventional layouts or the plugin.json manifest lacks proper component organization and path configuration.