Install
$ agentstack add skill-giulioco-skills-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
Generate and edit bitmap images from Claude Code by driving Codex's built-in image_gen tool through a one-shot codex exec run.
Why this works (the mechanism)
Codex ships a $imagegen skill with two modes:
- Built-in
image_gentool (this skill uses it) — runs against Codex's own backend using the user's ChatGPT/Codex login (~/.codex/auth.json). NoOPENAI_API_KEYrequired, no per-image API billing. It's the default Codex mode. - CLI fallback (
scripts/image_gen.py) — hits the OpenAI Image API directly, needsOPENAI_API_KEY. This skill does not use it.
The built-in tool is internal to Codex's agent runtime — there is no codex image subcommand. But a headless codex exec "" run can invoke it. The wrapper script builds a tightly-scoped prompt that forces Codex to use only the built-in tool, runs codex exec, then locates the PNG Codex just wrote under $CODEX_HOME/generated_images/ and copies it into the working directory with a clean filename.
Source it wraps: ~/.codex/skills/.system/imagegen/ (Codex's installed skill).
Prerequisites
codexCLI on PATH and logged in (codex login). Verify:codex login statusor just run a generation — the wrapper reports a clear error if Codex isn't authed.- No API key needed. The wrapper explicitly tells Codex not to use the API/CLI fallback.
Usage
The wrapper lives at scripts/codex_imagegen.py (resolve its absolute path relative to this SKILL.md).
Generate
python3 scripts/codex_imagegen.py generate \
--prompt "a minimal hero image of a ceramic coffee mug, soft studio lighting, lots of negative space" \
--out ./hero.png
--outaccepts a file (./hero.png), a directory (./images/→ auto-named from the prompt), or is omitted (lands in cwd, named from a slug of the prompt).-n 3generates 3 distinct images (one built-in call each). With-n>1and a file--out, outputs are suffixed-1,-2,-3.- Existing files are never overwritten unless
--force; otherwise a-v2sibling is written.
Edit an existing local image
python3 scripts/codex_imagegen.py edit \
--image ./photo.png \
--prompt "change the background to a warm sunset gradient; keep the subject unchanged" \
--out ./photo-sunset.png
The wrapper makes Codex load the local file with its built-in view_image tool first, then edit it. Default output (no --out) is -edited.png in cwd.
Output
On success the script prints [codex-imagegen] wrote lines and then the absolute path(s) on their own line(s). Each run takes ~30–90s (it spins up a Codex agent). Report the final path(s) to the user and, when useful, Read the PNG to show it inline.
Prompting guidance
The built-in tool renders well from a structured spec. Shape the user's request into: scene/backdrop → subject → details → constraints, plus intended use for the right polish level.
- Already-detailed prompt → normalize it, don't pad it.
- Generic prompt → add only tasteful, materially-helpful detail (composition, lighting, intended use). Don't invent extra subjects, brands, slogans, or palettes the user didn't imply.
- Quote exact in-image text verbatim and specify placement/typography.
- For edits, state invariants every time: "change only X; keep Y unchanged."
- For many distinct assets, issue separate generations — don't ask for one image "containing" all of them.
Use cases the built-in tool handles well: photorealistic scenes, product mockups, UI mockups, infographics, ads/marketing creatives, logos, illustrations, stylized concept art, and edits (object swap, lighting/weather, background replace, restyle, composite).
Transparent backgrounds
The built-in tool has no native transparency control. For a transparent cutout of a simple opaque subject: generate it on a flat #00ff00 chroma-key background (#ff00ff if the subject is green), then key it out locally with Codex's helper:
python3 "${CODEX_HOME:-$HOME/.codex}/skills/.system/imagegen/scripts/remove_chroma_key.py" \
--input --out \
--auto-key border --soft-matte --transparent-threshold 12 --opaque-threshold 220 --despill
Truly hard cases (hair, fur, glass, smoke, soft shadows) need real transparency, which only the OpenAI-API CLI fallback (gpt-image-1.5 --background transparent) provides — that requires OPENAI_API_KEY and is out of scope for this skill. Tell the user if a request needs it.
When NOT to use
- Vector/SVG icon or logo systems already in the repo — edit those natively.
- Diagrams/wireframes better built deterministically in HTML/CSS/canvas/SVG.
- The user explicitly wants the OpenAI Image API directly with size/quality/fidelity flags — that's Codex's CLI fallback path, not this one.
Troubleshooting
- "codex exec exited non-zero" / auth error → run
codex login. - "Could not find any generated image" → Codex may have declined the prompt or chosen another tool. The wrapper falls back to diffing
$CODEX_HOME/generated_images/before/after the run, so this usually only happens on refusal or a true failure; check the printed Codex output. - Slow → normal; each run boots a Codex agent. Use
--timeoutto extend (default 300s).
## Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- **Author:** [giulioco](https://github.com/giulioco)
- **Source:** [giulioco/skills](https://github.com/giulioco/skills)
- **License:** Apache-2.0
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.