Initial commit
This commit is contained in:
485
skills/plugin-packager/SKILL.md
Normal file
485
skills/plugin-packager/SKILL.md
Normal file
@@ -0,0 +1,485 @@
|
||||
---
|
||||
name: plugin-packager
|
||||
description: 生成したプラグインをZIP形式にまとめる。プラグインパッケージング時、配布準備時、またはユーザーがZIP作成、プラグイン配布、パッケージング、リリース準備に言及した際に使用する。
|
||||
---
|
||||
|
||||
# Plugin Packager
|
||||
|
||||
## 概要
|
||||
|
||||
このSkillは、生成したプラグインをZIP形式にパッケージングする。プラグインのファイルを収集し、必要なメタデータを生成して、配布可能なZIPファイルを作成する。
|
||||
|
||||
## 責任範囲
|
||||
|
||||
このSkillは以下の範囲をカバーする:
|
||||
|
||||
- パッケージング対象ファイルの収集
|
||||
- ファイルの完全性検証
|
||||
- メタデータファイルの生成(package.json、VERSION)
|
||||
- ZIPファイルの作成
|
||||
- パッケージの出力とメタデータの記録
|
||||
- 配布用ドキュメントの準備
|
||||
|
||||
## ワークフロー
|
||||
|
||||
### フェーズ1: ファイル収集
|
||||
|
||||
パッケージングするファイルを収集し、リストを作成する。
|
||||
|
||||
**実施内容:**
|
||||
|
||||
1. プラグインディレクトリを確認する
|
||||
2. パッケージング対象のファイルを特定する
|
||||
3. 除外ファイルを確認する(.claudeignore)
|
||||
4. ファイルリストを作成する
|
||||
5. ファイルサイズを集計する
|
||||
|
||||
**収集対象:**
|
||||
|
||||
- README.md(必須)
|
||||
- agents/[agent-name].md
|
||||
- skills/[skill-name]/SKILL.md
|
||||
- commands/[command-name].md
|
||||
- LICENSE(オプション)
|
||||
- CHANGELOG.md(オプション)
|
||||
|
||||
**除外対象:**
|
||||
|
||||
- .git/
|
||||
- node_modules/
|
||||
- .DS_Store
|
||||
- *.tmp
|
||||
- .claudeignore に記載されたファイル
|
||||
|
||||
**良い例:**
|
||||
|
||||
```markdown
|
||||
【ファイル収集結果】
|
||||
|
||||
プラグイン名: database-design-plugin
|
||||
プラグインディレクトリ: D:\projects\database-design-plugin
|
||||
|
||||
収集対象ファイル(11個):
|
||||
- README.md
|
||||
- agents/database-design-agent.md
|
||||
- skills/entity-definition-collector/SKILL.md
|
||||
- skills/normalization-processor/SKILL.md
|
||||
- skills/er-diagram-generator/SKILL.md
|
||||
- skills/table-definition-writer/SKILL.md
|
||||
- skills/ddl-script-generator/SKILL.md
|
||||
- skills/database-naming-conventions/SKILL.md
|
||||
- skills/normalization-rules/SKILL.md
|
||||
- commands/design-database.md
|
||||
- commands/generate-schema.md
|
||||
|
||||
除外ファイル:
|
||||
- .git/(Gitディレクトリ)
|
||||
- .DS_Store(システムファイル)
|
||||
|
||||
合計サイズ: 125 KB
|
||||
```
|
||||
|
||||
**悪い例:**
|
||||
|
||||
```markdown
|
||||
【ファイル収集結果】
|
||||
|
||||
何かファイルを集めた
|
||||
```
|
||||
|
||||
### フェーズ2: 検証
|
||||
|
||||
収集したファイルの完全性を検証する。
|
||||
|
||||
**実施内容:**
|
||||
|
||||
1. 必須ファイルの存在を確認する
|
||||
2. ファイル形式の正当性を確認する
|
||||
3. フロントマター情報を検証する
|
||||
4. ファイル内容の完全性を確認する
|
||||
5. 検証結果をレポートする
|
||||
|
||||
**検証項目:**
|
||||
|
||||
- README.md が存在するか
|
||||
- 全ての AGENT.md, SKILL.md, COMMAND.md が正しく読み込めるか
|
||||
- フロントマター情報が正しくパースできるか
|
||||
- 必須フィールド(name, description)が存在するか
|
||||
- ファイル内容が破損していないか
|
||||
|
||||
**良い例:**
|
||||
|
||||
```markdown
|
||||
【検証結果】
|
||||
|
||||
必須ファイル: ✓ OK
|
||||
- ✓ README.md が存在する
|
||||
|
||||
ファイル形式: ✓ OK
|
||||
- ✓ 全てのファイルが正しく読み込める(11個)
|
||||
|
||||
フロントマター: ✓ OK
|
||||
- ✓ 全てのフロントマターが正しくパースできる(10個)
|
||||
- ✓ 必須フィールド(name, description)が全て存在する
|
||||
|
||||
ファイル内容: ✓ OK
|
||||
- ✓ 全てのファイルが破損していない
|
||||
|
||||
検証: 合格
|
||||
```
|
||||
|
||||
**悪い例(問題がある場合):**
|
||||
|
||||
```markdown
|
||||
【検証結果】
|
||||
|
||||
必須ファイル: ✗ NG
|
||||
- ✗ README.md が存在しない
|
||||
|
||||
ファイル形式: ✗ NG
|
||||
- ✗ entity-definition-collector/SKILL.md が読み込めない
|
||||
|
||||
フロントマター: ✗ NG
|
||||
- ✗ normalization-processor/SKILL.md でフロントマターがパースできない
|
||||
|
||||
検証: 不合格(3個の問題)
|
||||
```
|
||||
|
||||
### フェーズ3: メタデータ生成
|
||||
|
||||
パッケージに必要なメタデータファイルを生成する。
|
||||
|
||||
**実施内容:**
|
||||
|
||||
1. package.json を生成する
|
||||
2. VERSION ファイルを生成する
|
||||
3. MANIFEST.md を生成する(ファイルリスト)
|
||||
4. ハッシュ値を計算する(整合性確認用)
|
||||
5. メタデータの妥当性を確認する
|
||||
|
||||
**生成するメタデータ:**
|
||||
|
||||
- **package.json**: プラグインのメタ情報(名前、バージョン、説明、作者など)
|
||||
- **VERSION**: バージョン番号
|
||||
- **MANIFEST.md**: 含まれるファイルのリスト
|
||||
- **CHECKSUM.txt**: ファイルのハッシュ値(オプション)
|
||||
|
||||
**良い例:**
|
||||
|
||||
```markdown
|
||||
【メタデータ生成結果】
|
||||
|
||||
package.json:
|
||||
{
|
||||
"name": "database-design-plugin",
|
||||
"version": "1.0.0",
|
||||
"description": "データベース設計を支援するプラグイン",
|
||||
"author": "Your Name",
|
||||
"created": "2025-11-15",
|
||||
"agents": ["database-design-agent"],
|
||||
"skills": [
|
||||
"entity-definition-collector",
|
||||
"normalization-processor",
|
||||
"er-diagram-generator",
|
||||
"table-definition-writer",
|
||||
"ddl-script-generator",
|
||||
"database-naming-conventions",
|
||||
"normalization-rules"
|
||||
],
|
||||
"commands": ["design-database", "generate-schema"]
|
||||
}
|
||||
|
||||
VERSION:
|
||||
1.0.0
|
||||
|
||||
MANIFEST.md:
|
||||
# Manifest
|
||||
|
||||
このパッケージには以下のファイルが含まれています:
|
||||
|
||||
## プラグイン情報
|
||||
- package.json
|
||||
- VERSION
|
||||
- MANIFEST.md
|
||||
- README.md
|
||||
|
||||
## エージェント
|
||||
- agents/database-design-agent.md
|
||||
|
||||
## スキル
|
||||
- skills/entity-definition-collector/SKILL.md
|
||||
- skills/normalization-processor/SKILL.md
|
||||
- skills/er-diagram-generator/SKILL.md
|
||||
- skills/table-definition-writer/SKILL.md
|
||||
- skills/ddl-script-generator/SKILL.md
|
||||
- skills/database-naming-conventions/SKILL.md
|
||||
- skills/normalization-rules/SKILL.md
|
||||
|
||||
## コマンド
|
||||
- commands/design-database.md
|
||||
- commands/generate-schema.md
|
||||
|
||||
合計: 14ファイル
|
||||
|
||||
メタデータ生成: 完了
|
||||
```
|
||||
|
||||
**悪い例:**
|
||||
|
||||
```markdown
|
||||
【メタデータ生成結果】
|
||||
|
||||
何か作った
|
||||
```
|
||||
|
||||
### フェーズ4: パッケージング
|
||||
|
||||
収集したファイルとメタデータをZIP形式にまとめる。
|
||||
|
||||
**実施内容:**
|
||||
|
||||
1. ZIPファイル名を決定する
|
||||
2. ファイルをZIPに追加する
|
||||
3. ディレクトリ構造を保持する
|
||||
4. 圧縮レベルを設定する
|
||||
5. ZIP作成を実行する
|
||||
|
||||
**パッケージング設定:**
|
||||
|
||||
- **ファイル名形式**: `{plugin-name}-v{version}.zip`
|
||||
- **圧縮レベル**: 標準(balance between size and speed)
|
||||
- **ディレクトリ構造**: 保持する
|
||||
- **ルートディレクトリ**: プラグイン名のディレクトリを作成
|
||||
|
||||
**良い例:**
|
||||
|
||||
```markdown
|
||||
【パッケージング結果】
|
||||
|
||||
ZIPファイル名: database-design-plugin-v1.0.0.zip
|
||||
|
||||
ディレクトリ構造:
|
||||
database-design-plugin/
|
||||
package.json
|
||||
VERSION
|
||||
MANIFEST.md
|
||||
README.md
|
||||
agents/
|
||||
database-design-agent.md
|
||||
skills/
|
||||
entity-definition-collector/
|
||||
SKILL.md
|
||||
normalization-processor/
|
||||
SKILL.md
|
||||
er-diagram-generator/
|
||||
SKILL.md
|
||||
table-definition-writer/
|
||||
SKILL.md
|
||||
ddl-script-generator/
|
||||
SKILL.md
|
||||
database-naming-conventions/
|
||||
SKILL.md
|
||||
normalization-rules/
|
||||
SKILL.md
|
||||
commands/
|
||||
design-database.md
|
||||
generate-schema.md
|
||||
|
||||
ファイル数: 14個
|
||||
圧縮前サイズ: 125 KB
|
||||
圧縮後サイズ: 35 KB
|
||||
圧縮率: 72%
|
||||
|
||||
パッケージング: 完了
|
||||
```
|
||||
|
||||
**悪い例:**
|
||||
|
||||
```markdown
|
||||
【パッケージング結果】
|
||||
|
||||
ZIPを作った
|
||||
```
|
||||
|
||||
### フェーズ5: 出力
|
||||
|
||||
作成したパッケージを出力し、メタデータを記録する。
|
||||
|
||||
**実施内容:**
|
||||
|
||||
1. 出力先ディレクトリを確認する
|
||||
2. ZIPファイルを出力する
|
||||
3. パッケージ情報を記録する
|
||||
4. 配布用ドキュメントを準備する
|
||||
5. 次のステップを案内する
|
||||
|
||||
**出力先:**
|
||||
|
||||
- デフォルト: `{plugin-directory}/dist/`
|
||||
- カスタム: ユーザー指定のディレクトリ
|
||||
|
||||
**良い例:**
|
||||
|
||||
```markdown
|
||||
【出力結果】
|
||||
|
||||
出力先: D:\projects\database-design-plugin\dist\
|
||||
ZIPファイル: database-design-plugin-v1.0.0.zip
|
||||
ZIPファイルパス: D:\projects\database-design-plugin\dist\database-design-plugin-v1.0.0.zip
|
||||
|
||||
パッケージ情報:
|
||||
- プラグイン名: database-design-plugin
|
||||
- バージョン: 1.0.0
|
||||
- 作成日時: 2025-11-15 10:30:00
|
||||
- ファイル数: 14個
|
||||
- 圧縮後サイズ: 35 KB
|
||||
- ハッシュ値(SHA-256): a1b2c3d4e5f6...
|
||||
|
||||
配布用ドキュメント:
|
||||
- README.md(プラグインの概要、インストール方法、使い方)
|
||||
- CHANGELOG.md(変更履歴)
|
||||
- LICENSE(ライセンス情報)
|
||||
|
||||
【配布方法】
|
||||
|
||||
1. GitHub リリースとして配布
|
||||
- ZIPファイルをアップロード
|
||||
- リリースノートを作成
|
||||
|
||||
2. 手動配布
|
||||
- ZIPファイルを共有
|
||||
- README.md を参照してもらう
|
||||
|
||||
【次のステップ】
|
||||
|
||||
1. パッケージを配布する
|
||||
2. ユーザーにインストール方法を案内する
|
||||
3. フィードバックを収集する
|
||||
|
||||
パッケージング完了: ✓
|
||||
```
|
||||
|
||||
**良い例:**
|
||||
|
||||
出力結果が明確で、パッケージ情報、配布方法、次のステップが案内されている。
|
||||
|
||||
**悪い例:**
|
||||
|
||||
```markdown
|
||||
【出力結果】
|
||||
|
||||
ZIPを作った
|
||||
```
|
||||
|
||||
## アウトプット
|
||||
|
||||
このスキルは以下を生成する:
|
||||
|
||||
- **ZIPファイル**: プラグイン全体をまとめたZIPファイル
|
||||
- **メタデータファイル**: package.json, VERSION, MANIFEST.md
|
||||
- **パッケージ情報レポート**: パッケージの詳細情報(ファイル数、サイズ、ハッシュ値など)
|
||||
|
||||
## 想定されるエラーと対処法
|
||||
|
||||
### エラー1: 必須ファイルが存在しない
|
||||
|
||||
**検出例:**
|
||||
|
||||
```markdown
|
||||
README.md が存在しない
|
||||
```
|
||||
|
||||
**対処法:**
|
||||
|
||||
- README.md を作成する
|
||||
- プラグインの概要、使い方、コマンド一覧を記述する
|
||||
- パッケージングを再実行する
|
||||
|
||||
### エラー2: ファイルが破損している
|
||||
|
||||
**検出例:**
|
||||
|
||||
```markdown
|
||||
entity-definition-collector/SKILL.md が読み込めない
|
||||
```
|
||||
|
||||
**対処法:**
|
||||
|
||||
- ファイルの内容を確認する
|
||||
- ファイルを再生成する
|
||||
- パッケージングを再実行する
|
||||
|
||||
### エラー3: メタデータ生成に失敗
|
||||
|
||||
**検出例:**
|
||||
|
||||
```markdown
|
||||
package.json の生成に失敗した
|
||||
```
|
||||
|
||||
**対処法:**
|
||||
|
||||
- プラグイン名、バージョン、説明が正しいか確認する
|
||||
- メタデータ生成の設定を確認する
|
||||
- 再度メタデータ生成を実行する
|
||||
|
||||
## ベストプラクティス
|
||||
|
||||
- パッケージング前にプラグインを検証する(plugin-validator スキルを使用)
|
||||
- メタデータファイルを必ず含める(package.json, VERSION, MANIFEST.md)
|
||||
- README.md を詳細に記述する(インストール方法、使い方)
|
||||
- CHANGELOG.md を作成する(変更履歴を記録)
|
||||
- LICENSE ファイルを含める(ライセンス情報)
|
||||
- ハッシュ値を記録する(整合性確認用)
|
||||
- 配布用ドキュメントを準備する
|
||||
|
||||
## チェックリスト
|
||||
|
||||
### ファイル収集完了時
|
||||
|
||||
- [ ] プラグインディレクトリが確認されている
|
||||
- [ ] パッケージング対象のファイルが特定されている
|
||||
- [ ] 除外ファイルが確認されている
|
||||
- [ ] ファイルリストが作成されている
|
||||
- [ ] ファイルサイズが集計されている
|
||||
|
||||
### 検証完了時
|
||||
|
||||
- [ ] 必須ファイルの存在が確認されている
|
||||
- [ ] ファイル形式の正当性が確認されている
|
||||
- [ ] フロントマター情報が検証されている
|
||||
- [ ] ファイル内容の完全性が確認されている
|
||||
- [ ] 検証結果がレポートされている
|
||||
|
||||
### メタデータ生成完了時
|
||||
|
||||
- [ ] package.json が生成されている
|
||||
- [ ] VERSION ファイルが生成されている
|
||||
- [ ] MANIFEST.md が生成されている
|
||||
- [ ] ハッシュ値が計算されている(オプション)
|
||||
- [ ] メタデータの妥当性が確認されている
|
||||
|
||||
### パッケージング完了時
|
||||
|
||||
- [ ] ZIPファイル名が決定されている
|
||||
- [ ] ファイルがZIPに追加されている
|
||||
- [ ] ディレクトリ構造が保持されている
|
||||
- [ ] 圧縮レベルが設定されている
|
||||
- [ ] ZIP作成が実行されている
|
||||
|
||||
### 出力完了時
|
||||
|
||||
- [ ] 出力先ディレクトリが確認されている
|
||||
- [ ] ZIPファイルが出力されている
|
||||
- [ ] パッケージ情報が記録されている
|
||||
- [ ] 配布用ドキュメントが準備されている
|
||||
- [ ] 次のステップが案内されている
|
||||
- [ ] ユーザーの承認を得ている
|
||||
|
||||
### 最終確認
|
||||
|
||||
- [ ] ZIPファイルが作成されている
|
||||
- [ ] メタデータファイルが生成されている
|
||||
- [ ] パッケージ情報レポートが作成されている
|
||||
- [ ] すべてのアウトプットが明確で理解しやすい
|
||||
- [ ] ユーザーがパッケージを配布できる状態になっている
|
||||
Reference in New Issue
Block a user