plugin-structure

Structure Claude Code plugins with plugin.json, SKILL.md, and kebab-case naming.

Updated Aug 27, 2026
One-click install
npx skills add https://github.com/julianobarbosa/.claude --skill plugin-structure-julianobarbosa
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: plugin-structure
Source: https://github.com/julianobarbosa/.claude/tree/main/plugins/marketplaces/claude-plugins-official/plugins/plugin-dev/skills/plugin-structure
Command: npx skills add https://github.com/julianobarbosa/.claude --skill plugin-structure-julianobarbosa

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This skill prevents slow, broken Claude Code plugins by teaching the correct directory layout, manifest configuration, naming conventions, and auto-discovery rules needed for components (commands, agents, skills, hooks, MCP) to load reliably.

Core Features & Use Cases

  • Plugin directory layout & auto-discovery: Learn where Claude Code looks for commands, agents, skills (via SKILL.md), hooks, and MCP servers so your plugin components are discoverable without guesswork.
  • plugin.json manifest configuration: Understand required and recommended fields, plus how to specify additional component paths safely and portably.
  • Portable path references: Apply ${CLAUDE_PLUGIN_ROOT} to avoid hardcoded installation paths and ensure hooks/MCP/scripts work across environments.
  • Best practices & troubleshooting: Follow conventions (kebab-case, correct locations) and diagnose common loading and path-resolution failures quickly.

Quick Start

Ask the AI: "Create a Claude Code plugin scaffold for a project called 'my-devops-helper' that includes a plugin manifest and one skill, and explain exactly where each file must go and how auto-discovery will load it."

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 so components are discovered automatically?

To structure a Claude Code plugin for auto-discovery, place components like commands, agents, skills, and hooks in specific expected directories. Use a root-level SKILL.md with YAML frontmatter for skills and a valid plugin.json manifest to ensure reliable loading without guesswork.

What goes in the plugin.json manifest for a Claude Code plugin?

The plugin.json manifest for a Claude Code plugin contains required and recommended fields that define the plugin's configuration. It safely specifies additional component paths and establishes how auto-discovery rules locate your commands, agents, skills, hooks, and MCP servers.

How does ${CLAUDE_PLUGIN_ROOT} work when configuring plugin paths?

The ${CLAUDE_PLUGIN_ROOT} variable provides portable path references for Claude Code plugins. You apply it in manifest configurations and hook scripts to avoid hardcoded installation paths, ensuring your plugin components work reliably across different environments.

Why are my Claude Code plugin commands and hooks not loading correctly?

Claude Code plugin components fail to load when the directory layout violates auto-discovery rules, uses incorrect naming conventions like failing to enforce kebab-case, or relies on hardcoded paths instead of ${CLAUDE_PLUGIN_ROOT}. Troubleshoot by verifying manifest placement and path resolution.

Do I need a specific file format for Claude Code plugin skills?

Yes, Claude Code plugin skills require a root-level SKILL.md file formatted with YAML frontmatter. This specific file format satisfies the manifest placement and path rules needed for the auto-discovery mechanism to correctly identify and activate the skill component.

What is the best way to scaffold a Claude Code plugin with multiple component types?

The best way to scaffold a Claude Code plugin with multiple component types is to organize commands, agents, skills, hooks, and MCP servers into the correct directory structure. Enforce kebab-case naming and configure the plugin.json manifest to align with auto-discovery expectations.