Files
2025-11-30 08:51:41 +08:00

486 lines
12 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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ファイルが作成されている
- [ ] メタデータファイルが生成されている
- [ ] パッケージ情報レポートが作成されている
- [ ] すべてのアウトプットが明確で理解しやすい
- [ ] ユーザーがパッケージを配布できる状態になっている