consistent image generation workflow

Generateimages inone style.

asset-canon gives your coding agent a repeatable workflow for image generation: plan the brief, lock the style, generate the set, optimize the files, and document every asset.

$npx skills add github:dodoxtech/asset-canon
05specialists
1xstyle profile
yamlsidecars
01 — Canon

WHAT IS ASSET-CANON?

asset-canon is a set of AI image-generation skills for your coding agent. Describe what you need in a sentence — it plans, generates, optimizes, and writes production-ready image files straight to your repo.

BRIEF IN · FILES OUT (webp/png/ico) · IN YOUR REPO.

02 — Pipeline

ONE PATH. EVERY TIME.

Describe it once. The orchestrator plans, the model generates, and deterministic files land straight in your repo.

BRIEFPLANGENERATEOPTIMIZEWRITEREPORT
01

BRIEF

Your words become the spec.

02

PLAN

Style locked. Targets mapped.

03

GENERATE

Model renders every pixel.

04

OPTIMIZE

sharp compresses, no quality loss.

05

WRITE

Deterministic files land on disk.

06

REPORT

What shipped, where, why. Done.

03 — Style Profile First

CONSISTENCY STARTS IN YAML.

The skill writes docs/style-profile.yaml first, then makes each image in a separate generation pass. Four prompts, four renders, one shared visual world.

BRIEFstyle-profile.yaml4 SEPARATE IMAGE GENERATIONSONE WORLD
docs/style-profile.yamlcreated first
id: storybook-adventure
style: disney-inspired family animation
palette: [ink, cream, sky, cherry, gold]
line: rounded clean outline
shading: soft cel, no photorealism
shape_language: warm, expressive, toy-like
negative:
  - random style drift
  - harsh realism
  - mismatched costumes
  - off-palette colors
Generated hero character: brave kid inventor in a warm storybook animation stylegeneration pass 01
01separate render

Hero character

Brave kid inventor, warm family-animation proportions, round expressive face, same costume language.

Generated sidekick character: tiny clockwork helper with matching palette and eye shapegeneration pass 02
02separate render

Sidekick character

Tiny clockwork helper, same eye shape, same palette, same soft storybook silhouette rules.

Generated magic tool: oversized paintbrush-wrench with gold and blue highlightsgeneration pass 03
03separate render

Magic tool

Oversized glowing paintbrush-wrench, same highlight colors, same outline weight, same material rules.

Generated prop set: backpack, compass, star badge, and potion bottle in one shared stylegeneration pass 04
04separate render

Prop set

Backpack, compass, star badge, and potion bottle generated later but still reading as one world.

04 - asset-style-extract demo

REFERENCE STYLE BECOMES A SPRITE.

The reference is analyzed into a reusable YAML profile, then that profile drives a new sprite render in the same painterly world.

01reference image
Reference image for ref-starrynight-v1 style extraction
source prompt
Generate an 8-frame front-running sprite for Homer Simpson from ref-starrynight-v1.
Use only the extracted style: post-impressionist impasto oil, cobalt and
ultramarine night blues, luminous golden highlights, swirling brushstrokes,
visible canvas texture, low-key nocturnal contrast.
04
Impasto oil game sprite generated from the ref-starrynight-v1 style profile
02analysis result
medium

post-impressionist oil / thick impasto

palette

deep cobalt + ultramarine field, golden-yellow accents

texture

visible swirling directional brushstrokes and canvas grain

lighting

warm point-source glow against cool nocturnal shadows

guardrails

no flat color, no vector edges, no plastic sheen

03ref-starrynight-v1.yaml
id: ref-starrynight-v1
source_ref: docs/assets/refs/starry-night.jpg
medium: painterly
palette:
  - "#0B1320"
  - "#1D212E"
  - "#263961"
  - "#45648E"
  - "#6988A3"
  - "#94A399"
  - "#B2BDA3"
  - "#CCCE7B"
  - "#B4A640"
color:
  saturation: muted
  temperature: cool
  contrast: medium
  harmony: complementary
line: none
shading: soft-gradient
lighting: "luminous point-sources (stars/moon), low-key nocturnal"
fx: [bloom, grain]
prompt_suffix: >
  post-impressionist oil painting, thick impasto with visible swirling
  directional brushstrokes, deep cobalt and ultramarine blue-dominant palette
  with luminous golden-yellow accents, complementary blue/yellow harmony,
  warm glowing halos around light sources against cool shadows, expressive
  swirling motion, low-key nocturnal value range, heavy visible canvas texture
negative:
  - flat color
  - smooth gradients
  - hard vector edges
  - clean outlines
  - photographic realism
  - pillow shading
  - digital airbrush smoothness
  - AI plastic sheen
05 — Same Prompt

SAME BRIEF. DIFFERENT OUTCOME.

The only difference between these two outputs is a 50-line YAML file.

SHARED PROMPTsent to the model in both cases

"A small friendly coding-agent character at a wooden workbench, a glowing asset shard, neat shelves of sprites and icons. Wide 16:9. No text, no labels, no UI chrome."

✕ Without skillRaw model output
Raw prompt output, inconsistent style, no palette lock
STYLEnone
✓ With asset-canonstyle-profile.yaml auto-loaded
Skill output, GBA pixel art, locked palette, consistent style
+
STYLE
docs/style-profile.yaml
id: canon-quest
prompt_suffix: >
  16-bit GBA-era pixel art, 16×16 tile
  grid, 1px selective ink (#0B0E1A),
  flat cel shading, ordered dithering
  — never smooth gradients
palette:
  "#0B0E1A" "#141A30" "#1E2A44"
  "#00B140" "#3CE07A" "#FFC83C"
  "#3CA0FF" "#FF5C5C" +7 more
negative:
  - smooth gradients, anti-aliasing
  - photorealistic rendering
  - off-palette colors
06 — Skills

FIVE SPECIALIST SKILLS

One orchestrator routes your brief to the right specialist.

asset-icon

Favicons & UI glyphs

asset-illustration

Heroes & spot art

asset-sprite

Sprites, tiles & sheets

asset-texture

Seamless tiling textures

asset-social

OG cards at exact sizes

asset-style-extract

Reference image → reusable style profile

07 — asset-sprite demo

CLAY SHEET TO PLAYABLE ASSASSIN.

A realistic clay-style assassin moves from chroma plate to clean alpha, then into a crisp atlas-driven WASD preview.

01source render
Original generated realistic clay assassin sprite sheet on chroma green background

Generated on a chroma clay board so the silhouette can be cut cleanly.

02background removed
Alpha-keyed realistic clay assassin sprite sheet with transparent background

The key plate is removed and the matte clay edge stays intact.

03usable output128x128 · 64 frames · atlas.json
idlefront
08 — Reliability

BUILT TO BE RELIABLE

Descriptors

Every asset ships a .yaml sidecar so another agent can use it without opening the image.

Style Profiles

Shared validation keeps a family consistent across all generated assets in a batch.

Deterministic

Fixed sizes, one palette per batch, predictable names. Reproducible and diff-able.

GET STARTED

NOW GO BUILD SOMETHING.

$npx skills add github:dodoxtech/asset-canon

Node 18+ · Codex CLI or OPENAI_API_KEY ·