From giulioco-skills
Generates and edits raster images via Codex's built-in image_gen tool, driven headlessly through codex exec. No API key needed — billed through the user's ChatGPT/Codex login.
How this skill is triggered — by the user, by Claude, or both
Slash command
/giulioco-skills:codex-imagegenThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Generate and edit bitmap images from Claude Code by driving **Codex's built-in `image_gen` tool** through a one-shot `codex exec` run.
Generate and edit bitmap images from Claude Code by driving Codex's built-in image_gen tool through a one-shot codex exec run.
Codex ships a $imagegen skill with two modes:
image_gen tool (this skill uses it) — runs against Codex's own backend using the user's ChatGPT/Codex login (~/.codex/auth.json). No OPENAI_API_KEY required, no per-image API billing. It's the default Codex mode.scripts/image_gen.py) — hits the OpenAI Image API directly, needs OPENAI_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 "<prompt>" 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).
codex CLI on PATH and logged in (codex login). Verify: codex login status or just run a generation — the wrapper reports a clear error if Codex isn't authed.The wrapper lives at scripts/codex_imagegen.py (resolve its absolute path relative to this SKILL.md).
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
--out accepts 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 3 generates 3 distinct images (one built-in call each). With -n>1 and a file --out, outputs are suffixed -1, -2, -3.--force; otherwise a -v2 sibling is written.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 <name>-edited.png in cwd.
On success the script prints [codex-imagegen] wrote <path> 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.
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.
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).
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 <source.png> --out <final.png> \
--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.
codex login.$CODEX_HOME/generated_images/ before/after the run, so this usually only happens on refusal or a true failure; check the printed Codex output.--timeout to extend (default 300s).Guides completion of development work by verifying tests, detecting environment, and presenting structured options for merge, PR, or cleanup.
Guides creation and editing of skills using test-driven development with pressure scenarios and subagents to verify agent compliance.
Dispatches multiple subagents concurrently for independent tasks without shared state. Use when facing 2+ unrelated failures or subsystems that can be investigated in parallel.
npx claudepluginhub giulioco/skills