アプリ・Webサービス・業務ツールの制作を、証拠分析→確定的な初稿→要件定義→体験設計→機能分解→実装→品質ゲート→リリース判定の手順ゲート制で進めるスキル。質問で要件を埋めるのではなく、依頼文・既存コード・資料・ログから最有力案を選び、動く成果物を先に出して差分で改善する。ユーザーが「アプリを作りたい」「ツールを作って」「〜を自動化したい」「システム化したい」「要件定義」「仕様を決めたい」「UI/UXを設計して」「体験を良くしたい」「機能を洗い出して」「MVPを決めたい」「品質チェック」「リリースしていいか判断して」などと言ったら必ず使用する。外部データの取込・マスタ・締め処理を伴う業務システムでは references/data-lifecycle.md も併用する。新規・既存を問わずアプリの制作・改善・リニューアルで使用する。
ref-pkg-contract
36章 PKG-001〜017 と package-contract.json schema を参照するとき、PKG ID の意味・適用 package_mode・eval-log 保存先を判断するときに読む。
インストール方法を見る含まれるファイル(5)
- SKILL.md6.7 KB
- prompts/R1-lookup-pkg.md7.7 KB
- references/pkg-id-catalog.yaml5.6 KB
- references/resource-map.yaml583 B
- schemas/package-contract.schema.json9.5 KB
SKILL.md(原文)
インストールする前に、エージェントに与えられる指示の中身を確認できます。
ref-pkg-contract
Purpose & Output Contract
36章 Plugin Package Harness Contract の PKG-001〜017 ID 表 と package-contract.json JSON Schema を機械可読化した参照専用 skill。run-plugin-package-check(B)と assign-plugin-package-evaluator(C)が同一定義を共有するためのシングルソース。
入力: PKG ID(PKG-001〜015、PKG-013a〜d、PKG-016/017 予約)または package_mode 値(bundle / skill-only)
出力: ID 意味・実装スクリプトパス・適用 package_mode・eval-log 保存先パス・ governance 制約
Key Rules
- 正本は 36章本体: 本 skill は参照便宜のための圧縮表現。意味の正本は
doc/ClaudeCodeスキルの設計書/36-plugin-package-harness-contract.md§PKG-001〜017 一覧。ただし機械処理上は二層正本で、36章本文とreferences/pkg-id-catalog.yamlに齟齬が出た場合は R1-lookup-pkg (CONST_002) が catalog 値を機械可読正本として採用しwarn: catalog_doc_driftを併記する(doc-only 更新で CI を止めないため) - 改廃は 27章 §4.1 governance 経由: 本 skill 単独で PKG ID 表を増減しない(自己制約)
- eval-log パスは 27章 §3.1 規約:
eval-log/<plugin>/pkg-<id>/<YYYY-MM-DD>-<run>.{json,log}。本 skill で再定義しない - schema は外部ファイル:
schemas/package-contract.schema.jsonを一次。本 skill 本文には例示のみ package_mode: skill-onlyは 3 例外限定: legacy / dev-only / migration。それ以外で参照されたら governance escalation- 予約 ID(PKG-016/017)は未確定として扱う: 意味確定前の参照は warn を返す
PKG ID 早見表
| ID | 名称 | 適用 package_mode | 実装スクリプト | Phase |
|---|---|---|---|---|
| PKG-001 | claude plugin validate --strict 通過 | bundle | scripts/run-plugin-validate-strict.sh | 0 |
| PKG-002 | plugin.json frontmatter 完備 | bundle, skill-only | scripts/validate-plugin-package.py --check pkg-002 | 0 |
| PKG-003 | package 単位の名前空間衝突検査 | bundle | scripts/validate-plugin-package.py --check pkg-003 | 0 |
| PKG-004 | SKILL.md frontmatter 完備 | bundle, skill-only | scripts/validate-frontmatter.py | 0 |
| PKG-005 | Agent definition 整合 | bundle | scripts/validate-plugin-package.py --check pkg-005 | 0 |
| PKG-006 | Hook registration 整合 | bundle | scripts/validate-plugin-package.py --check pkg-006 | 0 |
| PKG-007 | script 存在 + 実行可能 | bundle | scripts/validate-plugin-package.py --check pkg-007 | 0 |
| PKG-008 | settings 断片 lint | bundle | scripts/validate-plugin-package.py --check pkg-008 | 0 |
| PKG-009 | 外部参照ゼロ | bundle | scripts/lint-external-refs.py --skills-dir plugins/<plugin>/skills --fail-on-external | 0 |
| PKG-010 | install smoke | bundle | scripts/smoke-plugin-install.sh | 1 |
| PKG-011 | uninstall 完全性 | bundle | scripts/smoke-plugin-uninstall.sh | 2 |
| PKG-012 | upgrade 冪等性 | bundle | scripts/smoke-plugin-upgrade.sh | 2 |
| PKG-013a | tool permissions scope | bundle | scripts/validate-plugin-permissions.py --plugin <name> --check 013a | 2 |
| PKG-013b | filesystem permissions scope | bundle | scripts/validate-plugin-permissions.py --plugin <name> --check 013b | 2 |
| PKG-013c | network permissions scope | bundle | scripts/validate-plugin-permissions.py --plugin <name> --check 013c | 2 |
| PKG-013d | MCP/external permissions scope | bundle | scripts/validate-plugin-permissions.py --plugin <name> --check 013d | 2 |
| PKG-014 | runtime contract 検証 | bundle | scripts/validate-plugin-package.py --check pkg-014 | 2 |
| PKG-015 | rubric 違反率しきい値 | bundle | run-plugin-package-check/scripts/run-pkg-015.py --plugin <name> --log-dir <log-dir> --out <pkg-log> | 2 |
| PKG-016 | 予約(未確定) | - | - | - |
| PKG-017 | 予約(未確定) | - | - | - |
eval-log 保存規約(27章 §3.1 引用)
eval-log/<plugin>/pkg-<id>/<YYYY-MM-DD>-<run>.{json,log}
例: eval-log/harness-creator/pkg-010/2026-05-23-001.json
PKG fail は 35章 pkg_check_failed failure_mode として observable 集約される。
package_mode
package_mode | 適用 PKG ID | 用途 |
|---|---|---|
bundle | PKG-001〜015 全て必須 | 新規量産の既定値 |
skill-only | PKG-002/004 のみ任意適用 | legacy / dev-only / migration の 3 例外限定 |
skill-only 選択時は references/package-contract.json の package_mode_exception に legacy / dev-only / migration のいずれかを記録すること(schema enforced)。公式 CLI が読む .claude-plugin/plugin.json には harness 専用キーを混在させない。
distribution.distributable は Claude marketplace の従来契約。Codex 配布は独立の
codex_distribution で宣言し、marketplace=.agents/plugins/marketplace.json、
source=./plugins/<plugin-name> を使う。製品間で公開可否が異なる場合に、
Claude 側を true へ強制的に引き上げない。Codex projection は
run-codex-plugin-package / sync-plugin-platforms.py が生成・検査する。
Gotchas
- PKG ID 新設禁止: 表に存在しない ID を本 skill で受理しない。governance を通すこと
- PKG-013 は単独存在しない: 必ず 013a/b/c/d の 4 sub-check に展開
skill-onlyでの PKG-001/003/005-015 適用は no-op: skip 扱いではなく適用対象外としてstatus: not_applicableを返す- schema 直接編集禁止:
schemas/package-contract.schema.jsonの変更は P0_breaking。33章 proposal 必須 - PKG-016/017 を実装着手するときは本 skill 表を先に governance 経由で更新
Additional Resources
schemas/package-contract.schema.json—package-contract.jsonの正本 JSON Schemareferences/pkg-id-catalog.yaml— PKG ID メタデータ(severity、適用 phase、依存スクリプト)の機械可読版prompts/R1-lookup-pkg.md— PKG ID 単発参照時の応答テンプレ(R1)- 設計書: 36章(正本)、27章 §3.1/§4.1、34章 Phase 0/1/2、35章 observables
レビュー
まだレビューはありません。使ってみた感想をお寄せください。
同じリポジトリのスキル
概要と使いどころ
Webアプリの準備→要件定義→設計→実装→公開→品質ゲートを実行する内部オーケストレーター。Claude Codeの /build-app /improve-app、Codexの $build-app / $improve-app から明示的に委譲された場合、custom agent起動時、または利用者が $app-orchestrator を明示した場合だけ使用する。一般のアプリ相談から暗黙起動しない。
run-extract-blueprint が生成した章別ブループリントの忠実性を独立 context で評価したいとき、事実/推測区別と粒度と被覆を検証し draft_hash に束縛した PASS/FAIL verdict をローカル品質ゲート (C01 の周回内の受入判定・差し戻し) へ渡したいときに使う。
確認点で利用者が見る深さを選んだあと打ち合わせ資料を作り手とは別の目で確かめたいとき、正確さ・言葉・見た目・シンプルさの指摘を資料の編集なしで受け取りたいときに使う。
生成した handout 資料が初心者に伝わるか読みやすさレビューを依頼したいとき、独立 context のレビュアーから指摘と根拠つきの verdict を回収したいときに使う。
Notion ページを描画する直前に粒度を検証したいとき、info-collector-agent ページと同等の section 充足度を section_canonical_map 基準で機械検証したいときに使う。