Codex imagegen
45 production-grade AI agent skills for real dev workflows. Code review, shipping, docs, git. Works with any skill-compatible agent.
npx -y skills add mgiovani/cc-arsenal --skill codex-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
- 6 stars6 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
Generates images and polished raster art (logos, mascots, hero images, icons, characters, sprite sheets, illustrations, product mockups) by driving Codex CLI's $imagegen skill. This is the default image generator, use it for any request to generate or create an image or visual asset, including "generate an image", "create a hero image", "make a mascot", "design a logo", "draw an icon", "generate a sprite sheet", or "make an illustration". Requires the `codex` CLI installed and authenticated (ChatGPT or API-key auth). Not for architecture, flow, or sequence diagrams (use docs-diagram).
SKILL.md
8.8 KB, as published. Nobody here has run it
Codex Imagegen: Illustrated Asset Generation via Codex CLI
Generate polished, professionally-illustrated raster art (mascots, hero images, logos, sprite sheets, product mockups) by driving Codex CLI's $imagegen skill. Use this instead of hand-drawing shapes in SVG/CSS/SwiftUI when the asset needs to look designed, not programmatically constructed.
Scope check (do this first)
This skill wraps a multi-minute, credit-billed Codex run and is the default handler for image-generation requests:
- Architecture/flow/sequence diagram → tell the user to use
docs-diagraminstead and stop here. - Otherwise, continue: the cost gate in Phase 2 decides whether to confirm before running.
Ground rules
- Single-quote the whole prompt.
$imagegenmust reachcodexliterally, not be shell-expanded: a double-quoted or unquoted prompt containing$imagegenbreaks. - Never fabricate a model ID.
gpt-5.6-solis this recipe's known-good default at time of writing; ifcodexrejects it, checkcodex --version/codex exec --helpfor a current one rather than guessing a replacement. - Never claim chroma removal or file output succeeded without viewing the pixels.
sips hasAlpha: yesproves nothing; open the PNG. - Stop before an expensive run and confirm when the brief is a batch (multiple assets), a consistency-critical asset (recurring character/mascot), or explicitly says "final"/"official": this is real spend and multi-minute wall-clock time, not a free retry.
Phase 1: Environment check
codex --version
- Not found → tell the user to install Codex CLI and stop.
- Version older than 0.144 →
gpt-5.6-solwill 400 with "requires a newer version"; tell the user to upgrade before continuing. See references/troubleshooting.md for the auth/version gotcha table. - Run from the target repo's root so codex's relative move-file paths land in the right workspace.
Phase 2: Gather the brief and budget effort
Mine the request for: subject, purpose (README hero, app mascot, icon set, sprite sheet), style, exact save path(s), and whether transparency is required.
Pick model_reasoning_effort:
| Ask | Effort |
|---|---|
| Official mascot, multi-image character consistency, intricate composition | xhigh |
| Basic placeholder art, single simple asset, low-stakes draft | high or lower |
xhigh burns significant tokens/credits: don't default to it. If unclear which bucket the request falls in, ask.
Confirm before running when this is a batch, a consistency-critical/official asset, or the user said "final": state the design brief, model, effort, exact output paths, and estimated run length (minutes) and get a go-ahead before invoking. For a single obvious low-stakes placeholder, proceed straight to Phase 3.
Phase 3: Invoke
Run from the workspace root, prompt single-quoted, non-interactive:
codex exec --full-auto -m gpt-5.6-sol -c model_reasoning_effort="<xhigh|high>" \
'Use the $imagegen skill to create <asset>. <detailed design brief — subject,
style, composition, palette, "transparent background" if needed>.
Move the final PNGs into the workspace at these exact paths: <path1>, <path2>.'
If transparency is required, say so explicitly in the brief ("transparent background"): the skill's built-in flow handles chroma-key removal on its own; don't ask for it as a separate step.
For a consistent character across multiple images, put the full shared design brief in every asset's prompt, and generate pose/mood variants as edits of the first approved image rather than independent generations: one built-in image_gen call per asset is the skill's own rule, so batches are sequential, not parallel.
Phase 4: Run it in the background, don't pipe the output
codex exec has no background flag, background it yourself and never pipe through tail/head (the pipe buffers everything until exit, so nothing streams while it runs):
codex exec --full-auto -m gpt-5.6-sol -c model_reasoning_effort="high" \
-o /tmp/codex-imagegen-final.md \
'...' > /tmp/codex-imagegen-run.log 2>&1 &
-o final.mdcaptures just the final summary.- Poll
/tmp/codex-imagegen-run.logfor progress; a multi-asset brief can run for many minutes (sequential generation + edit chains + chroma removal + reasoning between steps). - File presence in the target paths is not "done." Assets can appear incrementally before the run finishes (chroma removal/verification still pending): wait for the process to exit before treating the run as complete.
- After exit,
catthe-ooutput file for the summary and verify the promised paths actually exist (ls).
Phase 5: QC every asset
Open each PNG before wiring it into anything:
- Transparent background actually transparent (not just alpha-flagged): check by viewing the image, not by trusting a metadata field.
- Edges clean, no chroma-key spill (a pink/magenta or green fringe around the subject).
- Consistent character/style across a batch.
Codex can claim chroma removal succeeded while the key color is still visibly there: never report success on the CLI's word alone.
Notes
- Chroma-key flow: the built-in
image_gentool has no native alpha, so the skill generates on a flat chroma-key background then strips it locally. Never pass--despill/--spill-cleanupon pink/magenta-family subject art: despill desaturates those colors toward gray. - True native alpha (no chroma-key step) needs the CLI fallback (
gpt-image-1.5 --background transparent) plusOPENAI_API_KEY: codex will ask before downgrading to it; don't force it. - ChatGPT-account auth rejects API-only models; if
-m gpt-5.6-solfails on an auth error rather than a version error, see references/troubleshooting.md. - Regenerating with the same output filenames is cheap; re-integrating a bad asset into the app isn't: favor a re-run over shipping a QC failure.
- If a chroma removal comes out visibly wrong, don't just report failure: the raw generation and the fix procedure are in references/troubleshooting.md (load it when you actually hit this).
Worked examples
1. Single placeholder icon (low stakes, no confirmation gate)
$ codex --version → codex-cli 0.146.0
Effort: high (basic placeholder, single asset) — proceeding without a confirm gate.
$ codex exec --full-auto -m gpt-5.6-sol -c model_reasoning_effort="high" \
-o /tmp/codex-imagegen-final.md \
'Use the $imagegen skill to create a minimalist gear icon, flat vector style,
single accent color on transparent background. Move the final PNG to
assets/icons/gear.png.' > /tmp/codex-imagegen-run.log 2>&1 &
[poll log until process exits]
$ ls assets/icons/gear.png → found
[open assets/icons/gear.png — background transparent, edges clean]
Done: assets/icons/gear.png
2. Official mascot, transparency-critical (confirmation gate + chroma QC)
Brief: official product mascot, xhigh effort (consistency-critical), transparent
background, 3 pose variants, saves to assets/mascot/{idle,wave,jump}.png.
Estimated run: several minutes across 3 sequential generations. Proceed? (yes/no)
[user: yes]
$ codex exec --full-auto -m gpt-5.6-sol -c model_reasoning_effort="xhigh" \
-o /tmp/codex-imagegen-final.md \
'Use the $imagegen skill to create <full shared mascot design brief>, idle pose,
transparent background. Move the final PNG to assets/mascot/idle.png.' \
> /tmp/codex-imagegen-run.log 2>&1 &
[wait for exit, then generate wave/jump as edits of the approved idle.png]
[open each PNG] idle.png: clean alpha, no spill. wave.png: faint magenta fringe
on the left arm — chroma removal didn't fully clear. Re-running wave.png only
before shipping.
3. Scope-check redirect (not this skill's job)
User: "draw an architecture diagram of our microservices"
This is a diagram, not an illustrated raster asset — use the docs-diagram
skill instead. Stopping here.
Reference Files
references/troubleshooting.md: version/auth gotcha table, manual chroma-key recovery procedure. Load when a version/auth error blocks Phase 1, or a chroma removal needs a manual fix after Phase 5.