# 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`
