بنقرة واحدة
run-plugin-package-check
plugin package を出荷前に検査したいとき、PKG-001〜015 gate を一括実行したいときに使う。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
plugin package を出荷前に検査したいとき、PKG-001〜015 gate を一括実行したいときに使う。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
YAML仕様が変わったか確認するとき、公式仕様との差分を確認するときに使う。
北原さん式ナレッジソースの差分を検知したいとき、6カテゴリへ分類・格納してナレッジを同期したいときに使う。
Capability 7 kind を新規作成・更新するとき、CapabilityManifest と plugin-composition.yaml を整備するときに使う。
rubric変更を提案するとき、rubric改正を施行するときに使う。
トリアージで影響ありと判定された spec-drift issue の rubric/schema/template を同期したいとき、propose(read-only)で最小 Edit 差分と pre-image hash を提案し apply で監査 PASS と明示承認後に allowlist 対象だけを適用したいときに使う。
spec-drift issue が起票され diff トリアージが必要なとき、C11 が再構成した issue 単位の完全 diff を hunk 化し name/type/required/enum/semantics 各軸の影響を before/after/evidence 付きで判定して triage-report を出したいときに使う。
| name | run-plugin-package-check |
| description | plugin package を出荷前に検査したいとき、PKG-001〜015 gate を一括実行したいときに使う。 |
| disable-model-invocation | false |
| user-invocable | true |
| argument-hint | <plugin-name> [--phase 0|1|2|all] [--pkg PKG-NNN,...] [--dry-run] |
| arguments | ["plugin","phase","pkg","dry-run"] |
| allowed-tools | ["Read","Write","Glob","Grep","Bash(python3 *)","Bash(bash *)","Bash(claude plugin validate *)","Skill"] |
| model | sonnet |
| kind | run |
| prefix | run |
| effect | local-artifact |
| owner | team-platform |
| since | "2026-05-23T00:00:00.000Z" |
| version | 0.1.0 |
| source | doc/ClaudeCodeスキルの設計書/36-plugin-package-harness-contract.md |
| source-tier | internal |
| last-audited | "2026-05-23T00:00:00.000Z" |
| audit-trigger | quarterly |
| pair | assign-plugin-package-evaluator |
| manifest | workflow-manifest.json |
| responsibility_refs | ["prompts/R1-orchestrate.md","prompts/R2-gate-decide.md"] |
| rubric_refs | ["ref-pkg-contract"] |
| schema_refs | ["schemas/run-report.schema.json","../ref-pkg-contract/schemas/package-contract.schema.json"] |
| script_refs | ["scripts/run-plugin-validate-strict.sh","scripts/smoke-plugin-install.sh","scripts/smoke-plugin-uninstall.sh","scripts/smoke-plugin-upgrade.sh","scripts/sandbox-plugin-lifecycle.py","scripts/validate-plugin-permissions.py","scripts/run-pkg-015.py","scripts/aggregate-pkg-findings.py"] |
| feedback_contract | {"max_iterations":3,"criteria":[{"id":"IN1","loop_scope":"inner","text":"phase に対応する PKG gate を全件評価し pass か not_applicable で確定させ fail が1件でもあれば exit 1 で停止する","verify_by":"script"},{"id":"IN2","loop_scope":"inner","text":"pkg-summary を 27章 §3.1 規約パスへ append-only 保存し run-report スキーマを通過させ verdict.fail>0 のとき pkg_check_failed を1 run 1行だけ emit する","verify_by":"lint"},{"id":"OUT1","loop_scope":"outer","text":"契約適合検査を elegance lint や rubric 採点と責務直交に保ち PKG 定義は ref-pkg-contract に委ね PKG-002〜008/014 は evaluator へ fork 委譲する設計を崩さない","verify_by":"elegant-review"}]} |
36章 Plugin Package Harness Contract の PKG-001〜015 gate を plugin 単位で一括実行する orchestrator。25章 §runbook の Step 5(PKG completeness check)として run-build-skill 直後・run-elegant-review 直前に挟まる。
入力:
plugin: "harness-creator" # 必須
phase: 0 # {0, 1, 2, all}。既定 0。⚠️出荷前検査は必ず --phase all を明示。省略時(=0)は PKG-001〜009 のみ走り 010〜015 が黙って未検査=subset PASS が緑に見える false green。0/1/2 は反復途中の部分検査用
pkg: null # 個別 PKG ID 指定(例: "PKG-010,PKG-013a")。null なら phase 全件
dry_run: false # true なら scripts を呼ばず計画のみ表示
output_dir: "eval-log/<plugin>/" # 既定値、27章 §3.1 規約
出力:
eval-log/<plugin>/pkg-<id>/<YYYY-MM-DD>-<run>.json(各 PKG ID の個別ログ、27章 §3.1)eval-log/<plugin>/pkg-summary/<YYYY-MM-DD>-<run>.json(schemas/run-report.schema.json 準拠)pkg_check_failed failure_mode への observable 配線(fail 時のみ)完了条件:
fail なら exit 1、run-skill-create パイプライン側で停止context: forkpackage_mode: skill-only plugin に対する適用範囲: PKG-002/004 のみ実行、それ以外は not_applicableverdict.fail > 0 のとき pkg_check_failed を .claude/logs/ に 1 行 append(schema は 35章 §observables)dry_run=true でも計画 JSON は出力: 副作用なし、stdout に実行予定 PKG ID 列挙固定手順は書かず、ゴール+チェックリストへ向け都度手順を生成・反復する。正本: ../run-build-skill/references/goal-seek-paradigm.md。
対象 plugin の指定 phase に属する全 PKG gate が pass / not_applicable で確定し、schemas/run-report.schema.json 準拠の pkg-summary JSON と verdict markdown が eval-log/<plugin>/ 配下に保存された状態になっている。
25章 §runbook Step 5(契約適合)として出荷前に PKG-001〜015 を機械検査し、規範採点や elegance lint と直交した「契約準拠」を保証するため。fail を残したまま下流パイプラインへ流すと不整合 package が出荷される。
assign-plugin-package-evaluator へ context: fork で委譲済みeval-log/<plugin>/pkg-<id>/<date>-<run>.json(27章 §3.1)へ append-only 保存したschemas/run-report.schema.json を通過するverdict.fail > 0 のとき pkg_check_failed を .claude/logs/ に 1 行だけ emit した正本 6 ステップ(現状評価→手順生成→実行→検証→Anchor Step→反復、既定 5 周)に従う。未達チェック項目を埋める最短手順をその場で生成する。下記「局面カタログ」は順序固定ではなく、その周回で未達な gate に応じて都度選ぶ。
[Step 0] 入力検証 + package_mode 読込
│
▼
[Step 1] PKG-001 公式 CLI strict validate
│ scripts/run-plugin-validate-strict.sh
▼
[Step 2] PKG-002〜008 委譲
│ Skill(assign-plugin-package-evaluator, target_plugin=<name>, context=fork)
▼
[Step 3] PKG-009 外部参照ゼロ
│ ../../../skill-governance-lint/scripts/lint-external-refs.py --skills-dir plugins/<name>/skills --fail-on-external
▼ (phase >= 1)
[Step 4] PKG-010 install smoke
│ scripts/smoke-plugin-install.sh
▼ (phase >= 2)
[Step 5] PKG-011〜012 smoke
│ smoke-plugin-uninstall.sh / smoke-plugin-upgrade.sh
▼
[Step 6] PKG-013a〜d permission scope
│ scripts/validate-plugin-permissions.py --check 013<a-d>
▼
[Step 7] PKG-014 runtime contract
│ assign-plugin-package-evaluator (delegated, --check pkg-014)
▼
[Step 8] PKG-015 rubric 違反率
│ scripts/run-pkg-015.py --plugin <name> --log-dir eval-log/<name> --out eval-log/<name>/pkg-015/rubric-violation.json
│ (履歴 bootstrap 中は明示 not_applicable、開each 時は fail、それ以外は pass へ正規化)
▼
[Step 9] findings 集約 + observable 配線
│ scripts/aggregate-pkg-findings.py
▼
[Step 10] run-report.json 生成 + verdict markdown 出力
Phase 別の実行 Step は workflow-manifest.json phases[].id 参照。
25章 runbook での位置づけ:
| Step | 役割 | 担当 skill |
|---|---|---|
| 5 | 契約適合: PKG-001〜015 機械検査 | 本 skill |
| 5.5 | 設計 elegance: 30 思考法 × 4 条件 lint | run-elegant-review v2 |
| 6 | 規範採点: rubric 適合度 | assign-skill-design-evaluator |
3 つは責務直交。本 skill は規範ではなく契約準拠を見る。
claude plugin validate コマンド未インストール時は status: skip + skip_reason="claude CLI not found" を残し exit 1 にしない(環境依存差を吸収)--dry-run または専用 sandbox dir を必須化(実装スクリプト側で隔離)PKG-013(a:pass, b:fail, c:pass, d:pass)pkg_check_failed event は集約して 1 件eval-log/<plugin>/ の append-only: 過去ログを上書き禁止(27章 §10 アンチパターン #6 準用)prompts/R1-orchestrate.md — Step 0〜10 の制御プロンプト(R1)prompts/R2-gate-decide.md — phase 別完了判定(R2)schemas/run-report.schema.json — run 全体集約 JSONscripts/run-plugin-validate-strict.sh — PKG-001 公式 CLI ラッパーscripts/smoke-plugin-install.sh — PKG-010 install smokescripts/smoke-plugin-uninstall.sh — PKG-011scripts/smoke-plugin-upgrade.sh — PKG-012scripts/sandbox-plugin-lifecycle.py — PKG-010〜012 を一時 Claude home で実行する決定論 lifecycle harnessscripts/validate-plugin-permissions.py — PKG-013a〜dscripts/run-pkg-015.py — rubric lint の bootstrap/breach を PKG status へ正規化scripts/aggregate-pkg-findings.py — Step 9 集約assign-plugin-package-evaluator (PKG-002〜008, PKG-014)ref-pkg-contract