Agent skill · Frontend

plugin-structure

This skill should be used when the user asks to "create a plugin", "scaffold a plugin", "understand plugin structure", "organize plugin components", "set up plugin.json", "use ${CLAUDE_PLUGIN_ROOT}", "add commands/agents/skills/hooks", "configure auto-discovery", or needs guidance on plugin directory layout, manifest configuration, component organization, file naming conventions, or Claude Code plugin architecture best practices.

Anthropic33,591★ · +352/wk · 2 repos on radarProfile →
claude-codeApache-2.0
Install
npx skills add anthropics/claude-plugins-official --skill plugin-structure --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 7
SKILL.md size: 13 KB
Bundled scripts: none
Version: 0.1.0
Path: plugins/plugin-dev/skills/plugin-structure/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 33,027 · +241 this week
Language: Python
Read our review of the source →

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

From the SKILL.md

# Plugin Structure for Claude Code ## Overview Claude Code plugins follow a standardized directory structure with automatic component discovery. Understanding this structure enables creating well-organized, maintainable plugins that integrate seamlessly with Claude Code. **Key concepts:** - Conventional directory layout for automatic discovery - Manifest-driven configuration in `.claude-plugin/plugin.json` - Component-based organization (commands, agents, skills, hooks) - Portable path references using `${CLAUDE_PLUGIN_ROOT}` - Explicit vs. auto-discovered component loading ## Directory Structure Every Claude Code plugin follows this organizational pattern: ``` plugin-name/ ├── .claude-plugin/ │ └── plugin.json # Required: Plugin manifest ├── commands/ # Slash commands (.md files) ├── agents/ # Subagent definitions (.md files) ├── skills/ # Agent skills (subdirectories) │ └── skill-name/ │ └── SKILL.md # Required for each skill ├── hooks/ │ └── hooks.json # Event handler configuration ├── .mcp.json # MCP server definitions └── scripts/ # Helper scripts and utilities ``` **Critical rules:** 1. **Manifest location**: The `plugin.json` manifest MUST be in `.claude-plugin/` directory 2

What's inside
Steps it walks through
  1. Overview
  2. Directory Structure
  3. Plugin Manifest (plugin.json)
  4. Required Fields
  5. Recommended Metadata
  6. Component Path Configuration
  7. Component Organization
  8. Commands
  9. Agents
  10. Skills
  11. Hooks
  12. MCP Servers
  13. Portable Path References
  14. ${CLAUDEPLUGINROOT}
Ships with 6 files
  • README.md
  • examples/advanced-plugin.md
  • examples/minimal-plugin.md
  • examples/standard-plugin.md
  • references/component-patterns.md
  • references/manifest-reference.md
Commands it runs
source "${CLAUDE_PLUGIN_ROOT}/lib/common.sh"
More from claude-plugins-official
All skills →
About this skill
What does the plugin-structure skill do?

This skill should be used when the user asks to "create a plugin", "scaffold a plugin", "understand plugin structure", "organize plugin components", "set up plugin.json", "use ${CLAUDE_PLUGIN_ROOT}", "add commands/agents/skills/hooks", "configure auto-discovery", or needs guidance on plugin directory layout, manifest configuration, component organization, file naming conventions, or Claude Code plugin architecture best practices.

How do I install it?

Run `npx skills add anthropics/claude-plugins-official --skill plugin-structure --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From anthropics/claude-plugins-official, a repository with 33,027 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going