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

12 KiB
Raw Permalink Blame History

name, description
name description
plugin-packager 生成したプラグインを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 に記載されたファイル

良い例:

【ファイル収集結果】

プラグイン名: 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

悪い例:

【ファイル収集結果】

何かファイルを集めた

フェーズ2: 検証

収集したファイルの完全性を検証する。

実施内容:

  1. 必須ファイルの存在を確認する
  2. ファイル形式の正当性を確認する
  3. フロントマター情報を検証する
  4. ファイル内容の完全性を確認する
  5. 検証結果をレポートする

検証項目:

  • README.md が存在するか
  • 全ての AGENT.md, SKILL.md, COMMAND.md が正しく読み込めるか
  • フロントマター情報が正しくパースできるか
  • 必須フィールドname, descriptionが存在するか
  • ファイル内容が破損していないか

良い例:

【検証結果】

必須ファイル: ✓ OK
- ✓ README.md が存在する

ファイル形式: ✓ OK
- ✓ 全てのファイルが正しく読み込める11個

フロントマター: ✓ OK
- ✓ 全てのフロントマターが正しくパースできる10個
- ✓ 必須フィールドname, descriptionが全て存在する

ファイル内容: ✓ OK
- ✓ 全てのファイルが破損していない

検証: 合格

悪い例(問題がある場合):

【検証結果】

必須ファイル: ✗ 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: ファイルのハッシュ値(オプション)

良い例:

【メタデータ生成結果】

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ファイル

メタデータ生成: 完了

悪い例:

【メタデータ生成結果】

何か作った

フェーズ4: パッケージング

収集したファイルとメタデータをZIP形式にまとめる。

実施内容:

  1. ZIPファイル名を決定する
  2. ファイルをZIPに追加する
  3. ディレクトリ構造を保持する
  4. 圧縮レベルを設定する
  5. ZIP作成を実行する

パッケージング設定:

  • ファイル名形式: {plugin-name}-v{version}.zip
  • 圧縮レベル: 標準balance between size and speed
  • ディレクトリ構造: 保持する
  • ルートディレクトリ: プラグイン名のディレクトリを作成

良い例:

【パッケージング結果】

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%

パッケージング: 完了

悪い例:

【パッケージング結果】

ZIPを作った

フェーズ5: 出力

作成したパッケージを出力し、メタデータを記録する。

実施内容:

  1. 出力先ディレクトリを確認する
  2. ZIPファイルを出力する
  3. パッケージ情報を記録する
  4. 配布用ドキュメントを準備する
  5. 次のステップを案内する

出力先:

  • デフォルト: {plugin-directory}/dist/
  • カスタム: ユーザー指定のディレクトリ

良い例:

【出力結果】

出力先: 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. フィードバックを収集する

パッケージング完了: ✓

良い例:

出力結果が明確で、パッケージ情報、配布方法、次のステップが案内されている。

悪い例:

【出力結果】

ZIPを作った

アウトプット

このスキルは以下を生成する:

  • ZIPファイル: プラグイン全体をまとめたZIPファイル
  • メタデータファイル: package.json, VERSION, MANIFEST.md
  • パッケージ情報レポート: パッケージの詳細情報(ファイル数、サイズ、ハッシュ値など)

想定されるエラーと対処法

エラー1: 必須ファイルが存在しない

検出例:

README.md が存在しない

対処法:

  • README.md を作成する
  • プラグインの概要、使い方、コマンド一覧を記述する
  • パッケージングを再実行する

エラー2: ファイルが破損している

検出例:

entity-definition-collector/SKILL.md が読み込めない

対処法:

  • ファイルの内容を確認する
  • ファイルを再生成する
  • パッケージングを再実行する

エラー3: メタデータ生成に失敗

検出例:

package.json の生成に失敗した

対処法:

  • プラグイン名、バージョン、説明が正しいか確認する
  • メタデータ生成の設定を確認する
  • 再度メタデータ生成を実行する

ベストプラクティス

  • パッケージング前にプラグインを検証するplugin-validator スキルを使用)
  • メタデータファイルを必ず含めるpackage.json, VERSION, MANIFEST.md
  • README.md を詳細に記述する(インストール方法、使い方)
  • CHANGELOG.md を作成する(変更履歴を記録)
  • LICENSE ファイルを含める(ライセンス情報)
  • ハッシュ値を記録する(整合性確認用)
  • 配布用ドキュメントを準備する

チェックリスト

ファイル収集完了時

  • プラグインディレクトリが確認されている
  • パッケージング対象のファイルが特定されている
  • 除外ファイルが確認されている
  • ファイルリストが作成されている
  • ファイルサイズが集計されている

検証完了時

  • 必須ファイルの存在が確認されている
  • ファイル形式の正当性が確認されている
  • フロントマター情報が検証されている
  • ファイル内容の完全性が確認されている
  • 検証結果がレポートされている

メタデータ生成完了時

  • package.json が生成されている
  • VERSION ファイルが生成されている
  • MANIFEST.md が生成されている
  • ハッシュ値が計算されている(オプション)
  • メタデータの妥当性が確認されている

パッケージング完了時

  • ZIPファイル名が決定されている
  • ファイルがZIPに追加されている
  • ディレクトリ構造が保持されている
  • 圧縮レベルが設定されている
  • ZIP作成が実行されている

出力完了時

  • 出力先ディレクトリが確認されている
  • ZIPファイルが出力されている
  • パッケージ情報が記録されている
  • 配布用ドキュメントが準備されている
  • 次のステップが案内されている
  • ユーザーの承認を得ている

最終確認

  • ZIPファイルが作成されている
  • メタデータファイルが生成されている
  • パッケージ情報レポートが作成されている
  • すべてのアウトプットが明確で理解しやすい
  • ユーザーがパッケージを配布できる状態になっている