Use it with your agent
Copy this prompt into any agent that can run Python. It reads the skill, draws with house.py, and hands back the files.
Draw a gardener with a watering can, waving hello, in the House Hand style. First read https://househand.yolopreneur.lol/skill.md and follow it. Download house.py from the same site and draw with it in Python, keeping its rules: three fingers and a thumb, four toes, limbs as round tubes, one ink line weight, flat colours from its palette. Give me the SVG and a PNG. Then run drawon.py on the SVG so I also get a version that draws itself.
What comes back
- SVGThe drawing as one file: flat colours, one ink line, nothing linked from outside.
- PNGRendered from the SVG at whatever size you need.
- A drawing that draws itselfdrawon.py replays the drawing stroke by stroke, head first. It plays in any browser, and in an ordinals explorer once inscribed.
- VideoAn MP4 or GIF of the drawing being made, for posts and previews.
Coming next: an API and an MCP server, so an agent can ask for a drawing and get these files back without running any code, and Lottie files for apps.
The files: skill.md (how to draw in the hand), house.py (the drawing library), drawon.py (the replay), rig.py (the animation rig), llms.txt (this list, for agents).
Plates
32 drawings, in the order they were drawn. Each one draws itself when you scroll to it. Click a thumbnail to jump there.
1Inflated cube
2Smooth bean
3Tube discipline
4Reduce by half
5Edgy, not eggy
6The face grid
7Expressions
8Head turnaround, five views
9Five bodies
10Noodle limbs
11The hand library
12Feet and footwear
13Cuffs and lips
14Saturated shadows
15Strokeless matter
16Attitude line-up
17Pose sheet, twelve up
18Full turnaround, eight views and a hero
19Depth without blur
20Dark-key inversion
21Twelve-frame loop, contact sheet
22The loop itself
23Phly's character sheet
24Phly, hero
25Phly's mark
26Phly on the mug
27The tea garden
28The tea garden assembles
29Bunny
30Unicorn
31Bunny and Unicorn dance
32The dance loop
How the drawings were made
The studio had a published style guide it loved and no hand that could draw in it. So the guide was read front to back and turned into twenty-one katas, about four to a belt, each with pass conditions written as things a reviewer could see. Every drawing on this page comes out of one Python file, house.py, which grew a function per belt: head, bean, tubes, hands, feet, garments, shadows, FX, and finally figure().
Two graders, and neither of them draws. svg_lint.py checks the mechanical rules on the SVG itself: one line weight, round caps and joins, palette colours only, no gradients or filters. Cloudflare's Clef model looks at the rendered picture and answers each rule as a probability. A sheet clears its kata at 1.8 out of 3 with no single check under 0.4. When a sheet stalled, the move was to ask the grader one claim at a time and fix whichever came back weakest, never to argue with the number.
The plates replay their own making. drawon.py traces every ink line at one steady pen speed, lets each shape fill with paper as it closes, then floods in the flat colours, the shadows and the effects. house.py marks the parts of each character as it draws them, so the replay goes the way an artist works: head first, feet last.
White belt
One form at a time
Four katas on single forms: the inflated cube, the smooth bean, tube discipline, reduce-by-half. This is where the lint grader was written: constant stroke width, round caps and joins, palette-only fills, no gradients or filters. Every later sheet has to pass it before a reviewer ever sees it.
The first lesson was cheap and permanent: the producer never grades its own work. The lint is deterministic; the visual judgement goes to a separate model.

1Inflated cube
Corners 9% of edge, every edge bowed, interior lines stopping short of the centre.

2Smooth bean
Seven anchors, one arced back, a belly circle at ~60% of the height.

3Tube discipline
Constant-width tubes, loop radius never below the width, round ends.

4Reduce by half
The same object at half the line count; features deleted, not shrunk.
Yellow belt
The head
The head is an oblong, not an egg: 1.2× taller than wide, flattened top and bottom. Eyes sit on the upper third, the mouth just below them. Kata 8 (the turnaround) took seven attempts; the breakthrough came from asking the grader one claim at a time — closed-lobe ears and a compressed far eye lifted it from 1.77 to 1.80.

5Edgy, not eggy

6The face grid

7Expressions
Only the eyes and mouth change.

8Head turnaround, five views
Green belt
Bodies, limbs, hands, feet
Beans for torsos, tubes for limbs, and the two house rules the creative director set over the field guide: hands are three fingers plus a thumb (thumb 1.15×, not oversized), feet have four toes. Kata 9 needed the bean on the hip line and shoulders at 0.72× before it cleared.

9Five bodies

10Noodle limbs
Constant width, single curves, no elbows.

11The hand library

12Feet and footwear
Blue belt
Garments, shadows, matter
Every opening is an ellipse with a lip; sleeves and trouser legs are 1.6–1.7× the limb. Every shadow is a more saturated version of its base hue, one hard-edged strokeless shape per form. FX — steam, sparkles, liquid, fire — carry no outline at all. The lint learned the saturated-shadow rule here (hue ±5°, saturation up, value down by at most 0.12).

13Cuffs and lips

14Saturated shadows

15Strokeless matter
Brown belt
Whole figures
The full-figure taste test. One library call, figure(), draws an on-model character from a view, a lean, arm and leg targets, hands, props and accessories. Kata 17 cleared once the sitting pose actually sat (hips at bench height); kata 18 cleared once the figures were drawn big enough for the grader to see cuffs and shadows at all — a rule the dojo now keeps: nothing under about 70px of head height on a graded sheet.

16Attitude line-up
Four characters, one ground shadow.

17Pose sheet, twelve up

18Full turnaround, eight views and a hero
Black belt
Depth, dark key, motion
Depth without blur: overlap, scale and value only. The dark-key inversion swaps the shadow family in as the base and lights the scene with a strokeless halo. The twelve-frame loop exposed a real bug — figure() had a fixed ink width, so a half-scale figure drew with double-weight line — and taught the reviewer-facing trick of putting the seam on the sheet: frames 1 and 2 repeated, ghosted, after 12.

19Depth without blur

20Dark-key inversion

21Twelve-frame loop, contact sheet

22The loop itself
Twelve frames, a second long.
After the ladder
Phly, the mug, the garden
With the hand locked in, the real work: the phly.cloud mascot rebuilt as one closed silhouette with wings, cap, goggles and scarf (2.00 first time); the old mug scene redrawn with figure(); and the maths.teahub.xyz title card remade as a frame-by-frame animation from the same drawing library.
Two of those three never cleared the tangent check (0.36 against a 0.4 gate). The probe named the same thing every time: a figure or object resting on a horizontal set line. That's the rule the next version of the dojo gets — break the line with a clear overlap, or lift the thing off it.

23Phly's character sheet
Hero, three expressions and the mark.

24Phly, hero

25Phly's mark
Drawn to work as a favicon.

26Phly on the mug
The old scene, house hand. Tangents 0.36.

27The tea garden
End frame. Tangents 0.36.

28The tea garden assembles
Nine seconds, ending on the frame above.
New cast
Bunny, Unicorn, and a dance
Two new cast members, each with a card of her own: Bunny (kata 23) — long lilac ears, the right one flopping, a pink dress with puff sleeves and a cotton tail — and Unicorn (kata 24) — a gold spiral horn, pony ears, a lavender mane with one pink streak, white hoof boots. The library grew a little for each: hooks to draw parts behind, between and over the body, a palm that stays wrist-wide on big hands, and opt-in fixes for small figures, where the constant 10px line closes cuffs, soles and collars up into solid ink.
Bunny cleared at 1.81. Unicorn plateaued at 1.65 over seven grades and is committed ungated, with her scores. Then the two of them got a scene. The first version held hands, and every clasp — fingers under a fist, one fist hiding both hands — came back as the worst tangent on the page; a high five with a clear gap passed every check.
Posing them in the rig showed what the sheets hid: arms that grew from under the chin, a three-quarter view that put the far shoulder over the chest so they looked hunched, and a skirt drawn as if from below, with the legs behind its opening. Redrawn with the shoulders below the chin, each limb layered whole and the skirt seen from a little above, Bunny held at 1.81, Unicorn rose to 1.70, and the dance kept every check above 0.4.

29Bunny
Hero, turnaround, ear moods, colour chips and the mark.

30Unicorn
Hero, turnaround, moods carried by the ears and the horn's sparkles, the mark. Ungated (gate 1.8).

31Bunny and Unicorn dance
The still. Every check at least 0.4; tangents 0.41.

32The dance loop
Two seconds: two hops, and a clap on the second landing.