Pre-choice usable artifact execution
execution-contract.md の「6. 通常生成と確認の選択所有」に従う。L1 が確認点の選択を所有し、L2 は通常生成と既存検査を選択前から実行する。
Post-choice selected improvement execution
light / standard / detailed が記録されて semantic_evaluator_started へ進んだ確認点だけ、独立レビューとその指摘に基づく改善を行う。release / exhaustive は別の明示 event を要する。
まとめ HTML
Runtime root contract
実行場所は execution-contract.md の「1. どちらのホストでも同じ呼び方」を正本とし、要点は次のとおり。
runtime_root_policy: host-skill-path を適用する。
- Claude Codeでは
CLAUDE_PLUGIN_ROOT をplugin rootとして使用する。
- Codexではホストが提示したこの
SKILL.md のabsolute pathから、plugin manifestを持つ祖先を上方探索して論理 PLUGIN_ROOT を解決する。
cwd からplugin rootを推測せず、literal placeholderをshellへ渡さない。各shell invocation内で解決済みabsolute pathを PLUGIN_ROOT に設定する。
prompts/ 配下はこのowner Skill契約を継承する。
Purpose & Output Contract
資料フォルダの文書とボード PNG を、先方に渡す 1 ファイルの HTML にまとめる。配色の受け渡しと欠落時の扱いは design-contract.md に従う。
- 先方に渡すのはこの 1 ファイルだけ。画像ははめ込み済みなので、素材フォルダやボードの PNG を一緒に送らなくてよい。ファイルや外部への参照が残ると LOCAL-REF・EXTERNAL-REF で止まり、書かない。
- 左の目次で選んだページが出る。前へ/次へ、拡大、印刷 (1 ボード 1 ページ横向き) に対応し、JavaScript が動かなくても全ページを縦に読める。
- 文書のページ (要件定義・仕様書・ヒアリング・変更点) は、カードや区切りを使ったレポートの形で描く。正本は Markdown のままで、変わるのはまとめ HTML の見た目だけ (validate と /build-app は Markdown を読む)。
- 書くファイルと中身の順は build-briefing-book.mjs の先頭の説明を読む。このスキルはスクリプトを呼ぶだけで、ほかのファイルを書かない。
- 確認の深さを選ぶのと独立レビューは、呼び出し元の run-briefing が持つ。単独で呼ばれたときは結果を見せて終わる。
手順
- まとめる。
node "${PLUGIN_ROOT:-${CLAUDE_PLUGIN_ROOT}}/scripts/build-briefing-book.mjs" --dir "<資料フォルダ>"
- 終了コードで分ける。コードの意味とすることは execution-contract.md の「3. 終了コード」を読む。このスキルで違うのは exit 1 だけ。自分では直さず、
_check/book.json の errors を読み、下の表で直す担当を伝えて止まる。
| book.json の errors | 直す担当 |
|---|
| BRIEFING-JSON (briefing.json が読めない) | 壊れた鍵を書いた担当。pages は run-briefing-boards、palette と data_policy は run-briefing (workflow.md の「出力フォルダ」にある書いてよいスキルの表) |
| TOKENS-MISSING、TOKENS-INVALID | run-briefing (palette を確かめて init を --refresh-css で回し直し、tokens.css を作り直す。そのあと run-briefing-boards の「3. PNG にして検査する」から通し直す。design-contract.md) |
| TEMPLATE-PLACEHOLDER (まとめの雛形が壊れている) | 直さずに plugin の入れ直しを伝えて止まる |
| VERSION-MISMATCH (版が 要件定義.md と 仕様書.md でずれている)、VERSION-MISSING (「版:」の行が無い) | run-briefing-docs (version-up) |
| DOC-MISSING (要件定義.md か 仕様書.md が無い) | run-briefing-docs |
| DOC-MISSING (book.include_hearing が true なのに ヒアリング.md が無い) | run-briefing-hearing |
| PAGES-EMPTY、PAGE-FORMAT、BOARD-MISSING | run-briefing-boards (pages とボード HTML をそろえる) |
| STALE-PNG、PNG-MISSING、PNG-READ、PNG-SIZE、PNG-HASH、BOARD-CHECK-NG | run-briefing-boards (--only で該当ボードの render を通し直す) |
| EXTERNAL-REF (http や // で始まる参照)、LOCAL-REF (ファイルへの参照) | file が head なら _src/tokens.css の参照で run-briefing-boards。ページの id (bNN など) なら、そのページの元を書いたスキル。どちらも参照を消すか data: にする |
--allow-stale は利用者が「古い PNG のままでよい」と言ったときだけ付ける。付けたら報告に必ず書く。
- 報告する。
- まとめ HTML の場所 (先方に渡すのはこれ 1 つ)
- 版、ページ数 (ボードの枚数)、ファイルの大きさ
- 古い PNG と外部参照の結果 (どちらも 0 件のはず)
- ブラウザで開く方法。書き方は execution-contract.md の「ファイル名とパス」を読む (Windows は PowerShell とコマンドプロンプトで違う)
Gotchas
- 先方にこの HTML を渡すのはよい。公開リンクを作るサービスや、関係のない外部のサービスへ上げない。素材の名前と数字をそのまま載せているか (briefing.json の
data_policy) は、表紙の 1 文で分かる。
- まとめ HTML を直接書き換えない。直すのは元の文書かボードで、もう一度まとめる。
- 報告では、スクリプトが返した場所 (stdout の
out) をそのまま使う。
Additional Resources