Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add jpaarhuis/claude-foundry-image --skill generate-imagegit clone --depth 1 https://github.com/jpaarhuis/claude-foundry-imageWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/jpaarhuis/claude-foundry-image/generate-image)<a href="https://agentmods.dev/skills/jpaarhuis/claude-foundry-image/generate-image"><img src="https://agentmods.dev/badge/skills/jpaarhuis/claude-foundry-image/generate-image/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/jpaarhuis/claude-foundry-image/generate-image"><img src="https://agentmods.dev/badge/skills/jpaarhuis/claude-foundry-image/generate-image.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00110 | $0.01221 |
| Opus 5 | $0.00055 | $0.00611 |
| Sonnet 5 | $0.00022 | $0.00244 |
| Haiku 4.5 | $0.00011 | $0.00122 |
Grade A, and why
generate-image scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 77 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Generate images with foundry-image
Tools (names carry the plugin prefix, e.g. mcp__plugin_foundry-image_foundry-image__generate_image):
| Tool | Purpose |
|---|---|
generate_image |
Text prompt → PNG on disk. Returns the path. |
edit_image |
Existing PNG/JPEG + instruction → new PNG on disk. Source untouched. |
check_config |
Reports which env vars are set. Never shows the key. |
Images never enter the conversation as base64. The tool writes a file and returns its absolute path. Show the user the path; if a viewer is available (Read tool on the PNG, SendUserFile, or an artifact), open it so they can see the result.
Workflow
- Turn the request into a full prompt. Users write "a cat on a laptop". Expand to subject, setting, style, composition, lighting, colour palette, mood, and what to avoid. Keep it one paragraph. Do not ask the user to write this themselves.
- Pick the backend and dimensions.
model: "mai"(default) ormodel: "gpt-image"(gpt-image-2: stronger prompt adherence and complex scenes; use it when the user asks for gpt-image, when a skill prescribes it, or when MAI output misses details).- MAI: each side ≥ 768 px, width × height ≤ 1 048 576 px. Valid:
1024x1024(default),1024x768,768x1024,1280x800,800x1280. Invalid:1024x1536,1920x1080. For a wide banner use1280x800and tell the user to crop. - gpt-image: any width/height with both sides divisible by 16 is rendered as-is
(
2048x1152for 16:9,1024x1024,1536x1024...); other values fall back to the nearest classic size. Passqualitylowfor drafts,medium(default) for most work,highfor final deliverables. Edits keep the input aspect (sizeauto) and faces (input_fidelityhigh): send a finished image plus one short instruction.
- MAI: each side ≥ 768 px, width × height ≤ 1 048 576 px. Valid:
- Choose the output path. If the user is inside a project and the image belongs to
it (README asset, app icon, docs figure), write into the repo with a descriptive name
(
docs/img/hero-dark.png). Otherwise omitoutput_pathand let it fall back toMAI_IMAGE_OUTPUT_DIR. Always.png. - Call the tool. One call per image. For variations, call again with a changed
prompt rather than asking for
n— the API returns one image per request. - Report. Give the path, one line on what was rendered, and offer one concrete follow-up (different style, aspect ratio, or an edit).
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 3d ago Changed · +2 lines b553ac7605da
- 5d ago Changed · +6 lines 10cbf00b462f
- 10d ago First seen · 69 lines · 110 tokens per session scan A e57a83e7e709
generate-image is a skill published in the GitHub repository jpaarhuis/claude-foundry-image (0 stars, last pushed 5d ago), licensed MIT. It adds 110 tokens to every session and 1,221 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
webgl-holographic-foil
A self-contained WebGL2 hero: thin-film interference over a crushed-foil surface whose palette shifts with the viewing angle; move the cursor to tilt the film.
general-video
Author or edit a custom HyperFrames composition when no specialized workflow fits, or when BRIEF.md sets flow: companion. Use for longer or multi-scene pieces, brand and sizzle reels, montages, static loops, static title cards, footage remixes, and freeform builds. Use motion-graphics instead for a short unnarrated…
html-ppt-hermes-cyber-terminal
OpenDesign + BYOK: choosing and wiring your own model, hands-on — cost, quality, and the routing decision. Built as a decision-grade AI literacy deck for engineers, IT, applied-AI teams.
html-ppt-taste-brutalist
16:9 HTML deck in tactical-telemetry / CRT-terminal taste. Deactivated-CRT charcoal slides, white-phosphor monospace, hazard-red accent, scanline overlay, ASCII syntax, density over decoration. Distilled from Leonxlnx/taste-skill brutalist-skill (Tactical Telemetry mode).
diagnostic-stem-delivery
Audio production with diagnostic analysis, timecode parsing from documents, and verified export workflow.
chengfeng-check-updates
An environment manager for a video-editing system. It checks whether its skills and runtime—the software needed to run them—are installed and compatible.