# Origin Image Gen

> 画像アセットを生成する完結した窓口。フィールド値と出力名リストを渡すと、プロンプトの組み立て → Codex image_gen の実行 → 生成物の回収 → 完了判定 まで通して成果物パスのリストを返す。 必ず使うこと: イラスト・アイコン・背景・モックアップ画像を生成する時、「画像を作って」 「イラストを生成して」「アイコンを作って」と言われた時、工場 skill（origin-web-design 等）の アセット生成工程。生成の指示だけを書いて実行と回収を呼び出し側に任せてはいけない — それが「画像は生成されているのに期待した場所に無い」を2度起こした形。 使わない場面: 既存画像の検索・選定（本 skill は生成のみ）／生成後のアセット管理・命名・配置の 取り決め（呼び出し側の工場が持つ）／特定媒体に固有の後処理（各媒体の工場が持つ）／ スタイルや配色そのものの決定（ブランド倉庫と媒体規約が持つ。本 skill は器と実行機構だけ）。

- Skill: `aki2022/origin-image-gen` (Agent Skill, multi-file: 11 files)
- Install (CLI): `npx skillmds@latest add aki2022/origin-image-gen`
- Raw SKILL.md: https://api.skillmd.com/api/skills/aki2022/origin-image-gen/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: Aki2022 (https://skillmd.com/u/aki2022)
- Updated: 2026-09-10
- Page: https://skillmd.com/skills/aki2022/origin-image-gen

---


# 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。

## 手順

1. 呼び出し側から フィールド値（10項目）＋ 出力名リスト ＋ 任意のアンカー画像パス を受け取る。
2. `scripts/image_gen.py` に渡す。窓口が 組み立て → 実行 → 回収 → 完了判定 を通す。
3. 成果物パスのリストを受け取る。組み立て済みプロンプトと実行ログが成果物と同じ場所に残る。
4. **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 に特定媒体・特定ブランドの値を書く。器と機構だけを持つ。

