agentsclimarketplace

Codex image

Skill zeikar/dotfiles/claude/.claude/skills/codex-image

Generate images via Codex CLI's built-in `image_generation` tool (`codex exec`), single or many in parallel. Use when the user wants images from codex, or batch/parallel image generation.From its SKILL.md

Install
npx -y skills add zeikar/dotfiles --skill codex-image

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things 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.
  • runs commandsInstructs the agent to run 7 commands, including `codex --version` and 6 more.

SKILL.md

4.4 KB, ~1.0k tokens by cl100k_base, as published. Nobody here has run it

Codex Image Generation

Drive Codex CLI's built-in image_generation tool non-interactively with codex exec. The point of this skill is throughput: each codex exec is an isolated session, so running several in the background gives near-true parallelism without touching an API key.

Preflight

codex --version                                # recent build
codex login status                             # expect "Logged in using ChatGPT"
codex features list | grep image_generation    # the tool must be enabled

If not logged in, ask the user to run codex login once before proceeding. If image_generation is absent, the tool is disabled — surface that rather than retrying blindly.

Single image

codex exec \
  --sandbox workspace-write \
  --skip-git-repo-check \
  --cd <work_dir> \
  -o /tmp/codex-img.md \
  "Use the image generation tool to create an image of '<prompt>'. Save it to ./<output>.png. Reply with only the file path on one line."

Resolution is chosen by the model from the prompt and is not reliably forceable, so this tool is a poor fit when an exact size is required. Expect on the order of a minute or two per image, with wide variance.

Many images in parallel

Fire one codex exec per image as separate backgrounded Bash tool calls in the same turn, each writing a distinct output filename. Because the jobs are independent sessions, the OpenAI side processes them concurrently; completion arrives via background-job notifications, so do not sleep-poll.

The practical ceiling is ~5 concurrent — beyond that the plan's request limits queue the extras and per-job latency climbs, so you stop gaining wall-clock. For more than ~5, run sequential batches of 5 (see the helper). Always verify before assuming numbers; measure on the actual plan if it matters.

Helper script — scripts/codex_imagegen_batch.sh

Generates an arbitrary number of images in sequential batches of up to 5 concurrent jobs.

scripts/codex_imagegen_batch.sh <work_dir> \
  "a red apple on white::apple.png" \
  "a blue ceramic mug::mug.png" \
  "a potted green plant::plant.png"
  • Each argument is <prompt>::<output_filename>; filenames must be unique (same path = last writer wins).
  • Output PNGs land in <work_dir>/; per-job codex transcripts go to <work_dir>/.codex-imagegen-logs/.
  • The script validates inputs, checks codex is present and logged in, and exits non-zero with a clear message otherwise.

Verify results

codex sometimes leaves a file in ~/.codex/generated_images/<session>/ instead of the work dir, or a job fails and writes nothing.

ls -la <work_dir>/*.png
file <work_dir>/*.png        # confirm "PNG image data", not 0-byte/empty

Retry only the failed jobs. If a file exists only under ~/.codex/generated_images/, strengthen the "Save it to ./<file>" instruction in the prompt.

Cost and plan notes

  • Each call is a full independent codex session: token use scales with N, and the ChatGPT plan's message/rate limit is consumed per job.
  • Before a heavy run, sanity-check the plan with codex login status.
  • Sessions persist under ~/.codex/sessions/; add --ephemeral for one-off or sensitive prompts.

Anti-patterns

  • --ask-for-approval with codex exec — non-interactive, errors out immediately.
  • Foreground sequential runs when parallel was wanted — defeats the entire purpose; background the jobs.
  • sleep polling for completion — background notifications already arrive.
  • Reusing one output filename across parallel jobs — only the last survives.
  • Omitting --skip-git-repo-check outside a git repo — codex stalls on workspace validation.

Troubleshooting

SymptomLikely cause / action
0-byte or missing PNGJob's tool call failed — retry just that job
Everything slow / serializedPlan rate limit or network; check codex login status and plan tier
"image generation tool not available"Feature disabled — check codex features list, optionally --enable image_generation
File only in ~/.codex/generated_images/codex didn't copy it — make the "Save to ./<file>" instruction explicit
Inconsistent resolutionExpected — codex picks size from the prompt; not suitable when an exact size is required

What ships with it: 1 file

3.4 KB alongside SKILL.md, 1 of them executable

scripts/

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.