プラグイン
productプラグインは、このセクションの約束事をClaudeとCodexへ届けるための配布物です。ClaudeやCodexが元から持つ調査、設計、実装、テスト、レビューの能力はそのまま使います。プラグインが受け持つのは、人間との合意、組織ならではの制約、成果物の置き場所、完了の条件を共有することです。インストールと日常の使い方はセクションの概要にまとめています。このページで扱うのは、プラグインをどう設計しているかです。
設計思想
productプラグインが決めているのは、AIの細かな作業手順ではありません。人間とAIのあいだの約束事です(約束事の5項目はセクションの概要)。具体的なコードの探索や設計、実装のやり方は、依頼とリポジトリに合わせてAIが判断します。
既定の動作は安全側に倒しています。Skillの名前を呼んだだけでは、書き込み、パッケージ追加、Issue起票、push、mergeへ権限は広がりません。check、preview、scan、auditは読み取り専用で開始し、変更は自然文やapply、writeで明示された場合だけ行います。対象リポジトリの指示をプラグインの既定より優先し、Issueの変更はlinked worktreeへ分離します。
規則の置き場所
同じ規則を複数の場所へコピーせず、それぞれの置き場所に一つの責務だけを持たせます。
- リポジトリの指示ファイル: その製品で常に必要なコマンド、変更禁止領域、worktreeや開発サーバの制約
- Skill: ClaudeとCodexで共有する業務フロー、成果物、完了条件
- Agent: モデル、判断主体、委譲先、権限など、Claude固有の設定
- Automation: 業務をいつ起動するか
- 依頼文: 今回の目的、範囲、受け入れ条件
CLAUDE.mdやAGENTS.mdなど各AIが読む入口は分かれても、共有する規則の本文をコピーして別々に保守しません。
Skillにする基準
Skillにするのは、具体的な手順、専門知識、再利用資産、または通常開発と異なる実行境界を持つ業務だけです。モデルが通常判断できる工程を抽象的なSkillにすると、入口が増えてどれを使うべきか曖昧になります。一般的な開発方法を教え直すSkillは作りません。ClaudeやCodexが依頼とリポジトリに合わせて決められる部分は任せ、必須の受け渡し点と禁止境界だけを書きます。
書き込み、全件監査、環境変更など、暗黙に始めるべきでないSkillは、人の明示起動だけを許可します。
Hookと自動化
Hookは、編集後のformatやcommit前の検査など、決まったイベントで短い処理を確実に動かすために使います。重い全テスト、長時間の監査、外部への書き込みはHookへ置きません。自動化は「いつ起動するか」だけを担当し、開発や点検の判断手順そのものはSkillまたは独立ワーカーへ置きます。
設定と機密情報
- APIキー、個人ID、認証情報はリポジトリへ置かず、ユーザー設定または秘密管理基盤で管理する
- プロジェクト設定には、共有してよいリポジトリ固有値だけを置く
- Plugin、MCP、Skillは、提供元、実行コマンド、権限、外部通信を確認してから有効にする
- 生成物やキャッシュを正本にせず、配布元と同期方法を明確にする
- 設定変更後は、各AIでinstructions、Skill、Plugin、MCPが実際に読み込まれたことを確認する