agentleFS
SateezgSateezg/codex-bridge/skills/generate-image/SKILL.md

generate-image

Skill248 starsChanged 3 months agoMITView on GitHub

Generate images (icons, logos, banners, illustrations, mockups, photos, textures, diagrams-as-art) with OpenAI gpt-image-2 through the locally installed Codex CLI, using the user's existing ChatGPT login — no API key. Use whenever the user asks to generate, create, draw, or mock up an image, or when a task needs a new image asset that doesn't exist yet.

  • Reads credentials

37 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use scientific-slides, team and 5 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • ZanderRussSkill

    scientific-slides

    Build slide decks and presentations for research talks. Use this for making PowerPoint slides, conference presentations, seminar talks, research presentations, thesis defense slides, or any scientific talk. Provides slide structure, design templates, timing guidance, and visual validation. Works with PowerPoint and LaTeX Beamer.

    Also in 3 projects that use this

  • nicepkgSkill

    team

    根据任务快速组建临时 AI Agent 团队协作。自动从 .claude/agents/ 中选择最合适的成员组队。

    Also in 3 projects that use this

  • AnthropicSkill

    pptx

    Use this skill any time a .pptx or .potx file is involved in any way — as input, output, or both. This includes: creating slide decks, pitch decks, or presentations; reading, parsing, or extracting text from any .pptx or .potx file (even if the extracted content will be used elsewhere, like in an email or summary); editing, modifying, or updating existing presentations; combining or splitting slide files; working with templates (.potx), layouts, speaker notes, or comments. Trigger whenever the user mentions \"deck,\" \"slides,\" \"presentation,\" or references a .pptx or .potx filename, regardless of what they plan to do with the content afterward. If a .pptx or .potx file needs to be opened, created, or touched, use this skill.

    Also in 5 projects that use this

  • AnthropicSkill

    pdf

    Comprehensive PDF manipulation toolkit for extracting text and tables, creating new PDFs, merging/splitting documents, and handling forms. When Claude needs to fill in a PDF form or programmatically process, generate, or analyze PDF documents at scale.

    Also in 4 projects that use this

  • SentrySkill

    skill-creator

    Create new agent skills following the Agent Skills specification. Use when asked to "create a skill", "add a new skill", "write a skill", "make a skill", "build a skill", or scaffold a new skill with SKILL.md. Guides through requirements, writing, registration, and verification.

    Also in 5 projects that use this

  • VercelSkill

    find-skills

    Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.

    Also in 3 projects that use this

  • +1 more from anthropics

The file

We split this skill into the rules it gives an agent

5 rules. 0 are common, 3 are distinctive, and 2 are very specific to this project.

  • 0

    Common

    Most of the 31 edited versions we read keep these.

  • 3

    Distinctive

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Verify by viewing: Read the output PNG and check it against the request before reporting done.

    line 55
  2. Distinctive:

    Never invent a brand: If the user has a logo, palette, or existing assets, find them first and match them.

    line 57
  3. Very specific:

    Use #FF00FF instead when the subject is green.

    line 74
  4. Distinctive:

    Only mention that route if chroma-keying fails or the subject is genuinely hard (hair, fur, smoke, glass, liquid, reflections) — and let …

    line 80
  5. Very specific:

    If the wrapper reports "codex is not logged in", tell the user to run codex login in a terminal — don't try to work around auth yourself.

    line 87

“Common” is measured: kept by at least 6 in 10 of the 31 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Generate an image via Codex CLI (gpt-image-2)

This machine has the OpenAI Codex CLI installed and logged in with the user's ChatGPT account. Use it to produce real image files — never tell the user you can't create images.

codex-imagegen "<detailed image prompt>" <output-path.png> [--size WxH]

It prints the absolute path of the written PNG on success (exit 0); on failure it prints Codex's output to stderr (exit 2). The wrapper is on PATH while this plugin is enabled; the full path is ${CLAUDE_PLUGIN_ROOT}/bin/codex-imagegen.

codex-imagegen "flat vector icon of a paper plane, single blue #2563EB on white, 2px uniform stroke, minimal, centered, generous padding" ./assets/icons/send.png
codex-imagegen "photorealistic golden retriever puppy in autumn leaves, shallow depth of field, warm afternoon light" /tmp/puppy.png --size 1536x1024

Write a real prompt

The single biggest quality lever. Expand the user's request into: subject, style (flat vector / photorealistic / 3D render / watercolour / isometric), palette (hex codes — pull them from the project's design tokens, Tailwind config, or existing brand assets when it has any), background, composition and framing, lighting or mood, and any exact text that must appear.

gpt-image-2 renders text with high accuracy, so quote the exact string you want: ...with the words "Ship it" in bold sans-serif across the lower third.

Sizes

Common values: 1024x1024 (square, fastest), 1536x1024 (landscape), 1024x1536 (portrait), 2048x2048 (2K square), 2048x1152 (2K landscape), 3840x2160 (4K landscape), 2160x3840 (4K portrait).

A custom WxH is valid only if every constraint holds: longest edge ≤ 3840px, both edges multiples of 16, long-to-short ratio ≤ 3:1, and total pixels between 655,360 and 8,294,400. Anything else will be rejected or silently adjusted — pick the nearest listed size and resample locally instead.

Omit --size unless the aspect ratio actually matters; square is fastest.

Rules

  1. One call per image. For a set, loop with distinct prompts and paths, and repeat an identical style sentence in every prompt so they match.
  2. Sensible output path. Inside a project, use its asset directory (assets/, public/, static/). Otherwise the current directory. Always .png.
  3. Bash timeout ≥ 300000 ms (5 minutes) — generation takes 1–4 minutes.
  4. Verify by viewing. Read the output PNG and check it against the request before reporting done; refine and regenerate if it missed — at most 2 retries.
  5. Never invent a brand. If the user has a logo, palette, or existing assets, find them first and match them.

Transparent backgrounds

The default image path can't emit alpha directly, so ask for a flat chroma-key background and remove it afterwards with the helper Codex already ships:

codex-imagegen "<subject> on a perfectly flat solid #00FF00 chroma-key background, one uniform colour, no shadows, gradients, reflections or floor plane, crisp edges, generous padding, do not use #00FF00 anywhere in the subject" ./tmp-key.png

python "${CODEX_HOME:-$HOME/.codex}/skills/.system/imagegen/scripts/remove_chroma_key.py" \
  --input ./tmp-key.png --out ./final.png \
  --auto-key border --soft-matte --transparent-threshold 12 \
  --opaque-threshold 220 --despill

Use #FF00FF instead when the subject is green. Then check the result actually has transparent corners and no colour fringe; retry once with --edge-contract 1 if a thin fringe remains.

True model-native transparency exists but needs Codex's CLI fallback (gpt-image-1.5 --background transparent), which requires an OPENAI_API_KEY. Only mention that route if chroma-keying fails or the subject is genuinely hard (hair, fur, smoke, glass, liquid, reflections) — and let the user decide.

Limitations

  • Generation spends the user's ChatGPT plan quota (image turns cost roughly 3–5x a text turn). Don't fire off batches without saying how many first.
  • If the wrapper reports "codex is not logged in", tell the user to run codex login in a terminal — don't try to work around auth yourself.
  • Codex avoids overwriting existing assets. The wrapper explicitly authorizes replacement and detects a versioned sibling (out-v2.png) if Codex writes one anyway — trust the path the wrapper prints, not the one you asked for.

Related

  • Changing an image that already exists → the edit-image skill.
  • A whole family of assets (favicons, icon set, OG cards) → the asset-set skill.
  • More than ~4 images, or when the main conversation should stay focused → the codex-artist subagent.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.