cc-os/plugins/cc-architect/references/layout/plugin-structure.md

931 B

Plugin Structure

Minimal structure for a Claude Code plugin.

Required

plugin-name/
└── .claude-plugin/
    └── plugin.json      # {"name": "plugin-name"}

Common additions

plugin-name/
├── .claude-plugin/
│   └── plugin.json
├── skills/
│   └── skill-name/
│       └── SKILL.md
└── CLAUDE.md            # Plugin-specific guidance

Marketplace layout

The standard pattern is a single flat marketplace: each plugin lives as a top-level directory alongside a .claude-plugin/marketplace.json that lists every plugin's source as ./plugin-name.

Marketplace sources may also be nested (e.g. ./plugins/<name>) — check the host repo's .claude-plugin/marketplace.json for its actual convention before assuming the flat layout.

Creating new plugins

Follow the cc-architect workflow: → ${CLAUDE_PLUGIN_ROOT}/workflows/create-plugin.md