プラグイン全体の構造設計原則(要素の役割分担、階層構造、依存関係管理)を定義する。プラグイン設計時、アーキテクチャレビュー時、またはユーザーがプラグイン構造、設計原則、独立性、汎用性、依存関係管理に言及した際に使用する。
View on GitHubRevTechStudio/rts-plugins
rts-plugin-generator
rts-plugin-generator/skills/plugin-architecture-convention/SKILL.md
January 21, 2026
Select agents to install to:
npx add-skill https://github.com/RevTechStudio/rts-plugins/blob/main/rts-plugin-generator/skills/plugin-architecture-convention/SKILL.md -a claude-code --skill plugin-architecture-conventionInstallation paths:
.claude/skills/plugin-architecture-convention/# Plugin Architecture Convention
## 概要
このSkillは、プラグイン全体のアーキテクチャ設計原則を定義する。プラグインを構成する要素(エージェント、スキル、コマンド)の役割分担、依存関係管理、独立性の確保、汎用性の維持について明確な指針を提供し、再利用可能で保守性の高いプラグイン設計を実現することを目的とする。
## 責任範囲
このSkillは以下の範囲をカバーする:
- プラグイン要素(エージェント、スキル、コマンド)の定義と役割
- 要素間の依存関係管理の原則
- 独立性の原則(他要素への参照禁止ルール)
- 汎用性の原則(固有名詞の使用禁止ルール)
- スキルの分類(Workflow Skill / Convention Skill)
- コマンドの責任範囲と役割
- プラグイン要素の命名と記述のガイドライン
## 基本方針
- すべてのエージェントおよびすべてのスキルは互いに依存しない
- 各要素は独立した要素として確立される
- 依存関係についてはすべてコマンドが引き受ける
- 固有名詞を含めず、汎用的な表現を使用する
- 1スキル1目的の原則を厳守する
- 再利用可能で保守性の高い設計を重視する
## プラグインの構造
### ディレクトリ構成
プラグインは以下のディレクトリ構造を持つ:
```text
[プラグイン名]/
├── agents/
│ └── [エージェント名].md
├── skills/
│ ├── [Convention Skill名]/
│ │ └── SKILL.md
│ │ ※ Convention Skillはtemplates/ディレクトリを持たない
│ ├── [Workflow Skill (テンプレートなし)名]/
│ │ └── SKILL.md
│ └── [Workflow Skill (テンプレートあり)名]/
│ ├── SKILL.md
│ └── templates/
│ ├── [テンプレート1].md
│ └── [テンプレート2].md
└── commands/
└── [コマンド名].md
```
**注釈:**
- Convention Skillは規約を定義するだけで、templates/ディレクトリを持たない
- Workflow Skillは、ドキュメント生成を含む場合のみtemplates/ディレクトリを持つ
- テンプレートファイルは、ユーザーのプロジェクトにコピーされ使用される
### ファイルの配置ルール
#### エージェント
- **配置場所:** `[プラグイン名]/agents/[エージェント名].md`
- **ファイル名:** エージェント名をケバブケースで記述(例: `plugin-development-agent.md`)
- **ファイル形式:** マークダウン(.md)
#### スキル
- **Convention Skill配置場所:** `[プラグイン名]/skills/[スキル名]/SKILL.md`
- **Workflow Skill配置場所:** `[プラグイン名]/skills/[スキル名]/SKILL.md`
- **スキル名:** ケバブケースで記述(例: `command-generator`)
- **ファイル名:** 必ず `SKILL.md` とする(大文字)
- **テンプレートファイル:** Workflow Skillの場合、必要に応じて `templates/` ディレクトリを同じディレクトリ内に作成
#### コマンド
- **配置場所:** `[プラグイン名]/commands/[コマンド名].md`
- **ファイル名:** コマンド名をケバブケースで記述(例: `generate-agent.md`)
- **ファイル形式:** マークダウン(.md)
### 出力パスの記述形式
コマンドやスキルのドキュメント内で出力先を記述する際は、以下の形式を使用する:
- `[プラグインディレクトリ]/agents/[エージェント名].md`
- `[プラグインディレクトリ]/skills/[スキル名]/SKILL.md`
- `[プラグインディレクトリ]/commands/[コマンド名].md`
プレースホルダー `[プラグインディレクトリ]` は、ユーザーが実際に使用するプラグインのルートディレクトリを指す。固有のプラグイン名を含めず、汎用的な表現を維持する。
## プラグイン要素の