Expert Claude Code plugin development covering plugin structure, slash commands, auto-activating skills, sub-agents, plugin.json configuration, YAML frontmatter, activation keywords, directory structure, and plugin best practices. Activates for plugin development, create plugin, claude plugin, slash command, skill activation, SKILL.md, plugin.json, claude code plugin, how to make plugin.
View on GitHubanton-abyzov/specweave
sw-plugin-dev
January 25, 2026
Select agents to install to:
npx add-skill https://github.com/anton-abyzov/specweave/blob/main/plugins/specweave-plugin-dev/skills/plugin-development/SKILL.md -a claude-code --skill plugin-developmentInstallation paths:
.claude/skills/plugin-development/# Plugin Development Expert
Expert guidance for creating production-ready Claude Code plugins.
## Critical Structure Rules
**Directory Hierarchy**:
```
~/.claude/plugins/my-plugin/ ← Plugin root
├── .claude-plugin/
│ └── plugin.json ← Manifest (REQUIRED)
├── commands/
│ └── command-name.md ← Slash commands
├── skills/
│ └── skill-name/ ← MUST be subdirectory
│ └── SKILL.md ← MUST be uppercase
└── agents/
└── agent-name/
└── AGENT.md
```
**Common Mistakes**:
```
# ❌ WRONG
skills/SKILL.md # Missing subdirectory
skills/my-skill.md # Wrong filename
skills/My-Skill/SKILL.md # CamelCase not allowed
# ✅ CORRECT
skills/my-skill/SKILL.md # kebab-case subdirectory + SKILL.md
```
## plugin.json Format
**Minimum Required**:
```json
{
"name": "my-plugin",
"description": "Clear description with activation keywords",
"version": "1.0.0"
}
```
**Full Example**:
```json
{
"name": "my-awesome-plugin",
"description": "Expert cost optimization for AWS, Azure, GCP. Activates for reduce costs, cloud costs, finops, save money, cost analysis.",
"version": "1.0.0",
"author": {
"name": "Your Name",
"email": "you@example.com"
},
"homepage": "https://github.com/user/my-plugin",
"repository": "https://github.com/user/my-plugin",
"license": "MIT",
"keywords": ["cost", "finops", "aws", "azure", "gcp"]
}
```
## Command Format (Slash Commands)
**Header Format** (CRITICAL):
```markdown
# /my-plugin:command-name
```
**Rules**:
- MUST start with `# /`
- Plugin name: `kebab-case`
- Command name: `kebab-case`
- NO YAML frontmatter (only skills use YAML)
**Full Template**:
```markdown
# /my-plugin:analyze-costs
Analyze cloud costs and provide optimization recommendations.
You are an expert FinOps engineer.
## Your Task
1. Collect cost data
2. Analyze usage patterns
3. Identify optimization opportunities
4. Generate report
### 1. Data Collection
\```bash