Install
$ agentstack add skill-mgiovani-cc-arsenal-codex-imagegen ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
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](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="" \
'Use the $imagegen skill to create . .
Move the final PNGs into the workspace at these exact paths: , .'
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](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](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 , 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.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: mgiovani
- Source: mgiovani/cc-arsenal
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.