illo GitHub →

Give your ideas a face.

illo is an agent skill that turns your articles and abstract ideas into original editorial illustrations — starring a recurring character you own. Blot ships in the box and draws in riso; every character carries its own print look. No stock art, no prompt fiddling.

Works in Claude Code, Hermes, and OpenClaw

you type: /illo many inputs become one decision

you get:

Editorial illustration: a mascot cranks a huge funnel turning many shapes into one cube

Why illo?

articles in, scenes out

It reads your writing

Hand it a post and it finds the load-bearing moments — the judgment, the trap, the before/after — and renders each one as a single scene. Not one image per paragraph. The ones that matter.

a cast you own

Characters, not clip art

Every image stars a recurring mascot kept on-model by a reference lock. Use Blot, install a community character, or build your own with the guided character builder — one pack, one look, forever yours.

yours to keep — or share

An open cast ecosystem

Characters are just folders you own. Keep yours private, install community characters by name, or — if you want — publish your own to the CI-validated packs repo. One PR, renders embedded, and the skill opens it for you.

same idea, four characters

Blot rendering the funnel concept
blot
Lumen rendering the funnel concept
lumen
Pip rendering the funnel concept
pip
Volt rendering the funnel concept
volt

Examples

Single scenes, mini-comics, any aspect ratio — in your palette or your brand's.

See all examples →
Article scene: scope creep as a leaning tower of crates
article scenes
Three-panel woodcut mini-comic: stuck, slice, shipped
mini-comics
The funnel scene rendered in an emerald-derived palette
“make it emerald”

Install

You'll need an OpenRouter key — images are pay-per-render through your own account (≈ 6–25¢ each; a full blog post usually lands under $0.50).

# Claude Code & friends

npx skill add tmchow/agent-skills --skill illo

then try:

# a bare idea
/illo you are the bottleneck

# or a whole post
/illo illustrate my blog post https://yourblog.com/shipping-discipline

The cast

Character packs from illo-characters. Install any of them by name — “install the anvil character” — or keep several and switch per run.

Browse the repo →
Blot in action

blot

a deadpan ink drop · ships with the skill

Blip in action

blip

a screen-faced robot · the original

Pip in action

pip

a small round bird · ships small, often

Cone in action

cone

a traffic cone · blockers & WIP

Sprout in action

sprout

a just-sprouted seed · growth & compounding

Lumen in action

lumen

a light bulb · ideas & plans

Anvil in action

anvil

an anvil · hard feedback

Volt in action

volt

a battery · energy & recharge

Mole in action

mole

a plump mole · debugging & root-cause digs

Stamp in action

stamp

a rubber stamp · approvals & sign-off

Lapse in action

lapse

an hourglass · deadlines & timeboxes

Scope in action

scope

a stout periscope · observability & monitoring

Boss in action

boss

a round shield · security & guarding prod

Brew in action

brew

a coffee mug · deep work & builds brewing

your character here

Build one with the skill — keep it to yourself, or publish it for everyone.

How →

Build your own character

Your characters are yours — built and used locally. Publishing to the community is a bonus step, not a requirement.

1

Build it with the skill

Say /illo make me a mascot. The character builder interviews you, pressure-tests the design, picks a look with you (riso, blueprint, woodcut, pixel — or your own), and renders model-sheet candidates to choose from.

2

Use it everywhere, instantly

It installs as a local pack — a plain folder on your machine — and every render stars it from then on. Private by default; nothing leaves your computer unless you say so.

3

Share it (if you want)

Say /illo publish my character and the skill opens a PR on the community repo with your sheets embedded for one-glance review. Contribution guide →

Questions

What does it cost?

The skill is free and open source. Images render through your own OpenRouter account, pay-per-image — roughly 6–25¢ each depending on the model. A full blog post (a handful of finals plus re-rolls) usually lands under $0.50 on the default model.

Do I need a config file?

No — export OPENROUTER_API_KEY and you're done. There's an optional config (illo.py init writes ~/.config/illo/config.yaml) for defaults you'd rather not repeat: preferred model, default character, a watermark with your handle.

Which image models does it use?

Grok Imagine by default — in testing it gave the boldest print texture and the strongest character consistency at the lowest cost. Nano Banana 2/Pro, GPT Image, and Microsoft MAI work by name, and any image-output model on OpenRouter can be requested per render.

Do I have to publish my character?

No. Characters you build are local folders on your machine — private by default. Publishing to the community repo is optional, and you keep authorship and credit when you do.

Which agents does it work in?

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.