Illustration Grainy Gouache
Meng ToCommunityCreated by Meng To
- Skill
- Content generator
- Design and creative
- MIT
- Low risk
- Has scripts
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
This skill provides a programmatic approach to creating hand-authored SVG illustrations featuring cute animals in design or coding scenarios. The style is defined by flat, outline-free shapes on a hot-pink background, characterized by soft gradient shading, fine dark grain, and specific decorative elements like autumn leaves and cream sparkles. It is designed for use in product interfaces, such as empty states, onboarding flows, 404 pages, and blog headers, offering a warm, handmade aesthetic.
What it does
- Generates 480x360 SVG cards featuring animals in design or coding poses.
- Applies a consistent grainy gouache, risograph-like visual style.
- Uses a specific palette including hot-pink backgrounds and cream accents.
- Includes decorative elements like autumn leaves, sparkles, and chalky shadows.
- Provides builders for common scene components like animals, props, and backgrounds.
- Includes linting and rendering tools to ensure style consistency.
When to use it
- When you need cosy, textured, or storybook-style animal art for digital products.
- For UI elements like empty states, onboarding steps, or 404 pages.
- For seasonal blog headers or feature spots requiring a warm, handmade feel.
- When building a consistent set of illustrations for a design or coding-focused project.
Advantages
- Maintains a distinct, cohesive visual identity across multiple illustrations.
- Provides a structured workflow for generating consistent SVG assets.
- Includes built-in validation to ensure adherence to the defined style guide.
- Offers programmatic control over scene composition and character poses.
Usage examples
- “Generate an illustration of a fox curled up on a laptop.”
- An SVG card featuring a fox in a cosy pose on a laptop, styled with the grainy gouache aesthetic, including appropriate shading and decor.
- “Create a scene of an owl perched on a desk lamp.”
- An SVG card showing an owl on a lamp arm, rendered in the specified risograph-like style with correct gradients and grain.
Install
Download the skill as a ZIP:
https://autogineer.com/agent-skills/mengto/illustration-grainy-gouache/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip illustration-grainy-gouache.zip -d .agents/skills
Documentation by Meng To
Illustration: Grainy gouache
A warm editorial style: one cute animal doing a design or coding thing, painted in flat, outline-free shapes that are softly shaded and dusted with fine dark grain, on a saturated hot-pink card with cream sparkles and falling autumn leaves. Use it where a product wants warmth and charm: empty states, onboarding, seasonal blog headers, "we're working on it" pages.
Boundary: for clean flat vector with no texture and no animals, use illustration-flat. For a hand-inked critter with hatching and googly eyes on white, use illustration-ink-sketch. For people with inked outlines, use illustration-outlined-cartoon. This style has no human cards; if a brief needs a person, use one of those instead.
Extracted from a set of 42 original design-and-coding cards in 14 styles; the three cards in examples/ are this style's shipped cards.
The look in one sentence
Outline-free shapes, each filled with a soft light-to-dark gradient and then speckled with a fine dark grain that thickens toward the shape's edges and into its shadows, sitting on hot pink #FF81BE with a chalky purple pool beneath.
Remove the edge-gathered grain and it becomes plain flat vector; change the pink and it stops belonging to the set.
Palette
Measured from the examples. Every large form uses a ramp, never one flat colour. style.json lists every legitimate value.
| Role | Hex | Where it goes |
|---|---|---|
| Card background | #FF81BE | full-bleed rect, every card, including night and rain scenes |
| Cream | #FDD5A8 | sparkles, bursts, dots, steam, code text, rain, pompom, fur ticks |
| Cream light | #FFF3E2 | tiny glints on drops and pompoms only |
| Pool shadow / core | #B95A93 / #A04A80 | chalky floor pool; core at opacity 0.8 under the heaviest object |
| Blush | #FF7FB0 | cheek ellipses at opacity 0.6 |
| Vermilion | #FF4816 | flat accents: editor dot, bookmark, commit node |
| Vermilion ramp | #FF5A24 #F2440F #F0420E #B02B08 #9C2306 | mugs, plant pots, fox fur (radial #FF5A26→#FB4714→#D9380C→#9C2406) |
| Coral | #FF6A3A | code accent, mug rim, sticky note |
| Knit | #EE430F+#C2320A, dark #D2360B+#A42807, rib #E03A0C+#A8290A | sweater, sleeves, beanie, cuffs |
| Ochre / gold | #E7A13A / #D88A1E | code keywords, sticky notes, band borders / gilt rules, fringe, owl toes |
| Ochre ramp | #E38C1E #C96E05 #9E5004 | window frames, book covers |
| Wood top | #F0A23C→#D98418, edge #F6B860, contact #7A3A04 @0.38 | desk tops, sills |
| Maroon ramp | #8A220A #701001 #4A0901, deep #5A0E02 #3A0601 | books, desk and sill fronts, round window frames, aprons |
| End shade | #1A0402 | gradient overlay at 0.4-0.5 on both ends of boxes and spines |
| Screen | #8A2632→#621626→#3A0A14 | screens; night sky #3A1424→#1C0910; rain pane #22090F→#4E1420 |
| Near-black | #191113 bezel, ramp #3A2E31→#0D0809, edge #6A5A5F | laptops, monitors, lamps, paws, ear tips |
| Face ink | #0D0809 pupils/nose, #120A0B #1A0E0F lines, #F7D6A6 eye ring | faces |
| Cream fur | #FFE6C4→#FCD9AE→#F0BF88 | muzzles, chests, tail tips (radial) |
| Ivy | #16592C #0F4A23 | #0C3F1D #082F15, veins #06150A | ivy leaves, vines |
| Olive | #7A7318 #6A6416 | #524810 #3C350C, veins #1C1804; mug #5E5712 | olive leaves, plant, mugs |
| Olive accent | #A8B030 code green, #8A9416 editor dot, #545C01 scarf | small accents only |
| Oak | #E08A1C #D47A0C | #C96E05 #A85A05, veins #3A1404 | oak leaves |
| Fur, amber | #E59240→#CF7426→#A9531A→#7A3510; limbs #B85E1E→#5E280C; paws #6A3418→#32150A | brown animals |
| Fur, owl | #F0962E→#DC7A14→#B85A08→#8A3E04; wing #7E2A06→#461402 | orange animals |
Never: an outline around a shape; blue, teal, purple or grey anywhere except the pool; pure white except the lamp-light cone; any background but #FF81BE; a large shape in one flat colour; glows or rim lights. Cream decor never sits on cream fur, and a vermilion head never sits on pink alone: put it in front of a dark plane.
Line and fill
At 480 wide:
Shapes are fills, never stroked. Separate shapes with a value or hue step plus the grain edge. A stroke around a mug or a head is the first sign of a different style.
Thin dark detail lines only, round caps, never
#000: leaf veins 0.6-0.7, leaf stems 0.9, whiskers 0.75-0.8 (#1A0E0For#3A1A0C), mouth and lid line 1.05-1.3 (#120A0B), finger creases 0.7 (#1A0A04), feather lines 0.9-1.1.Cream lines: steam 1.15-1.35, burst rays 1.3, scarf braces 1.1, rain 1.0 at stroke-opacity 0.22-0.5, ear-fur ticks 1.1.
Code on screens: stroke 2.2-2.6, round caps, rows 7-8.4 apart, 2-3 segments per row in ochre, cream, coral, olive-green.
Gradients: radial for round forms (cx 0.42-0.46, cy 0.30-0.34, r 0.72-0.78; stops light 0, mid 0.5, shade 0.82, edge 1). Vertical linear for slabs (light top, dark base). Horizontal 5-stop for cylinders (dark 0, mid 0.22, highlight 0.45, mid 0.75, darkest 1).
Overlays add depth without new colours:
gEndsacross a box,gBase(#5A0E020→0.5) at a cylinder's foot, a crown band (#7A3510@0.3) clipped to the top of a head, a radial "sweat" (#5A0E020→0.55 at the rim) over a torso, sleeve gradients (dark maroon 0.55 outside →#FF8A500.12-0.22 inside).Cast shadows inside the figure: the sleeve path filled
#4A0901, blurred 2.4 (soft), offset 3.5 px, clipped to the torso, opacity 0.85.Grain: wrap every solid shape group in
filter="url(#p-grain)"; big light planes (window frames, desk tops) usegrainL. Faces' details, code, cream decor, whiskers and veins stay crisp: draw them outside the grain group, after it.Patterns (userSpaceOnUse): knit 7x6 chevron, rib 3.2x10 stripes, Fair-Isle band 12x11 (maroon, cream drop, ochre dots), scarf 22x19, feather chevron 8x7.
Characters
Animals only: fox, otter and owl in the examples. A new card brings one new or repeated animal (rabbit, hedgehog, bear cub, raccoon, cat, badger all suit).
Proportions: head as wide as the torso or wider (84-92 px); head height 0.8-1.0 x torso height (shoulder to seat); head top to seat 110-150 px, plus 30-40 if the legs reach the floor. Short limbs, no visible neck: the chin overlaps the shoulders by 8-10 px. Measure it in the SVG: a 0.6 head-to-torso ratio looks lanky next to the set.
Head: one smooth closed path in a radial fur gradient; a darker crown band clipped to the top; a cream muzzle (
gCream) with a darker copy 1.6 px lower at 0.55 opacity as its shadow; ears with a darker inner shape (#C2300Aor#5A2408); fox ear tips black via a clipPath. Tilt the head group 5-9 degrees toward what the animal looks at.Eyes (the signature): cream ring
#F7D6A6r 10-12, pupil#0D0809at 0.81 r shifted 0.22 r toward the look direction, a cream 4-point star (scale 0.52-0.78) on the look side above centre, a cream dot r 1.35-1.6 below on the other side. Centres 29-37 px apart, so the eyes nearly touch. A sleepy variant clips a fur-coloured lid over the top with a 1.3 lid line and a short flick at the outer corner.Nose and mouth: a rounded inverted triangle 10-17 px wide in
#0D0809, a#6A5A5Cshine ellipse, then a 1.05 "w" mouth hanging from it. Muzzle dots#7A4A30r 0.9 on otters.Whiskers: two per side, 0.75-0.8, 28-75 px long, fanning slightly. Blush:
#FF7FB0@0.6, rx 4.4-6.6, ry 2.6-3.4, under each outer eye corner.Paws are this style's hands. Gripping (the otter's mug): a fur forearm tube 12 → 9.5 wide leaves a rib cuff 17 → 15.5; a dark paw (
#6A3418→#32150A) has a palm block about 9 x 15, three finger tubes 4.6 → 4.2 wide and 5.8-6.8 long laid ACROSS the front of the mug 4.7 apart, a thumb tube 5.6 → 4 arching over from the side, and 0.7 creases between finger rows. Resting: the toe-notched paw (19 px wide,gBlack) flat on the surface. Perching: three toe tubes 4.6 → 3.8 per foot wrapping the bar, each ending in a 1.3 dark claw hook that curls under. The thumb tube followsreferences/craft.mdhandedness. Paws take the animal's own fur ramp (or the dark paw ramp); a cream paw on a cream object (a paper rocket, a cream mug) disappears.Clothing: knit sweater (torso
pKnitD, sleevespKnit, rib collar, cuffs and hem), optional Fair-Isle band with 1.3 ochre borders; scarf with a 7-8 px gold fringe; beanie (knit dome, rib brim, cream pompom r 8.6 with a#FFF0DCglint). Folds are shading overlays, not lines.Sitting: the hips overlap the ledge top by 4-6 px; leg tubes (19 → 13) drop in front of the ledge face to webbed feet (pad plus four
#3E1A0Atoe ellipses rx 2.35 ry 3.3) turned out 8-20 degrees; a tail tube (17 → 4.6) curls out behind. On a low seat (a pouf, a stool) the thighs come toward the viewer as one lap shape no wider than the hips, with two knee bulges; the shins (30 → 25) drop in front of the seat face and the feet plant on the floor with#7A3A04contact ellipses.Poses that work: curled on a laptop deck with paws forward (fox); sitting on a sill holding a mug in both paws (otter); perched on a lamp arm, head tilted to the screen (owl); sitting on a pouf with one paw raised holding a small prop overhead and the other paw on a laptop's keys (the self-test's rabbit).
Decor and props
Background decor: 2 cream bursts (8 rays, scale 0.75-0.9, one rotated 12-14 degrees), 6-7 cream 4-point stars (scale 0.55-0.95), 18-21 cream dots r 1.0-1.4. Only in the margins, at least 8 px from the scene.
Leaves: 7-8 per card, three kinds (ivy, oak, olive), scale 0.55-1.4, grained, in 2-3 loose clusters at x < 80 and x > 400, plus at most one stray near the top. Each leaf is split down the vein into a light and a dark half.
Props: laptop (bezel
#191113rx 4-8, maroon screen with code, three editor dots r 1.5-1.9), monitor on a black stand (a 7 px monospace02:14is the only text ever used), mug (vermilion, olive or cream cylinder, 2-3 cream steam squiggles, a cream motif such as a crescent or ring-and-bar), book stack (maroon, ivy, ochre; gilt rules 1.6 wide; dotted borders r 0.9 every 7 px), window (arched ochre or round maroon frame; rain, moon and stars only inside the pane), desk (ochre top, maroon front, brass pulls), desk lamp (black tube arm, speckled light cone), potted plant (vermilion pot, 5 fanned olive leaves, an ivy vine), sticky notes (ochre or coral, folded corner).Per card: one hero animal plus 3-5 props. Never people, UI-kit panels, logos, icons, blue sky, or more than a few characters of text.
Composition
Card:
<rect width="480" height="360" fill="#FF81BE"/>, then decor, then leaves, then the scene group.Scene size: 330-360 px wide (70-75% of the card) and 250-290 px tall, horizontal centre within 10 px of x 240. The floor pool's lower edge sits at y 310-330 and runs 10-20 px past the furniture on each side.
Focal point: the animal's face, in the upper-middle (y 100-190), in front of a dark plane (screen, window pane, round window or a chalkboard in the night-sky ramp) so the orange reads.
Ground: no floor line; the chalky pool is the ground. Objects on a desk or sill get
#7A3A04@0.38 contact ellipses (ry 1.7-2) and the edge gets a#F6B8600.9 highlight line.Group transform: draw the scene, then centre it with one wrapper:
translate(0 -20)ortranslate(0 10), ortranslate(240 178) scale(1.07) translate(-240 -178). Never scale the decor or leaves with it.Density: medium. Every quadrant has decor; the scene keeps clear pink around it.
Techniques
scripts/gouache.mjs prints the shared defs with your prefix and has the repeated builders. Run from the skill folder:
node scripts/gouache.mjs defs wk- # filters, leaves, sparkles, common ramps, knit patterns
node scripts/gouache.mjs --demo /tmp/g.svg # a test card using every builderimport fs from 'node:fs';
import * as G from '/abs/path/to/illustration-grainy-gouache/scripts/gouache.mjs'; // relative to THIS file, not the cwd
const p = 'wk-';
const extraDefs = ''; // your fur ramps, clothing gradients and clipPaths
const body = [
G.background(p, { seed: 3 }), // pink + bursts, stars, dots
G.leaves(p, [['ivy', 40, 112, -20, 1.15], ['oak', 436, 60, 22, 0.95]]),
G.shadow(p, 70, 410, 312, { core: [90, 330] }), // chalky pool
G.grained(p, `<path d="${G.tube([[201, 260], [200, 271], [198, 281]], [19, 16, 13])}" fill="url(#${p}gMaroon)"/>`),
G.eye(p, 197, 143, 10.8, [1, 0.3]), // glossy eye, looking right
].join('\n');
fs.writeFileSync('card.svg', G.card(p, G.defs(p) + extraDefs, body, 'Title, Grainy gouache style'));G.defs(p) defines these ids (all prefixed): filters grain, grainL, chalk, speck, soft; symbols ivy, oak, olv, star, burst, drop; gradients gBlack, gMaroon, gOchre, gTop (wood top), gEnds, gBase, gScreen, gDeck, gCream, gVerm, gOliveCyl, gCreamCyl, gCone, plus the leaf ramps; patterns pKnit, pKnitD, pRib. Put the animal's fur ramps, clothing gradients and any clipPaths in your own extraDefs string. Builders: background, leaves, shadow, grained(p, svg, 'grain' | 'grainL'), tube, smooth, eye, blush, use, card.
1. The edge grain. Fractal noise (base frequency 2.1) becomes dark brown-violet specks; the mask 2.0 x alpha - 1.8 x blur(alpha, 3.2) is a band just inside each edge; a second term weights it by how dark the fill is; the specks multiply onto the shape. grainFilter() in the helper holds it. Change dens (1.0-1.08) for density, never baseFrequency.
2. A shaded form. Base gradient, then overlays in the same clip, then grain on the group:
<g filter="url(#wk-grain)">
<path d="M74 288 L314 288 C318.5 293 319 309 314 314 L74 314 C69.5 309 69.5 293 74 288 Z" fill="url(#wk-gMaroon)"/>
<path d="M74 288 L314 288 C318.5 293 319 309 314 314 L74 314 C69.5 309 69.5 293 74 288 Z" fill="url(#wk-gEnds)"/>
</g>
<path d="M174 299.5 L204 299.5 M174 303 L196 303" stroke="#701001" stroke-width="1.2" stroke-linecap="round"/>3. Limbs and tails are G.tube(points, widths): filled tapered tubes along a smooth centre-line with round caps (cap0/cap1: false where a limb enters a sleeve).
4. The pool shadow is two blobs through the chalk filter (displaced, mottled alpha): #B95A93, then a #A04A80 core at 0.8.
Failure modes
The set breaks when the background changes. Night Shift and Rainy Refactor were first drawn on indigo and teal; judges scored both 7. Back on
#FF81BEthey scored 8.5 and 9. Put night, rain and weather inside windows and screens only.Grain reads as dirty TV static. The first draft used uniform grain over everything. Gather it at edges and into dark tones (the filter above); use
grainLon big light planes; keep cream fur, faces' details and decor crisp.Glows look digital. Radial glow and rim-light gradients were removed from the night scene. Light is a white cone at 0.5 opacity through the
speckfilter, plus a speckled pool.The hero disappears. Orange fur on hot pink has little contrast. Stage the head over a dark screen, pane or frame.
Mitten paws. A dark blob for a paw reads as a glove. Build palm + finger tubes + thumb tube + 0.7 creases, with the fingers in front of the object and the thumb closing over it.
The lap reads as a skirt. In the self-test a lap shape wider than the hips, with thin shins set inside it, read as a green tutu. Keep the lap within the hip width and make the shins nearly as wide as the knees.
Floating animal. A sitter that stops at the ledge edge hovers. Overlap the hips 4-6 px onto the surface, hang the feet in front of the face, and put the pool shadow under the whole group.
An outline creeps in. A 1 px stroke around a prop turns it into a different style. Use a value step.
Clutter. More than 8 leaves or decor inside the scene box crowds the card. Keep leaves in the margins.
Text. Wordmarks or labels break the painterly read. At most a 7 px monospace clock on a screen.
Examples
examples/cozy-commit.svg(Cozy Commit): a fox curled on an open laptop on a book stack, scarf with a{ }pattern, cocoa mug. Shows a lying pose, resting paws, sleepy lidded eyes, the scarf pattern, book shading withgEnds, a commit graph on screen.examples/rainy-refactor.svg(Rainy Refactor): an otter in a knit sweater on a rainy window sill, holding a tea mug in both paws. Shows the gripping paw build, knit/rib/Fair-Isle patterns, sleeve cast shadows, a seated pose with feet over the ledge, rain clipped to the pane, a diff on a small laptop.examples/night-shift.svg(Night Shift): an owl in a beanie perched on a desk-lamp arm, watching a monitor at 02:14. Shows perching toes, a feather-tier wing, the speckled lamp cone, a round night window, sticky notes, a desk with legs and contact shadows.
Workflow
Run commands from the skill folder (the one holding this file). Pick a prefix such as wk-.
Brief: name the subject in 3 words and the one action that shows it ("rabbit ships a side project": pressing deploy, a tiny rocket sticker). Pick the animal and one dark backdrop for its head.
Pose and hero: choose one of the working poses or a close variant; decide every paw's job (grip, rest, perch) and, for each gripping paw, left or right and where the thumb goes (
references/craft.md).Block: write a generator (
gen.mjsin your own work folder) that importsscripts/gouache.mjsby absolute path (an ES import resolves against the generator file, not the cwd); place the furniture, pool shadow and the animal's big shapes with flat colours first; render.Draw: replace flat fills with ramps and overlays, add patterns, the face, paws, props; add decor and leaves last, in the margins.
Render:
node scripts/render.mjs card.svg card.png.Sheet:
node scripts/render.mjs --sheet sheet.png examples/*.svg card.svg. Ask "same hand, same set?"Zoom:
node scripts/render.mjs card.svg z-face.png --zoom x,y,w,h --scale 8on the face, every paw, the feet and each contact (hips on ledge, mug on surface).Critique on the five criteria in
references/craft.md, harshly; fix; re-render. Expect 4 rounds.Lint:
node scripts/lint.mjs card.svg --prefix wk- --palette style.json. Fix every ERROR; each WARN must be a deliberate fur or tint ramp.
Verify
[ ] Background is one full-bleed
#FF81BErect with norx.[ ] No shape has a stroke outline; the only strokes are detail lines at 0.6-1.3, cream decor lines and code lines.
[ ] Every large shape has a gradient and sits inside a
grainorgrainLgroup; at 8x the specks thicken at its edges.[ ] Face details, whiskers, code and cream decor are crisp (outside the grain groups).
[ ] Eyes: cream ring, offset pupil, star highlight on the look side, small dot opposite, both pupils looking the same way.
[ ] Blush at 0.6, whiskers present on mammals, nose with a shine.
[ ] Each paw is built from finger or toe tubes, and every thumb sits on the side its handedness requires.
[ ] The animal's head sits in front of a dark plane.
[ ] A chalky
#B95A93pool sits under the whole group; nothing floats; contacts overlap by a few px.[ ] 7-8 leaves, 2 bursts, 6-7 stars, 18-21 dots, all in the margins, none touching the scene or the card edge.
[ ] Scene 330-360 px wide, centred on x 240 within 10 px, pool bottom at y 310-330.
[ ] No text beyond a tiny monospace screen label; no blue, grey or pure white outside the lamp cone.
[ ] Head at least as wide as the torso, head height at least 0.8 x torso height (measure the paths).
[ ] Every id starts with the prefix; lint passes.
Files
- ATTRIBUTION.mdAdded by AutoGineer878 B
- LICENSELicence file added by AutoGineer1.0 KiB
- SKILL.md20.5 KiB
- agents/openai.yaml282 B
- demo/PROMPT.md2.4 KiB
- demo/index.html121.9 KiB
- demo/preview.jpg123.3 KiB
- examples/cozy-commit.svg25.6 KiB
- examples/night-shift.svg33.6 KiB
- examples/rainy-refactor.svg53.5 KiB
- references/craft.md10.3 KiB
- scripts/gouache.mjsScript18.3 KiB
- scripts/lint.mjsScript3.0 KiB
- scripts/render.mjsScript5.0 KiB
- style.json14.0 KiB
style.json
{
"skill": "illustration-grainy-gouache",
"num": "07",
"name": "Grainy gouache",
"blurb": "Riso grain, soft shading, cosy animals",
"mechanism": "Outline-free shapes, each filled with a soft light-to-dark gradient and then speckled with a fine dark grain that thickens toward the shape's edges and into its shadows, sitting on hot pink #FF81BE with a chalky purple pool beneath.",
"background": "#FF81BE",
"palette": [
{
"name": "Background pink",
"hex": "#FF81BE",
"role": "full-bleed card background, every card"
},
{
"name": "Cream",
"hex": "#FDD5A8",
"role": "sparkles, bursts, dots, steam, code text, rain, fur ticks"
},
{
"name": "Cream light 1",
"hex": "#FFF3E2",
"role": "tiny glints on drops, pompom, mug edge"
},
{
"name": "Cream light 2",
"hex": "#FFF0DC",
"role": "tiny glints on drops, pompom, mug edge"
},
{
"name": "Pool shadow",
"hex": "#B95A93",
"role": "chalky floor pool under the group"
},
{
"name": "Pool core",
"hex": "#A04A80",
"role": "darker pool core at opacity 0.8"
},
{
"name": "Blush",
"hex": "#FF7FB0",
"role": "cheek ellipses at opacity 0.6"
},
{
"name": "Vermilion",
"hex": "#FF4816",
"role": "flat accents: editor dot, bookmark, commit node"
},
{
"name": "Vermilion cylinder 1",
"hex": "#B02B08",
"role": "mugs and pots, horizontal 5-stop ramp"
},
{
"name": "Vermilion cylinder 2",
"hex": "#F2440F",
"role": "mugs and pots, horizontal 5-stop ramp"
},
{
"name": "Vermilion cylinder 3",
"hex": "#FF5A24",
"role": "mugs and pots, horizontal 5-stop ramp"
},
{
"name": "Vermilion cylinder 4",
"hex": "#F0420E",
"role": "mugs and pots, horizontal 5-stop ramp"
},
{
"name": "Vermilion cylinder 5",
"hex": "#9C2306",
"role": "mugs and pots, horizontal 5-stop ramp"
},
{
"name": "Vermilion fur 1",
"hex": "#FF5A26",
"role": "fox body radial ramp"
},
{
"name": "Vermilion fur 2",
"hex": "#FB4714",
"role": "fox body radial ramp"
},
{
"name": "Vermilion fur 3",
"hex": "#D9380C",
"role": "fox body radial ramp"
},
{
"name": "Vermilion fur 4",
"hex": "#9C2406",
"role": "fox body radial ramp"
},
{
"name": "Vermilion deep 1",
"hex": "#C2300A",
"role": "inner ears, mug handle, gilt-rule ink"
},
{
"name": "Vermilion deep 2",
"hex": "#7A1A04",
"role": "inner ears, mug handle, gilt-rule ink"
},
{
"name": "Coral 1",
"hex": "#FF6A3A",
"role": "code accent, mug rim, sticky note"
},
{
"name": "Coral 2",
"hex": "#FF6A36",
"role": "code accent, mug rim, sticky note"
},
{
"name": "Knit 1",
"hex": "#EE430F",
"role": "knit chevron pattern base + stitch"
},
{
"name": "Knit 2",
"hex": "#C2320A",
"role": "knit chevron pattern base + stitch"
},
{
"name": "Knit dark 1",
"hex": "#D2360B",
"role": "shaded knit for the torso back"
},
{
"name": "Knit dark 2",
"hex": "#A42807",
"role": "shaded knit for the torso back"
},
{
"name": "Rib 1",
"hex": "#E03A0C",
"role": "rib stripes: cuffs, collar, hem, beanie brim"
},
{
"name": "Rib 2",
"hex": "#A8290A",
"role": "rib stripes: cuffs, collar, hem, beanie brim"
},
{
"name": "Rib 3",
"hex": "#D8380C",
"role": "rib stripes: cuffs, collar, hem, beanie brim"
},
{
"name": "Sleeve light",
"hex": "#FF8A50",
"role": "inner-sleeve light overlay at 0.12-0.22"
},
{
"name": "Ochre",
"hex": "#E7A13A",
"role": "code keywords, sticky notes, band borders"
},
{
"name": "Gold",
"hex": "#D88A1E",
"role": "gilt rules, fringe, owl toes, editor dot"
},
{
"name": "Ochre ramp 1",
"hex": "#E38C1E",
"role": "window frames, book covers (vertical)"
},
{
"name": "Ochre ramp 2",
"hex": "#C96E05",
"role": "window frames, book covers (vertical)"
},
{
"name": "Ochre ramp 3",
"hex": "#9E5004",
"role": "window frames, book covers (vertical)"
},
{
"name": "Wood top 1",
"hex": "#F0A23C",
"role": "desk tops and sills (vertical)"
},
{
"name": "Wood top 2",
"hex": "#D98418",
"role": "desk tops and sills (vertical)"
},
{
"name": "Wood edge",
"hex": "#F6B860",
"role": "0.9 highlight line on a top front edge"
},
{
"name": "Wood contact",
"hex": "#7A3A04",
"role": "contact ellipses under objects at 0.38"
},
{
"name": "Maroon ramp 1",
"hex": "#8A220A",
"role": "books, desk and sill fronts, round frames"
},
{
"name": "Maroon ramp 2",
"hex": "#701001",
"role": "books, desk and sill fronts, round frames"
},
{
"name": "Maroon ramp 3",
"hex": "#4A0901",
"role": "books, desk and sill fronts, round frames"
},
{
"name": "Maroon deep 1",
"hex": "#5A0E02",
"role": "aprons, base and sweat overlays"
},
{
"name": "Maroon deep 2",
"hex": "#3A0601",
"role": "aprons, base and sweat overlays"
},
{
"name": "End shade",
"hex": "#1A0402",
"role": "end-shade overlay on boxes and spines"
},
{
"name": "Screen 1",
"hex": "#8A2632",
"role": "screen radial ramp"
},
{
"name": "Screen 2",
"hex": "#621626",
"role": "screen radial ramp"
},
{
"name": "Screen 3",
"hex": "#3A0A14",
"role": "screen radial ramp"
},
{
"name": "Night sky 1",
"hex": "#3A1424",
"role": "night window radial"
},
{
"name": "Night sky 2",
"hex": "#1C0910",
"role": "night window radial"
},
{
"name": "Rain pane 1",
"hex": "#22090F",
"role": "rainy window pane (vertical)"
},
{
"name": "Rain pane 2",
"hex": "#3A0E18",
"role": "rainy window pane (vertical)"
},
{
"name": "Rain pane 3",
"hex": "#4E1420",
"role": "rainy window pane (vertical)"
},
{
"name": "Bezel",
"hex": "#191113",
"role": "laptop and monitor bezels"
},
{
"name": "Black ramp 1",
"hex": "#3A2E31",
"role": "lamps, decks, stands, ear tips, paws"
},
{
"name": "Black ramp 2",
"hex": "#0D0809",
"role": "lamps, decks, stands, ear tips, paws"
},
{
"name": "Black edge",
"hex": "#6A5A5F",
"role": "highlight line on a black edge, lamp joints"
},
{
"name": "Face ink 1",
"hex": "#120A0B",
"role": "mouth, lid line, whiskers"
},
{
"name": "Face ink 2",
"hex": "#1A0E0F",
"role": "mouth, lid line, whiskers"
},
{
"name": "Nose shine",
"hex": "#6A5A5C",
"role": "shine ellipse on the nose"
},
{
"name": "Eye ring",
"hex": "#F7D6A6",
"role": "cream ring of every eye"
},
{
"name": "Cream fur 1",
"hex": "#FFE6C4",
"role": "muzzles, chests, tail tips (radial)"
},
{
"name": "Cream fur 2",
"hex": "#FCD9AE",
"role": "muzzles, chests, tail tips (radial)"
},
{
"name": "Cream fur 3",
"hex": "#F0BF88",
"role": "muzzles, chests, tail tips (radial)"
},
{
"name": "Cream fur alt 1",
"hex": "#FFE3BD",
"role": "belly and cheek ramp variant"
},
{
"name": "Cream fur alt 2",
"hex": "#FBD3A2",
"role": "belly and cheek ramp variant"
},
{
"name": "Cream fur alt 3",
"hex": "#EDB27A",
"role": "belly and cheek ramp variant"
},
{
"name": "Cream cylinder 1",
"hex": "#E2A872",
"role": "cream mugs, horizontal ramp"
},
{
"name": "Cream cylinder 2",
"hex": "#FAD4A6",
"role": "cream mugs, horizontal ramp"
},
{
"name": "Cream cylinder 3",
"hex": "#FFE6C6",
"role": "cream mugs, horizontal ramp"
},
{
"name": "Cream cylinder 4",
"hex": "#F6CC98",
"role": "cream mugs, horizontal ramp"
},
{
"name": "Cream cylinder 5",
"hex": "#D89A62",
"role": "cream mugs, horizontal ramp"
},
{
"name": "Cream cylinder 6",
"hex": "#FFE9CC",
"role": "cream mugs, horizontal ramp"
},
{
"name": "Ivy 1",
"hex": "#16592C",
"role": "ivy leaf halves, vines"
},
{
"name": "Ivy 2",
"hex": "#0F4A23",
"role": "ivy leaf halves, vines"
},
{
"name": "Ivy 3",
"hex": "#0C3F1D",
"role": "ivy leaf halves, vines"
},
{
"name": "Ivy 4",
"hex": "#082F15",
"role": "ivy leaf halves, vines"
},
{
"name": "Ivy ink 1",
"hex": "#06150A",
"role": "ivy veins and stem"
},
{
"name": "Ivy ink 2",
"hex": "#0A1A0E",
"role": "ivy veins and stem"
},
{
"name": "Olive 1",
"hex": "#7A7318",
"role": "olive leaf halves, plant"
},
{
"name": "Olive 2",
"hex": "#6A6416",
"role": "olive leaf halves, plant"
},
{
"name": "Olive 3",
"hex": "#524810",
"role": "olive leaf halves, plant"
},
{
"name": "Olive 4",
"hex": "#3C350C",
"role": "olive leaf halves, plant"
},
{
"name": "Olive ink",
"hex": "#1C1804",
"role": "olive veins and stems"
},
{
"name": "Olive cylinder 1",
"hex": "#5E5712",
"role": "olive mugs and handles"
},
{
"name": "Olive cylinder 2",
"hex": "#352F0A",
"role": "olive mugs and handles"
},
{
"name": "Olive cylinder 3",
"hex": "#4B4210",
"role": "olive mugs and handles"
},
{
"name": "Olive cylinder 4",
"hex": "#8A8420",
"role": "olive mugs and handles"
},
{
"name": "Olive accent 1",
"hex": "#A8B030",
"role": "code green, editor dot, scarf base"
},
{
"name": "Olive accent 2",
"hex": "#8A9416",
"role": "code green, editor dot, scarf base"
},
{
"name": "Olive accent 3",
"hex": "#545C01",
"role": "code green, editor dot, scarf base"
},
{
"name": "Oak 1",
"hex": "#E08A1C",
"role": "oak leaf halves"
},
{
"name": "Oak 2",
"hex": "#D47A0C",
"role": "oak leaf halves"
},
{
"name": "Oak 3",
"hex": "#A85A05",
"role": "oak leaf halves"
},
{
"name": "Oak ink",
"hex": "#3A1404",
"role": "oak veins and stems"
},
{
"name": "Fur amber 1",
"hex": "#E59240",
"role": "brown fur, radial"
},
{
"name": "Fur amber 2",
"hex": "#CF7426",
"role": "brown fur, radial"
},
{
"name": "Fur amber 3",
"hex": "#A9531A",
"role": "brown fur, radial"
},
{
"name": "Fur amber 4",
"hex": "#7A3510",
"role": "brown fur, radial"
},
{
"name": "Fur amber limb 1",
"hex": "#B85E1E",
"role": "legs, arms, tail (vertical)"
},
{
"name": "Fur amber limb 2",
"hex": "#8E4414",
"role": "legs, arms, tail (vertical)"
},
{
"name": "Fur amber limb 3",
"hex": "#5E280C",
"role": "legs, arms, tail (vertical)"
},
{
"name": "Fur amber limb 4",
"hex": "#D47A2C",
"role": "legs, arms, tail (vertical)"
},
{
"name": "Paw dark 1",
"hex": "#6A3418",
"role": "paws, foot pads, toes"
},
{
"name": "Paw dark 2",
"hex": "#32150A",
"role": "paws, foot pads, toes"
},
{
"name": "Paw dark 3",
"hex": "#5A2A12",
"role": "paws, foot pads, toes"
},
{
"name": "Paw dark 4",
"hex": "#3E1A0A",
"role": "paws, foot pads, toes"
},
{
"name": "Fur ink 1",
"hex": "#3A1A0C",
"role": "otter whiskers, creases, muzzle dots, inner ear"
},
{
"name": "Fur ink 2",
"hex": "#1A0A04",
"role": "otter whiskers, creases, muzzle dots, inner ear"
},
{
"name": "Fur ink 3",
"hex": "#7A4A30",
"role": "otter whiskers, creases, muzzle dots, inner ear"
},
{
"name": "Fur ink 4",
"hex": "#5A2408",
"role": "otter whiskers, creases, muzzle dots, inner ear"
},
{
"name": "Fur owl 1",
"hex": "#F0962E",
"role": "orange fur, radial"
},
{
"name": "Fur owl 2",
"hex": "#DC7A14",
"role": "orange fur, radial"
},
{
"name": "Fur owl 3",
"hex": "#B85A08",
"role": "orange fur, radial"
},
{
"name": "Fur owl 4",
"hex": "#8A3E04",
"role": "orange fur, radial"
},
{
"name": "Owl wing 1",
"hex": "#7E2A06",
"role": "wing base, covert tiers, feather lines"
},
{
"name": "Owl wing 2",
"hex": "#641E04",
"role": "wing base, covert tiers, feather lines"
},
{
"name": "Owl wing 3",
"hex": "#461402",
"role": "wing base, covert tiers, feather lines"
},
{
"name": "Owl wing 4",
"hex": "#E8832A",
"role": "wing base, covert tiers, feather lines"
},
{
"name": "Owl wing 5",
"hex": "#C86416",
"role": "wing base, covert tiers, feather lines"
},
{
"name": "Owl wing 6",
"hex": "#B4520E",
"role": "wing base, covert tiers, feather lines"
},
{
"name": "Owl wing 7",
"hex": "#94400A",
"role": "wing base, covert tiers, feather lines"
},
{
"name": "Owl wing 8",
"hex": "#A04610",
"role": "wing base, covert tiers, feather lines"
},
{
"name": "Owl disk 1",
"hex": "#FBC07A",
"role": "facial disk, belly chevrons"
},
{
"name": "Owl disk 2",
"hex": "#F4A850",
"role": "facial disk, belly chevrons"
},
{
"name": "Owl disk 3",
"hex": "#E48C2C",
"role": "facial disk, belly chevrons"
},
{
"name": "Owl disk 4",
"hex": "#B8600E",
"role": "facial disk, belly chevrons"
},
{
"name": "Cocoa 1",
"hex": "#4A1405",
"role": "drink inside mugs, beak"
},
{
"name": "Cocoa 2",
"hex": "#7A3A0C",
"role": "drink inside mugs, beak"
},
{
"name": "Cocoa 3",
"hex": "#3A1A08",
"role": "drink inside mugs, beak"
}
],
"line": "No outlines; fills only. Detail lines 0.6-1.3 px round-capped in dark brown (veins 0.6-0.7, whiskers 0.75-0.8, mouth 1.05); cream decor lines 1.1-1.35; screen code 2.2-2.6.",
"rules": [
"Hot pink #FF81BE background on every card, even at night",
"No outlines: shapes separate by value steps and grain",
"Every big shape gets a gradient plus edge-gathered grain",
"Big glossy eyes: cream ring, offset pupil, star highlight",
"Chalky purple-pink pool under the group; nothing floats",
"7-8 grained leaves and cream sparkles, margins only"
],
"cards": [
{
"file": "cozy-commit.svg",
"title": "Cozy Commit",
"subject": "A fox in a { } scarf curled on an open laptop on a book stack, with cocoa"
},
{
"file": "rainy-refactor.svg",
"title": "Rainy Refactor",
"subject": "An otter in a knit sweater on a rainy window sill, tea in both paws, a diff on a laptop"
},
{
"file": "night-shift.svg",
"title": "Night Shift",
"subject": "An owl in a beanie perched on a desk-lamp arm, watching a monitor at 02:14"
}
]
}Requirements and compatibility
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Needs: Needs Node.js
Security
What our scanner noticed· Low risk
- Scripts that your agent may run
This skill includes scripts that your agent may run. Read them before you use it.
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Created by
- Meng To
- Publisher
- Meng To (Community)
- Source
- MengTo/Skills · agent-skills/illustration/illustration-grainy-gouache · commit 5ea1661
- Licence
- MIT License (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by Meng To or Meng To.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download illustration-grainy-gouache.zip