Borrowing it
Nothing to install: this file belongs to Txpple/fvtt-mcp-artificer. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/Txpple/fvtt-mcp-artificer/main/.claude/skills/illustration-builder/SKILL.mdgit clone --depth 1 https://github.com/Txpple/fvtt-mcp-artificerWrote 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/txpple/fvtt-mcp-artificer/illustration-builder)<a href="https://agentmods.dev/skills/txpple/fvtt-mcp-artificer/illustration-builder"><img src="https://agentmods.dev/badge/skills/txpple/fvtt-mcp-artificer/illustration-builder/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/txpple/fvtt-mcp-artificer/illustration-builder"><img src="https://agentmods.dev/badge/skills/txpple/fvtt-mcp-artificer/illustration-builder.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.00167 | $0.05376 |
| Opus 5 | $0.00084 | $0.02688 |
| Sonnet 5 | $0.00033 | $0.01075 |
| Haiku 4.5 | $0.00017 | $0.00538 |
Grade A, and why
illustration-builder 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 10d 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 — 275 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Illustration builder
The judgment layer over generate-image / upscale-image. Its whole job is to make sure the
prompt comes from canon, the style comes from precedent, and nothing lands in the world
uncurated. It adds no mechanics — the artificer server owns workflow execution and file
conventions; molten5e owns delivery (upload-asset, set-actor-art, add-journal-image,
create-scene / update-scene).
Tools used: artificer-status, generate-image, upscale-image (artificer);
get-actor, search-journals, list-journals, list-scenes, list-assets, download-asset,
upload-asset, set-actor-art, add-journal-image, update-scene (molten5e). Token alpha work
hands off to the token-cutout skill.
Step 0 — Pin the subject and the destination
Two questions before anything renders: what is this a picture of, and where does it live?
The destination picks the kind:
| destination | kind |
|---|---|
| journal image page / player handout | handout |
| scene background | scene-background |
| actor sheet portrait | portrait |
| actor token (goes through token-cutout after) | token |
If the user named a subject that exists in the world (an NPC, a location with a journal, a scene), the next two steps are mandatory — never prompt from imagination for a named subject.
Step 1 — Ground the prompt in canon
Pull the authoritative description before writing a word of prompt:
- Actors:
get-actor— bio, race/species, gender, age, class, notable gear. The stat block is canon for props (a bandit statted with a crossbow gets a crossbow, whatever looks cooler). - Locations / events:
search-journalsfor the subject name; scene notes; quest journals. - Campaign repo (when working in it — e.g.
fvtt-campaign-greenrest):notes/,plot/,sessions/often carry richer description than the world does. - Scenes of played events are a hard gate (owner rule): illustrating something that happened
at the table means reading the session diary page AND the session transcript/gm-notes
(
sessions/<date>/), and looking at the battlemap it was fought on (screenshot-scene, or read the scene background) — terrain, layout, and the fight's actual beats come from there, never from imagination. Who was present matters too (absent PCs don't appear).
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.
- 10d ago First seen · 275 lines · 167 tokens per session scan A 806b8393ca9b
illustration-builder is a skill published in the GitHub repository Txpple/fvtt-mcp-artificer (0 stars, last pushed 12d ago), licensed MIT. It adds 167 tokens to every session and 5,376 once invoked, about $0.0008 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
html-ppt-zhangzara-8-bit-orbit
A gamer's journey building a retro-arcade collection — the obsession, the hunt, and what the machines came to mean. Built as a decision-grade story deck for friends, hobby community.
screenshot-game-view
Capture a screenshot of the Unity Editor's Game View by reading its internal render texture directly. Image size matches the current Game View resolution; the tool corrects Y-flip on DirectX / Metal so the output is always upright. Requires an open Game View window.
threejs-audio-generator
Generate, convert, clean, and integrate audio for Three.js browser games with ElevenLabs: sound effects, looping ambience, UI sounds, impact/weapon/vehicle audio, creature and boss stingers, announcer and dialogue TTS, voice conversion from a scratch performance, voice cleanup, audio manifests, and Web Audio…
sprite-gen
A pipeline for turning generated 2D game-character images into transparent sprite sheets, which store animation frames for a game.
audio-design
Implement game audio practice — bus/mixer architecture and gain in decibels, ducking (sidechain), adaptive/dynamic music via layering and re-sequencing, SFX variation, and beat synchronization. Engine-neutral. Use when the user mentions audio mixing, audio buses, adaptive/dynamic music, ducking, SFX variation, music…
create-game-assets
Plan, generate, source, normalize, and validate cohesive visual game assets. Use for art direction, style bibles, sprites, tilesets, backgrounds, UI art, icons, textures, concept art, or 3D asset briefs.