Initial commit

This commit is contained in:
Zhongwei Li
2025-11-30 08:51:41 +08:00
commit e19586cfce
31 changed files with 7129 additions and 0 deletions

View 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ファイルが作成されている
- [ ] メタデータファイルが生成されている
- [ ] パッケージ情報レポートが作成されている
- [ ] すべてのアウトプットが明確で理解しやすい
- [ ] ユーザーがパッケージを配布できる状態になっている