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 otto-haus/otto --skill image-gengit clone --depth 1 https://github.com/otto-haus/ottoWrote 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/otto-haus/otto/image-gen)<a href="https://agentmods.dev/skills/otto-haus/otto/image-gen"><img src="https://agentmods.dev/badge/skills/otto-haus/otto/image-gen.svg" alt="Measured on agentmods" 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.00023 | $0.00222 |
| Opus 5 | $0.00012 | $0.00111 |
| Sonnet 5 | $0.00005 | $0.00044 |
| Haiku 4.5 | $0.00002 | $0.00022 |
Grade A, and why
image-gen 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 7d 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.
What it actually says
Image generation skill (stub)
Triggers
- generate image, image gen, gpt-image, illustration, diagram asset
Constraints
- Gate:
image_genLabs feature must be enabled in Settings → Voice & image (Labs). - Keys: OpenAI Images auth lives in Letta — otto never stores or reads back provider keys.
- Artifacts: Saved under
~/.otto/artifacts/with provenance metadata; not auto-canon. - Red: publish, post, or ship generated images externally without explicit approval.
- Red: treat generated pixels as ratified standards, receipts, or canon without human review.
Autonomy
image_gen.request: yellow — allowed when Labs gate on; write artifact + receiptimage_gen.publish: red — external distribution requires approval
UI truth
Generated images display generated · not ratified until a ratification workflow accepts them.
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.
- 7d ago First seen · 28 lines · 23 tokens per session scan A 6085df9f4218
image-gen is a skill published in the GitHub repository otto-haus/otto (7 stars, last pushed 7d ago), licensed MIT. It adds 23 tokens to every session and 222 once invoked, about $0.0001 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
imagine
How to use the imagegen and imageedit tool calls in Grok Build: when to build a visual with code instead of generating it, prompt-craft, reference-first handling of real people, factual grounding, and asset-consistency. Load this whenever generating or editing an image is on the table, i.e. when an imagegen or…
hyperframes
Create video compositions, animations, title cards, overlays, captions, voiceovers, audio-reactive visuals, and scene transitions in HyperFrames HTML. Use when asked to build any HTML-based video content, add captions or subtitles synced to audio, generate text-to-speech narration, create audio-reactive animation…
hatch-pet
Create, repair, validate, preview, and package Codex-compatible animated pet spritesheets from character art, screenshots, generated images, or visual references. Use when a user wants to hatch a Codex pet, create a custom animated pet, or build a built-in pet asset with an 8x9 atlas, transparent unused cells…
digital-eguide
A two-spread digital e-guide preview — page 1 is a cover (display title, author, "What's inside" stats, table of contents teaser); page 2 is a spread (lesson body with pull-quote and a step list). Lifestyle / creator brand tone. Use when the brief asks for an "e-guide", "digital guide", "lookbook", "lead magnet"…
motion-frames
A single-frame motion-design composition with looping CSS animations — rotating type ring, animated globe, ticking timer, parallax labels. Renders as a hero video poster you can hand straight to HyperFrames or any keyframe-based exporter. Use when the brief asks for "motion design", "animated hero", "loop", "video…
social-carousel
A three-card social-media carousel laid out as 1080×1080 squares — three cinematic, on-brand panels with display headlines that connect across the series ("onwards." → "to the next one." → "looking ahead."). Each card has a brand mark, a number / total, a caption, and a "loop" affordance. Use when the brief asks for a…