Skill 詳細
claude-plugins
Developer-facing, but narrowly focused on Claude Code plugins.
使用前に確認
自動レビューは関連性のみを確認し、安全性や推奨を保証しません。使用前に出典の説明を読んでください。
SKILL.md
これはレビュー時に保存された抜粋です。完全で最新の内容は外部ソースを確認してください。
---
name: claude-plugins
description: This skill should be used when creating plugins, publishing to marketplaces, or when "plugin.json", "marketplace", "create plugin", or "distribute plugin" are mentioned.
metadata:
version: "1.0.0"
related-skills:
- claude-plugin-audit
- claude-agents
- claude-commands
- claude-hooks
- skills-dev
- claude-rules
- claude-config
---
# Claude Plugin Development
Complete lifecycle for developing, validating, and distributing Claude Code plugins.
## Steps
1. Define plugin scope and components needed
2. Initialize plugin structure with `plugin.json`
3. If adding commands, load the `outfitter:claude-commands` skill
4. If adding agents, load the `outfitter:claude-agents` skill
5. If adding hooks, load the `outfitter:claude-hooks` skill
6. If adding skills, load the `outfitter:skills-dev` skill
7. Delegate by loading the `outfitter:claude-plugin-audit` skill for validation
8. Fix issues and distribute
## Quick Start
```bash
# 1. Scaffold plugin
./scripts/scaffold-plugin.sh my-plugin --with-commands
# 2. Add components (commands, agents, hooks, skills)
# 3. Test locally
/plugin marketplace add ./my-plugin
/plugin install my-plugin@my-plugin
# 4. Distribute
git push origin main --tags
```
## Lifecycle Overview
```
Discovery -> Init -> Components -> Validate -> Distribute -> Marketplace
| | | | | |
v v v v v v
Purpose Scaffold Commands Structure Package Catalog
Scope plugin.json Agents Testing Version Publish
Type README Hooks Quality Release Share
```
## Stage 1: Discovery
Before creating a plugin, clarify:
| Question | Impact |
|----------|--------|
| What problem does this solve? | Plugin scope and features |
| Who will use it? | Distribution method |
| What components are needed? | Commands, agents, hooks, MCP servers |
| Where will it live? | Personal, project, or marketplace |
## Stage 2: Initialization
### Standalone Plugin
Standalone plugins need their own `.claude-plugin/plugin.json`:
```
my-plugin/
├── .claude-plugin/
│ └── plugin.json # Required for standalone
├── README.md # Required for distribution
├── commands/ # Optional components
├── agents/
├── skills/
└── hooks/
```
### plugin.json (Standalone)
```json
{
"name": "my-plugin",
"version": "1.0.0",
"description": "Brief description of what this plugin does",
"author": {
"name": "Your Name",
"email": "[email protected]"
},
"license": "MIT"
}
```
### Marketplace with Local Plugins (Consolidated)
For marketplaces where all plugins live in the same repo, use `strict: false` to consolidate metadata. Plugins don't need their own manifests:
```
my-marketplace/
├── .claude-plugin/
│ └── marketplace.json # All metadata here (strict: false)
├── plugin-a/
│ └── commands/
├── plugin-b/
│ └── skills/
└── README.md
```
### marketplace.json (Consolidated)
```json
{
"name": "my-marketplace",
"owner": {
"name": "Team Name",
"email": "[email protected]"
},
"strict": false,
"plugins": [
{"name": "plugin-a", "source": "./plugin-a", "version": "1.0.0", "description": "Plugin A", "license": "MIT"},
{"name": "plugin-b", "source": "./plugin-b", "version": "1.0.0", "description": "Plugin B", "license": "MIT"}
]
}
```
**Benefits:** Single source of truth, no version drift between marketplace and plugin manifests.
For external plugins (GitHub repos), use minimal entries and let the external repo own its manifest.
See [structure.md](references/structure.md) for complete plugin.json schema.
## Stage 3: Components
Add components based on plugin needs. See Steps section for which skills to load.
### Slash Commands
Create custom commands in `commands/` directory:
```markdown
---
description: "Review code for quality issues"
---
Review the following code: {{GitHub で全文を読む (外部ページ)