This is the reference guide you'll want when scaffolding a new Claude Code plugin. It covers the mandatory directory structure (manifest goes in .claude-plugin/, components live at root), explains how auto-discovery works for commands, agents, skills, and hooks, and shows you how to use ${CLAUDE_PLUGIN_ROOT} for portable paths. The key insight is that Claude Code prefers convention over configuration: drop a .md file in commands/ and it becomes a slash command, put SKILL.md in a subdirectory of skills/ and it's available to the agent. The manifest examples are practical, covering everything from basic metadata to custom component paths and MCP server definitions. Worth keeping open when you're setting up plugin.json or wondering why your hook isn't firing.
npx skills add https://github.com/davila7/claude-code-templates --skill plugin-structure