Delegate imagegen
delegate-skills — Offload implement / investigate / git tasks to cheaper models. File-based md2idx protocol keeps the main agent's context lean.
npx -y skills add oubakiou/delegate-skills --skill delegate-imagegenAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
画像生成 capability を持たない requester から、画像生成 capability を持つ Codex 子プロセスへ画像生成・画像編集作業を委譲するスキル。 ユーザーが画像、イラスト、写真風ビジュアル、バナー、サムネイル、アイコン案、テクスチャ、モック画像などの生成や編集を求め、 main agent 側で画像生成手段を直接使えない、またはプロンプト試行錯誤・生成パラメータ・失敗ログを隔離したい場合に使う。 主目的は token cost 削減ではなく capability bridge と context isolation。DELEGATE_IMAGEGEN_MODEL で Codex モデルを切り替える。 imagegen の作業を委譲する場合は、この skill を使う。generic な subagent で代替しない。
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
10.3 KB, as published. Nobody here has run it
delegate-imagegen
画像生成・画像編集を Codex 子プロセスへ委譲する。task_type=imagegen、既定モデル gpt-5。他 delegate と同じモデル解決を使うが、画像生成 capability bridge のため実行系は gpt* → Codex のみに限定し、Claude パスは使わない。
スクリプトパス
- Claude Code:
skill_dir=.claude/skills/delegate-imagegen - Codex:
skill_dir=.agents/skills/delegate-imagegen
以降のコマンド例は Claude Code の .claude/skills/delegate-imagegen を使う。Codex で使う場合は、同じ相対構造の .agents/skills/delegate-imagegen に読み替える。
モデル価格参照
コスト分析・単価比較が必要な場合のみ、<skill_dir>/model-token-prices.json を読む。このデータは参照用であり、delegate の起動可否判定には使わない。
委譲する前に
この skill は、main agent が画像生成 capability を持たない場合、または画像生成に関する試行錯誤を worker 側へ隔離したい場合に使う。ユーザーが求める成果物が SVG / HTML / CSS / canvas / 既存デザインシステム内のコードで表現する方が適切なら、この skill ではなく通常の実装・編集として扱う。
ユーザーから出力先の明示がない場合、worker には DELEGATE_IMAGEGEN_OUTPUT_DIR の既定出力先へ保存させる。既存画像を編集する場合は、対象ファイルパス、保持すべき要素、変更点、許容されるスタイル変更を request に明記する。
実行フロー(one-shot)
- リクエスト作成: Objective / Scope / Context / Acceptance criteria / Verification / Constraints の Markdown を stdin で渡す。出力先指定がなければ Constraints に
DELEGATE_IMAGEGEN_OUTPUT_DIRの既定出力先を使う旨を書く。既存画像を編集する場合は、対象ファイルパス、保持すべき要素、変更点、許容されるスタイル変更を request に明記する。DELEGATE_IMAGEGEN_MODELは effort suffix に対応しない。@付きモデルは prepare が exit 6 で fail-closed する。
- 実行:
out="$(printf '%s' "$req_md" | bash .claude/skills/delegate-imagegen/scripts/run-imagegen.sh "$PARENT_TASK_TYPE_CHAIN" "$REQUESTER_SESSION_ID")"(top-level 起動なら$PARENT_TASK_TYPE_CHAINは空でよい)。- run-imagegen は内部で prepare-imagegen → delegate-imagegen-codex → read-response を順に実行し、stdout は成功・失敗とも単一 JSON(
exit_code/status/content/content_truncated/response_file/observe_file/run_dir)を返す。 - selector 省略時の既定は
auto。 - exit code は内部スクリプトを透過する。exit 3=前提不足 / exit 4=委譲サイクルなら中止する。exit 6 の場合は、許容値列挙を含む stderr の 1 行をそのままユーザーへの説明に使う。
- run-imagegen は dispatch 前に
observe_file: <path>を stderr へ先出しする。強制終了時はその path を復旧経路にする。 - 非対話モードの親(
claude -p等)では run-imagegen を必ずフォアグラウンドで実行し、委譲所要時間より長い Bash timeout(Claude Code ならBASH_DEFAULT_TIMEOUT_MS/BASH_MAX_TIMEOUT_MSまたは Bash tool の timeout 引数)を設定する。
- run-imagegen は内部で prepare-imagegen → delegate-imagegen-codex → read-response を順に実行し、stdout は成功・失敗とも単一 JSON(
- レスポンス消費と検証:
status="$(printf '%s' "$out" | bash .claude/skills/delegate-imagegen/scripts/read-json.sh .status)"/content="$(printf '%s' "$out" | bash .claude/skills/delegate-imagegen/scripts/read-json.sh .content)"を読む。content_truncatedがtrueならresponse_file="$(printf '%s' "$out" | bash .claude/skills/delegate-imagegen/scripts/read-json.sh .response_file)"を取り出し、bash .claude/skills/delegate-imagegen/scripts/read-response.sh "$response_file" <N>で Generated files / Verification / Blockers など必要 section だけ段階読みする。読了後、worker の本文を再要約しない。main のユーザー向け応答は生成ファイル一覧と短い結果だけに留める。Generated filesのパスが存在することを main 側で確認し、必要に応じて画像ファイルを開いて Acceptance criteria と明らかに矛盾しないか確認する。
高度なフロー(個別スクリプト)
dispatch 中の observe 監視、background 実行など、途中で親の判断を挟むフローでは従来の個別スクリプトを使う。
- 準備: Objective / Scope / Context / Acceptance criteria / Verification / Constraints の Markdown を stdin で渡す。出力先指定がなければ Constraints に
DELEGATE_IMAGEGEN_OUTPUT_DIRの既定出力先を使う旨を書く。exit 3=前提不足 / exit 4=委譲サイクルなら中止。DELEGATE_IMAGEGEN_MODELは effort suffix に対応しない。@付きモデルは prepare が exit 6 で fail-closed する。out="$(printf '%s' "$req_md" | bash .claude/skills/delegate-imagegen/scripts/prepare-imagegen.sh "$PARENT_TASK_TYPE_CHAIN" "$REQUESTER_SESSION_ID")"(top-level 起動なら$PARENT_TASK_TYPE_CHAINは空でよい)model="$(printf '%s' "$out" | bash .claude/skills/delegate-imagegen/scripts/read-json.sh .model)"/request_file="$(printf '%s' "$out" | bash .claude/skills/delegate-imagegen/scripts/read-json.sh .request_file)"/response_file="$(printf '%s' "$out" | bash .claude/skills/delegate-imagegen/scripts/read-json.sh .response_file)"/run_dir="$(printf '%s' "$out" | bash .claude/skills/delegate-imagegen/scripts/read-json.sh .run_dir)"/observe_file="$(printf '%s' "$out" | bash .claude/skills/delegate-imagegen/scripts/read-json.sh .observe_file)"
- 実行系分岐:
modelがgpt*:bash .claude/skills/delegate-imagegen/scripts/delegate-imagegen-codex.sh "$model" "$request_file" "$response_file" "$run_dir" "$observe_file"。非対話モードの親(claude -p等)では子プロセス起動を必ずフォアグラウンドで実行し、委譲所要時間より長い Bash timeout(Claude Code ならBASH_DEFAULT_TIMEOUT_MS/BASH_MAX_TIMEOUT_MSまたは Bash tool の timeout 引数)を設定する。実行中の通常監視はobserve_fileからstate.phase/state.started_at/heartbeat.ts/heartbeat.stdout_bytes/heartbeat.stderr_bytes/heartbeat.last_stream_change_atだけを read-json.sh で読む。state.phaseはprepared | running | superseded | stalled | ended。prepared/supersededは dispatch されなかった observe(state.started_at == null、usageは未設定で read-json.sh では null 相当)なので、usage を集計する場合は分母から除外する。- それ以外: 画像生成 capability bridge として扱えないため中止する
- レスポンス読み取り:
bash .claude/skills/delegate-imagegen/scripts/read-response.sh "$response_file" auto。autoが大きな response と判定した場合は status + index + Summary section を返すので、Generated files / Verification / Blockers など必要 section だけ... "$response_file" <N>で追加取得する。読了後、worker の本文を再要約しない。main のユーザー向け応答は生成ファイル一覧と短い結果だけに留める。 - 検証フェーズ:
Generated filesのパスが存在することを main 側で確認する。必要に応じて画像ファイルを開いて、Acceptance criteria と明らかに矛盾しないか確認する。
待ち時間の隠蔽(対話親向け)
対話親では delegate-imagegen-codex.sh(または run-imagegen.sh)を background で実行し、observe_file の state.phase / heartbeat を確認して ended 後に read-response.sh する運用で体感待ち時間を隠蔽できる。総所要時間(wall time)は変わらない体感改善であり、非対話モードの親では従来どおりフォアグラウンド実行必須。
Worker report
worker の report Markdown は次の見出しを基本にする。
Summary: 生成・編集結果の短い説明Generated files: 作成・更新した画像ファイルのパスParameters: 使用したプロンプト、サイズ、枚数、参照画像、重要な生成条件Verification: ファイル存在確認、目視確認、失敗時の再試行内容Blockers: 生成不能・入力不足・安全上の制約・ツール不在
制約
DELEGATE_IMAGEGEN_MODEL→gpt-5の順でモデル解決する- Codex 限定で起動する。
gpt*以外に解決された場合は Claude パスへ落とさず中止する - ユーザーに画像生成モデル選択を求めない。必要な場合は環境変数で運用側が切り替える
- 出力先が明示されていなければ
DELEGATE_IMAGEGEN_OUTPUT_DIRの既定出力先に保存する - task_type_chain 内種別への再委譲はしない(別種別 delegate は可)
- main は worker の試行錯誤ログを echo / 再要約しない。生成ファイル一覧と短い結果だけを返す