illo skill is an agent skill that turns your articles and abstract ideas into original editorial illustrations — giving each idea a face with a recurring character. Blot ships in the box, community packs add more faces, and every character carries its own print look. No stock art, no prompt fiddling.
Works in Claude Code, Codex, Hermes, and OpenClaw
you type: /illo many inputs become one decision
you get:
four ways illo skill renders an idea
Scenes stay the default. Say the word for a mini-comic, an explainer diagram, or a cutout — or hand it a URL and let the skill route the whole set. Read the guide →
the default
One caught moment — the mascot performing the idea.
/illo you are the bottleneck
when the idea moves
2–4 panels in one image — before→after, fail→fix.
/illo stuck → slice → shipped as a mini-comic
when the structure is the point
Flows, timelines, loops — traceable, not PowerPoint.
/illo how a book gets published explainer diagram
just the mascot
Transparent PNG — pose only, no scene or text.
/illo blot cutout waving
Editorial scenes, mini-comics, explainer diagrams, cutouts — any aspect ratio, in your palette or your brand's.
click any example to enlarge
56 packs · 17 looks — recurring mascots you install by name, each with its own print look. snes is the newest.
Two things to bring:
got the Codex or Grok CLI signed in? the second one's on the house
A coding agent with a reasoning model
Claude Code, Codex, Hermes, or OpenClaw — running a capable model like Opus or GPT-5.5. After each image renders, the skill shows it back to your model to check it against the idea and re-roll if it's off — so the model has to both reason and see.
An image backend — your call
Whatever agent you run the illo skill in, the image generation goes through one of three backends under the hood. Codex or Grok — got the Codex or Grok CLI signed in (each comes with its plan)? Free: the illo skill drives it to render, no key, drawing on your usage. OpenRouter — a key for model choice (Grok Imagine, Nano Banana, GPT Image, any by name), about a nickel an image, and the universal fallback.
# any agent — Claude Code, Cursor, Codex, Copilot, Gemini & friends
npx skills add tmchow/illo-skill --skill illo
# native plugin — updates managed by Claude Code
/plugin marketplace add tmchow/illo-skill
/plugin install illo@illo-skill
# native plugin — update with: codex plugin marketplace upgrade
codex plugin marketplace add tmchow/illo-skill
codex plugin add illo@illo-skill
# native plugin — update with: grok plugin update illo
grok plugin marketplace add tmchow/illo-skill
grok plugin install tmchow/illo-skill --trust
# extension — update with: gemini extensions update illo
gemini extensions install https://github.com/tmchow/illo-skill
# GitHub CLI — update with: gh skill update illo
gh skill install tmchow/illo-skill illo
# Hermes
hermes skills install tmchow/illo-skill/illo
# OpenClaw
openclaw skills install illo
then try:
# a bare idea
/illo you are the bottleneck
# a whole post — hero plus inline art
/illo https://yourblog.com/shipping-discipline hero + 3 images
# add a character pack first
/illo install mole character pack
# then pick a shape and that character
/illo "Just taught my kids about taxes by eating 38% of their ice cream" square image using mole character
# optional: install all character packs
/illo install all character packs
Say /illo build a character — private by default, shareable if you want. Character packs →
The skill itself is free and open source — and whatever agent you run it in, the image generation goes through one of three backends. With a Codex, ChatGPT, or Grok plan it's free: the illo skill drives your signed-in Codex or Grok CLI to render, no per-image charge — it just draws on that plan's usage. Want a choice of models instead? Run it through your own OpenRouter account — pay-per-image, around a nickel each (6–25¢ by model), a full blog post under $0.50.
Barely. With the Codex or Grok CLI signed in, nothing — the illo skill detects it and asks which
backend you want the first time. For OpenRouter, run
illo.py init once to store your key in
~/.config/illo/config.yaml (mode 600); the illo skill
never reads it from the environment. The same config also holds optional defaults
you'd rather not repeat: backend, model, default character, a watermark with your handle.
On the Codex and Grok backends it's automatic — each CLI's built-in image tool (Codex renders gpt-image-2), no model to pick. On OpenRouter you choose: Grok Imagine by default (in testing, the boldest print texture and strongest character lock at the lowest cost), with Nano Banana 2/Pro, GPT Image, or any image-output model on OpenRouter by name.
No. Characters you build are local folders on your machine — private by default. Sharing one in the community repo is optional, and you keep authorship and credit when you do.
A cutout is a transparent PNG of the mascot alone — pose and contact continuity only, no scene or text. Ask for /illo blot cutout waving when you need a sticker to paste onto slides, docs, or another design. Guide →
Scenes are the default — one caught moment that makes the reader feel the idea. Explainers are hand-built flows, timelines, or stacks the reader can trace. Ask for an explainer diagram when the structure is the whole point — e.g. /illo how a book gets published explainer diagram. Guide →
Anything that speaks the Agent Skills format (SKILL.md):
Claude Code, Hermes, OpenClaw, and friends. The engine is a single stdlib Python
script — no installs beyond python3.