318 lines
10 KiB
Markdown
318 lines
10 KiB
Markdown
---
|
||
name: element-definition-convention
|
||
description: プラグイン要素の定義ルール(命名規則、必須項目、記述フォーマット)を定義する。プラグイン要素作成時、エージェント・スキル・コマンド定義時、またはユーザーが命名規則、フロントマター、必須項目、記述フォーマットに言及した際に使用する。
|
||
---
|
||
|
||
# Element Definition Convention
|
||
|
||
## 概要
|
||
|
||
このSkillは、プラグイン要素(エージェント、スキル、コマンド)の定義ルールを明確化する。命名規則、フロントマターの必須項目、必須セクション、ドキュメント記述フォーマットについて標準を定義し、一貫性のあるプラグイン要素の作成を実現することを目的とする。
|
||
|
||
## 責任範囲
|
||
|
||
このSkillは以下の範囲をカバーする:
|
||
|
||
- プラグイン要素(エージェント、スキル、コマンド)の命名規則
|
||
- フロントマターの必須項目と記述ルール
|
||
- 必須セクション(概要、責任範囲、基本方針など)の定義
|
||
- ドキュメント記述フォーマットと記述原則
|
||
- チェックリストの作成ガイドライン
|
||
|
||
## 基本方針
|
||
|
||
- 命名はケバブケース(kebab-case)を使用する
|
||
- フロントマターにはname、descriptionを必須とする
|
||
- 必須セクションを統一し、一貫性を保つ
|
||
- ドキュメントは日本語・常体で記述する
|
||
- 簡潔で明確な文章を使用する
|
||
- 箇条書きを活用して情報を整理する
|
||
|
||
## 命名規則
|
||
|
||
### エージェントの命名
|
||
|
||
エージェントの役割を表す名前を使用する。
|
||
|
||
**命名パターン:**
|
||
|
||
- `[役割]-agent`の形式を使用する
|
||
- 責任範囲が明確にわかる名前にする
|
||
- ケバブケース(例: requirements-agent, design-agent)を使用する
|
||
|
||
良い例:
|
||
|
||
```text
|
||
requirements-agent
|
||
design-agent
|
||
implementation-agent
|
||
test-agent
|
||
```
|
||
|
||
悪い例:
|
||
|
||
```text
|
||
RequirementsAgent (キャメルケースは使用しない)
|
||
req-agent (省略形は避ける)
|
||
requirements_agent (スネークケースは使用しない)
|
||
agent-requirements (順序が逆)
|
||
```
|
||
|
||
### スキルの命名
|
||
|
||
スキルの目的を表す名前を使用する。
|
||
|
||
**Workflow Skillの命名パターン:**
|
||
|
||
- 動詞を含む名前にする(例: code-generator, api-designer)
|
||
- 「何を生成するか」「何を設計するか」を明確にする
|
||
- ケバブケース(例: database-schema-designer)を使用する
|
||
|
||
**Convention Skillの命名パターン:**
|
||
|
||
- 規約の対象を表す名前にする(例: coding-conventions, documentation-standards)
|
||
- 複数形を使用することが多い(conventions, standards, guidelinesなど)
|
||
- ケバブケース(例: security-guidelines)を使用する
|
||
|
||
良い例(Workflow Skill):
|
||
|
||
```text
|
||
code-generator
|
||
api-designer
|
||
database-schema-designer
|
||
requirements-structurer
|
||
```
|
||
|
||
良い例(Convention Skill):
|
||
|
||
```text
|
||
coding-conventions
|
||
documentation-standards
|
||
security-guidelines
|
||
interaction-guidelines
|
||
```
|
||
|
||
悪い例:
|
||
|
||
```text
|
||
CodeGenerator (キャメルケースは使用しない)
|
||
api_designer (スネークケースは使用しない)
|
||
gen-code (省略形は避ける)
|
||
generator (目的が不明確)
|
||
```
|
||
|
||
### コマンドの命名
|
||
|
||
コマンドの機能を表す名前を使用する。
|
||
|
||
**命名パターン:**
|
||
|
||
- ユーザーが覚えやすい簡潔な名前にする
|
||
- 動詞または名詞を使用する(例: requirements, design, generate)
|
||
- ケバブケース(例: test-run)を使用する
|
||
- 複数単語の場合は、意味が明確になるようにする
|
||
|
||
良い例:
|
||
|
||
```text
|
||
requirements
|
||
design
|
||
task
|
||
implement
|
||
test-run
|
||
generate-plugin
|
||
```
|
||
|
||
悪い例:
|
||
|
||
```text
|
||
req (省略形は避ける)
|
||
RequirementsCommand (キャメルケースは使用しない)
|
||
requirements_command (スネークケースは使用しない)
|
||
command-requirements (順序が逆)
|
||
```
|
||
|
||
## フロントマターの定義
|
||
|
||
すべてのプラグイン要素のマークダウンファイルには、フロントマターを記述する。
|
||
|
||
**必須項目:**
|
||
|
||
- `name`: 要素の名前(ケバブケース)
|
||
- `description`: 要素の簡潔な説明(1行、50文字以内を目安)
|
||
|
||
**フォーマット:**
|
||
|
||
```markdown
|
||
---
|
||
name: 要素名(ケバブケース)
|
||
description: 簡潔な説明(1行、50文字以内)
|
||
---
|
||
```
|
||
|
||
良い例:
|
||
|
||
```markdown
|
||
---
|
||
name: code-generator
|
||
description: 設計仕様からソースコードを生成する
|
||
---
|
||
```
|
||
|
||
悪い例:
|
||
|
||
```markdown
|
||
---
|
||
name: CodeGenerator
|
||
description: このスキルは、設計仕様書を入力として受け取り、それに基づいてソースコードを自動的に生成するための機能を提供します。生成されるコードは、プロジェクトのコーディング規約に準拠し、テストケースも含まれます。
|
||
---
|
||
(nameがキャメルケース、descriptionが長すぎる)
|
||
```
|
||
|
||
## 必須セクションの定義
|
||
|
||
### エージェントの必須セクション
|
||
|
||
1. **概要**: エージェントの目的と役割を簡潔に説明(1〜2段落)
|
||
2. **責任範囲**: エージェントが責任を持つ範囲を箇条書き(3〜5項目)
|
||
3. **基本方針**: エージェントの行動指針(該当する場合のみ)
|
||
|
||
### スキルの必須セクション
|
||
|
||
1. **概要**: スキルの目的と実行内容を簡潔に説明(1〜2段落)
|
||
2. **責任範囲**: スキルがカバーする範囲を箇条書き(3〜5項目)
|
||
3. **基本方針**: スキルの実行原則(該当する場合のみ)
|
||
4. **ワークフロー/カテゴリ**:
|
||
- Workflow Skill: フェーズごとの実施内容
|
||
- Convention Skill: カテゴリ別の規約・ガイドライン
|
||
5. **アウトプット**: スキルが生成する成果物(Workflow Skillの場合)
|
||
6. **チェックリスト**: 各フェーズ/カテゴリのチェック項目
|
||
|
||
### コマンドの必須セクション
|
||
|
||
1. **概要**: コマンドの目的と機能を簡潔に説明(1〜2段落)
|
||
2. **使用するエージェント**: コマンドが使用するエージェント
|
||
3. **使用するスキル**: コマンドが使用するスキルのリスト
|
||
4. **実行フロー**: スキルの実行順序とデータの受け渡し
|
||
5. **成果物**: コマンド実行後の出力先とファイル構成
|
||
|
||
## ドキュメント記述の原則
|
||
|
||
プラグイン要素のドキュメント記述時は、以下の原則に従う:
|
||
|
||
- 日本語・常体で記述する
|
||
- 簡潔で明確な文章を使用する
|
||
- 箇条書きを活用して情報を整理する
|
||
- 具体例を記述する場合は、良い例/悪い例の形式を使用する
|
||
|
||
良い例:
|
||
|
||
```markdown
|
||
## 概要
|
||
|
||
このSkillは、設計仕様からソースコードを生成する。コーディング規約に準拠したコードを自動生成し、開発効率を向上させることを目的とする。
|
||
|
||
## 責任範囲
|
||
|
||
このSkillは以下の範囲をカバーする:
|
||
|
||
- 設計仕様の解析とコード構造の決定
|
||
- コーディング規約に準拠したソースコードの生成
|
||
- 生成コードの検証とフォーマット
|
||
```
|
||
|
||
悪い例:
|
||
|
||
```markdown
|
||
## 概要
|
||
|
||
このSkillは、設計仕様書を入力として受け取り、それに基づいてソースコードを自動的に生成するための機能を提供します。生成されるコードは、プロジェクトのコーディング規約に準拠し、テストケースも含まれます。また、コードレビューの観点からも最適化されており、保守性の高いコードを生成することができます。
|
||
|
||
## 責任範囲
|
||
|
||
このSkillは以下の範囲をカバーします:
|
||
|
||
・設計仕様の解析
|
||
・コード生成
|
||
・検証
|
||
```
|
||
|
||
(文章が冗長、敬体を使用、箇条書きのマーカーが不統一)
|
||
|
||
## チェックリストの作成ガイドライン
|
||
|
||
### チェックリストの構成
|
||
|
||
- フェーズごと/カテゴリごとにチェックリストを作成する
|
||
- 最終確認用のチェックリストを含める
|
||
- 具体的で検証可能な項目を記述する
|
||
- 各項目は明確で検証可能にする(「〜を確認した」「〜が含まれている」のような表現)
|
||
|
||
良い例:
|
||
|
||
```markdown
|
||
### フェーズ1完了時
|
||
|
||
- [ ] 設計仕様書を読み込んだ
|
||
- [ ] コード構造を決定した
|
||
- [ ] 必要なファイルパスを特定した
|
||
|
||
### 最終確認
|
||
|
||
- [ ] 生成コードがコーディング規約に準拠している
|
||
- [ ] すべてのファイルが正しいパスに配置されている
|
||
- [ ] 構文エラーがない
|
||
```
|
||
|
||
悪い例:
|
||
|
||
```markdown
|
||
### チェックリスト
|
||
|
||
- [ ] 設計仕様を確認
|
||
- [ ] コード生成
|
||
- [ ] 良いコードになっている
|
||
```
|
||
|
||
(フェーズ分けがない、項目が曖昧、検証不可能な表現)
|
||
|
||
## チェックリスト
|
||
|
||
### 命名規則確認時
|
||
|
||
- [ ] ケバブケース(kebab-case)を使用している
|
||
- [ ] エージェント名は責任範囲が明確である
|
||
- [ ] スキル名は目的が明確である(Workflow Skillは動詞を含む、Convention Skillは規約の対象を表す)
|
||
- [ ] コマンド名は簡潔で覚えやすい
|
||
- [ ] 省略形を避けている
|
||
|
||
### フロントマター作成時
|
||
|
||
- [ ] nameフィールドがケバブケースで記述されている
|
||
- [ ] descriptionフィールドが1行50文字以内である
|
||
- [ ] descriptionが簡潔で要素の目的を明確に説明している
|
||
|
||
### 必須セクション作成時
|
||
|
||
- [ ] 概要セクションが1〜2段落で簡潔に記述されている
|
||
- [ ] 責任範囲が箇条書きで3〜5項目記述されている
|
||
- [ ] 基本方針が明確である(該当する場合)
|
||
- [ ] ワークフロー/カテゴリが適切に構成されている
|
||
- [ ] チェックリストが作成されている
|
||
|
||
### ドキュメント記述確認時
|
||
|
||
- [ ] 日本語・常体で記述されている
|
||
- [ ] 簡潔で明確な文章を使用している
|
||
- [ ] 箇条書きを活用して情報が整理されている
|
||
- [ ] リストのインデントがスペース2個で統一されている
|
||
- [ ] 良い例/悪い例が具体的で実用的である(該当する場合)
|
||
|
||
### 最終確認
|
||
|
||
- [ ] すべての命名規則が守られている
|
||
- [ ] フロントマターが正しく記述されている
|
||
- [ ] 必須セクションがすべて含まれている
|
||
- [ ] ドキュメント記述の原則に従っている
|
||
- [ ] チェックリストが適切に作成されている
|