Origin Image Gen
画像生成の実行機構とプロンプトの器を持つ。窓口は完結している — 組み立て・実行・回収・完了判定を 1つの入口の中でやり切る。呼び出し側の規律に依存しないのが設計の要点で、既知の罠4つ (手回収・stale 誤判定・並列競合・stdin ハング)は窓口の内側で塞ぐ。
この skill が持つもの・持たないもの
| 持つ | 持たない | |
|---|---|---|
| プロンプト | 器(10フィールドの固定順序・公式スキーマ準拠) | 中身の値(Style・配色・House structure の実値) |
| 実行 | 安全モード・コマンド解決・stdin・サンドボックス | 生成の要否判断 |
| 回収 | session id 起点の探索・完了判定3原則 | 生成物の配置・命名の取り決め |
| 失敗 | 枚数不足で停止(救済しない) | 不足分を別手段で埋めること |
中身の値は2軸から来る — ブランド軸(そのサービスの意匠)と媒体軸(その媒体の適合規約)。 どちらも本 skill の外にある。本 skill に値をハードコードしない。
同梱物
| パス | 役割 | いつ使うか |
|---|---|---|
| scripts/image_gen.py | 窓口(組み立て→実行→回収→完了判定) | 毎回。手で組まない |
| scripts/collect_codex_images.py | session id 起点の回収 | 窓口が呼ぶ |
| scripts/check_shell_parity.py | 器の骨(ラベルと順序)の同値検査 | 器を触ったとき |
| scripts/check_script_parity.py | 二重コピーのバイト一致検査 | 回収スクリプトを触ったとき |
| references/prompt-shell.md | 器の詳細とスタイルアンカーの渡し方 | 器を埋めるとき |
| references/execution.md | 実行機構・罠・完了判定3原則 | 実行が思ったとおりに動かないとき |
| references/caller-contract.md | 呼び出し規約(工場から)と単発利用手順 | 呼ぶ側を書くとき |
プロンプトの器 — 10フィールドの固定順序
公式スキーマに従い、この順序のラベル付き短文ブロックで組む(長い一段落にしない)。
Use case: <infographic-diagram | ui-mockup | productivity-visual 等の分類>
Asset type: <illustration / icon / background / full mockup とアスペクト比>
Style references: <スタイルアンカー画像(edit-mode で渡す)>
Style: <呼び出し側が渡すスタイル記述を逐語貼付>
House structure: <呼び出し側が渡すハウススタイル構造>
Composition: <図解デバイスの指示(内容と候補を渡し、選択はモデルに委ねる)>
Content: <この1枚の固有の内容>
Color palette: <hex と言語表現の両方>
Constraints: <テキスト量・余白・アスペクト比等>
Avoid: <負の制約。毎回必ず付ける>
- 用途宣言(Use case / Asset type)を必ず先頭に。 モデルの「モード」と仕上げ水準が決まる。
- **反復修正は「1ターン1変更」**とし、変えない要素を毎回明示的に再宣言する(ドリフト防止)。
- 器の詳細と根拠は references/prompt-shell.md。
手順
- 呼び出し側から フィールド値(10項目)+ 出力名リスト + 任意のアンカー画像パス を受け取る。
scripts/image_gen.pyに渡す。窓口が 組み立て → 実行 → 回収 → 完了判定 を通す。- 成果物パスのリストを受け取る。組み立て済みプロンプトと実行ログが成果物と同じ場所に残る。
- exit≠0 なら成果物は使わない。 枚数不足・回収失敗はすべて exit≠0 で、窓口は不足を埋めない。
実行機構の詳細(安全モード・コマンド解決・保存先の罠・完了判定3原則)は references/execution.md。
やってはいけないこと
- プロンプトに「Xとして保存して」と書いて、それを保存の証拠にする。 保存先は指示に従わない。 生成 → 探索 → コピー を必ずワンセットで扱う(references/execution.md の保存先の罠)。
--dangerously-bypass-approvals-and-sandboxを使う。 安全モードで image_gen は正常動作する。 このフラグは窓口が組み立てるコマンドに現れてはならず、それを検査で守っている。- 生成数が出力名数に足りないとき、不足を別手段で埋める。 停止して報告する。 埋めると「成功に見えて中身が違う」になる。
- 旧成果物が残った状態で成功と判定する。 実行前に
.staleへ退避し、回収できなければ 旧ファイルを成果物パスとして返さない。 - 器のフィールド順を変える・ラベルを言い換える。 順序が仕上げ水準を決める。
器のラベルと順序は検査で守っている(
scripts/check_shell_parity.py)。 - 本 skill に特定媒体・特定ブランドの値を書く。器と機構だけを持つ。