Plugin Spec スキル(統合版)
Claude Code プラグインの全仕様知識を統合して提供する。 詳細な仕様は個別スキルを参照。
Instructions
このスキルはプラグインの各コンポーネント(commands, skills, agents, hooks)の 概要を提供し、詳細は個別スキルに委譲します。
重要: 実装前に必ず公式ドキュメント(英語版)を確認し、最新の仕様に従ってください。
公式ドキュメント
Multi-tool compatibility (v1.5.0+, OpenCode は v1.6.0+)
cc-plugins のプラグインは Claude Code / Codex CLI / Cursor / Copilot CLI / OpenCode の
5 ツールで共通認識できる構造を採る。詳細は .claude/rules/plugin-development.md
の "Multi-tool compatibility" セクションを参照。主要ポイント:
- 共通フロントマター:
name(kebab-case)、description(1 行目をUse when ...で開始) - AGENTS.md: プラグインに skills/agents/commands があれば必ずルートに配置。 Codex CLI / Cursor / Copilot CLI / OpenCode が読み込む入口となり、Claude Code ネイティブ定義へ参照を貼る
- .cursor/rules/plugin.mdc (任意): Cursor 向けの参照ファイル
- .github/copilot-instructions.md: リポジトリルートに 1 ファイルのみ
- Claude Code 固有フィールドの配置ルール:
context: fork,user-invocable→ skills のみallowed-tools→ skills / commandsmodel→ agents / commands (skills には不可)tools→ agents (commands/skills は allowed-tools)
- バリデーション:
.claude/scripts/lint-multi-tool-compat.sh - テンプレート:
plugins/plugin-generator/templates/{agents-md,cursor-rules.mdc}.tmpl
個別仕様スキル
| スキル | 説明 | 詳細コマンド |
|---|---|---|
command-spec |
command の仕様知識 | /plugin-generator:create-command |
skill-spec |
skill の仕様知識 | /plugin-generator:create-skill |
agent-spec |
agent の仕様知識 | /plugin-generator:create-agent |
各コンポーネントの詳細な仕様は上記スキルを参照してください。
plugin.json 仕様
プラグインのメタデータを定義するファイル。
必須フィールド
| フィールド | 説明 |
|---|---|
name |
プラグイン識別子(kebab-case) |
推奨フィールド
| フィールド | 説明 |
|---|---|
version |
セマンティックバージョン(例: "1.0.0") |
description |
プラグインの説明 |
author |
作者情報({name, email?, url?}) |
license |
ライセンス(例: "MIT") |
keywords |
検索用キーワード配列 |
パスフィールド
| フィールド | 説明 |
|---|---|
commands |
コマンドディレクトリ(例: "./commands/") |
skills |
スキルディレクトリ(例: "./skills/") |
agents |
エージェントディレクトリ(例: "./agents/") |
hooks |
フック設定ファイル(例: "./hooks/hooks.json") |
例
{
"name": "my-plugin",
"description": "プラグインの説明",
"version": "1.0.0",
"author": { "name": "Author Name" },
"license": "MIT",
"keywords": ["keyword1", "keyword2"],
"commands": "./commands/",
"skills": "./skills/",
"agents": "./agents/"
}
コンポーネント概要
Commands
スラッシュコマンドを定義する Markdown ファイル。
- 配置:
commands/{command-name}.md - 必須: フロントマターに
description - オプション:
model(フルモデル ID)、allowed-tools - 詳細:
command-specスキルを参照
Skills
Claude が自動適用する知識・手順を定義する Markdown ファイル。
- 配置:
skills/{skill-name}/SKILL.md - 必須: フロントマターに
name,description - オプション:
allowed-tools,context,agent,user-invocable,hooks - 注意:
model指定は使用不可 - v2.1.0+:
context: forkでサブエージェントとして実行可能 - 詳細:
skill-specスキルを参照
Agents
サブエージェントを定義する Markdown ファイル。
- 配置:
agents/{agent-name}.md - 必須: フロントマターに
name,description - オプション:
tools,model(短縮名),skills - 詳細:
agent-specスキルを参照
Hooks
イベント発生時に自動実行されるシェルコマンドを定義。
- 配置:
hooks/hooks.json - イベント: PreToolUse, PostToolUse, SessionStart, SessionEnd など
- タイプ: command, prompt
model 指定の違い
| コンポーネント | model 指定 | 形式 |
|---|---|---|
| commands | 可能 | フルモデル ID(claude-haiku-4-5-20251001) |
| skills | 不可 | - |
| agents | 可能 | 短縮名(haiku, opus, inherit) |
注意: Sonnet は現在の Claude Code では推奨されません。
バリデーションルール
エラー(必須)
| 対象 | ルール |
|---|---|
| plugin.json | 存在必須 |
| plugin.json | name フィールド必須 |
| パス | 参照先ディレクトリ/ファイル存在 |
| commands/*.md | フロントマターに description 必須 |
| skills/*/SKILL.md | フロントマターに name, description 必須 |
| agents/*.md | フロントマターに name, description 必須 |
| hooks.json | 有効な JSON 構文 |
警告(推奨)
| 対象 | ルール |
|---|---|
| plugin.json | version 推奨 |
| plugin.json | description 推奨 |
| プラグインルート | CLAUDE.md 推奨 |
Examples
コンポーネント作成
Q: 新しいコマンドを作りたい
A: `/plugin-generator:create-command {name}` を実行するか、
`command-spec` スキルを参照してください。
Q: 新しいスキルを作りたい
A: `/plugin-generator:create-skill {name}` を実行するか、
`skill-spec` スキルを参照してください。
Q: 新しいエージェントを作りたい
A: `/plugin-generator:create-agent {name}` を実行するか、
`agent-spec` スキルを参照してください。
プラグイン構造の相談
Q: プラグインの構造を教えて
A: 基本構造は以下の通りです:
- .claude-plugin/plugin.json(必須)
- commands/(スラッシュコマンド)
- skills/(自動適用スキル)
- agents/(サブエージェント)
- hooks/(イベントフック)