THE INTRO CARD is free — what an AI skill card is and how to use one Download →Lost Lauren, contact us

THE INSTRUMENTS · Nº 1188 · EDITION 1 · LAUNCHING SOON

LUND CARDS · THE INSTRUMENTSNº 1188 PROPOSED
THE MODEL SHEET CARD — the LSC-1 face
THE CARD AS TEXT · FOR EYES AND FOR MACHINES

THE MODEL SHEET CARD · a character kept on model, in numbers

WAKES WHEN a character looks different in every shot, or a mascot must stay the same everywhere

THE LOOP

  1. new · the character in heads and colours
  2. check-spec · one root, the column adds up
  3. turnaround and expressions, from the spec
  4. check · a drawing, rig or frame measured
  5. fix what is off model; check again

NEVER

  • Redraw a character from memory
  • Call a colour close enough by eye
  • Judge acting or appeal as a measure

IT MAKES new — a starting spec in heads; check-spec — SOUND or NOT SOUND, with every fault; turnaround — four views, the ladder in heads, the palette; expressions — faces on one head; check — ON MODEL or OFF MODEL, item by item.

THE STANDARD one spec; the head is the unit; colours to a tolerance; measured, not judged; our own characters; sound before drawn.

IN THE BOX SKILL.md · CARD.md · TIN.md · START-HERE.md · LICENSE-NOTE.md · THE-CLAUSES.md · MY-LEDGER.md · WITNESS.md · SELFTEST.md · AUDIT.md · MANIFEST.md · HOSTS.md · scripts/modelsheet.py · references/THE-CHARACTER-SPEC.md · rules/ (4 doors) · system/ (2 prompts) · mcp/mcp_card.py · card.json · card.svg · card-machine.svg · card.html.

PROOF SELFTEST 12/12 · witnessed in Claude 2026-10-12 · Edition 1.

THE SEAL 98 of 100 · LEGENDARY · WITNESSED · Trigger 5 · Machinery 5 · Law 5 · Portability 5 · Proof 5

IT CAN BE WRONG an AI reading a text file: it can be wrong and can invent a number, a rule, a name or a date; check what matters against your own records and the source; the risk is yours. THE-CLAUSES.md rides in the packet and is part of the licence.

THE PUNCH · SHA-256 OF SKILL.MD · D6CAA4002C1E30B22247DB6D

THE FACE, FULL SIZE → · THE MACHINE FACE → · card.json →

THE MODEL SHEET CARD

a character kept on model, in numbers

NEW · CHECK-SPEC · TURNAROUND · EXPRESSIONS · CHECK

98LEGENDARYWITNESSEDIN CLAUDEIN LUNDRIN CHATGPT

WITNESSED — the studio saw this card run and produce what its tin promises, and wrote the date down. What the marks mean →

THE SPEC SHEET · READ BEFORE YOU BUY · THE STANDARD EVERY CARD MEETS →

SEAL
98 of 100 · LEGENDARY · WITNESSED
EDITION
E1 · witnessed 2026-10-12
MACHINE
scripts/modelsheet.py · 5 commands · selftest 12/12
RUNS
On your own computer. Standard library only, offline; no account, no key, no telemetry.
HOSTS
Claude · Claude Code · ChatGPT · Gemini · any AI that reads a file (HOSTS.md names each door)
LICENCE
One person, any number of their own AIs and computers · editions replace files · nothing renews · freeze, not loss
PUNCH
D6CAA4002C1E30B22247DB6D · sha-256 of SKILL.md · check any file against it →

CITE THIS CARDTHE MODEL SHEET CARD, Edition 1. Lund Studio LLC, Westminster, Colorado. https://lundr.tech/?view=model-sheet-card. Punch D6CAA4002C1E30B22247DB6D. Retrieved 2026-10-12.

What it is.

A character kept on model, whoever or whatever draws it. new writes a character spec in heads: every part's length, width, parent and pivot, landmarks, exact colours with tolerances, the finger count, the squash-and-stretch range and a never-change list; check-spec proves the spec sound; turnaround draws front, three-quarter, side and back views with a proportion ladder and the palette; expressions draws a sheet of faces on one head; check measures any SVG drawing, glTF rig or PNG frame against the spec and lists every part, colour and finger count that is off model, with its numbers.

It carries a machine that shows its working: new — a starting spec in heads; check-spec — SOUND or NOT SOUND, with every fault; turnaround — four views, the ladder in heads, the palette; expressions — faces on one head; check — ON MODEL or OFF MODEL, item by item — 12 checks in its selftest, every command on the record. It will never redraw a character from memory; never call a colour close enough by eye; never judge acting or appeal as a measure.

Six laws, written into the card.

They are in the card itself, so the AI follows them.

ONE SPECEvery sheet and every check reads the same spec file; nothing is drawn from memory.
THE HEAD IS THE UNITLengths and widths are in heads, so the measure holds at any size.
COLOURS TO A TOLERANCEEach swatch has a tolerance in plain RGB distance; inside it is on model, just outside it has drifted.
MEASURED, NOT JUDGEDA check reports the numbers it read; acting, appeal and line quality are a person's call.
OUR OWN CHARACTERSThe examples are the studio's own; no character, design or look from any existing film or franchise.
SOUND BEFORE DRAWNA spec that does not add up is refused before any sheet is drawn from it.

What rides in the card.

In the card’s own voice, with a machine that shows its working.

THE GUIDEreferences/THE-CHARACTER-SPEC.md
THE MACHINEmodelsheet.py · five commandsnew — a starting spec in heads; check-spec — SOUND or NOT SOUND, with every fault; turnaround — four views, the ladder in heads, the palette; expressions — faces on one head; check — ON MODEL or OFF MODEL, item by item. Every command prints its working and refuses a bad input; 12 checks in its selftest, every command on the record.

What it does once your AI has it.

  • new A starting spec in heads
  • check-spec SOUND or NOT SOUND, with every fault
  • turnaround Four views, the ladder in heads, the palette
  • expressions Faces on one head
  • check ON MODEL or OFF MODEL, item by item
  • On the record Pell's spec is SOUND; the twin swatch and six fingers are refused. The turnaround draws four views and the expressions sheet eight faces on one head. The pose drawn to the spec is ON MODEL; the later pose is OFF MODEL on the drifted cap and the 40% longer arm; the rendered frame is ON MODEL; the rig is OFF MODEL for its missing hand.

What it will never do.

It will never redraw a character from memory; never call a colour close enough by eye; never judge acting or appeal as a measure.

It measures what is drawn and named: part sizes from an SVG's shapes (rotated parts are read along their best-fitting length), node names and material colours from glTF, and colours from PNG pixels. It does not read paths in full, judge a pose, or tell good drawing from bad. It is an AI reading a text file: it can be wrong, so check what matters against your own records and the source.

What’s in the buy.

  • CARD.md — the whole card: who it is, its laws, when it says no, what it carries · SKILL.md — the door your AI reads first · START-HERE.md — the first five minutes, for you
  • THE-CHARACTER-SPEC.md — the guide in references/, in the card's own voice
  • scripts/modelsheet.py — the machine: new · check-spec · turnaround · expressions · check, standard library only, selftest 12/12
  • WITNESS.md + SELFTEST.md — every command on the record, as it printed · MANIFEST.md, every file hashed · AUDIT.md, the twelve checks
  • MY-LEDGER.md — the card's memory, on your own machine · TIN.md · LICENSE-NOTE.md · THE-CLAUSES.md · HOSTS.md
  • card.svg + card-machine.svg + card.json · card.html, the card as one offline file · the doors for ChatGPT, Gemini, Cursor, Claude Code and MCP hosts (rules/, system/, mcp/)

PROOF · SELFTEST 12/12 · 5 COMMANDS ON THE RECORD · WITNESSED IN CLAUDE 2026-10-12 · EDITION 1 · PUNCH D6CAA4002C1E30B22247DB6D

ON EVERY DOOR · A CARD FOR YOUR AI, A FILE FOR YOUR COMPUTER

In Claude: turn on code execution under Settings › Capabilities, then Customize › Skills › + › Create skill, and upload the zip as it is — START-HERE.md in the box walks you through it, and tells you how to keep the ledger. In ChatGPT, Gemini and the rest: a Project, a GPT or a Gem with the card’s files attached and the short door in the box pasted as its instructions. The words run anywhere an AI reads Markdown; the machines run wherever the host runs Python. Witnessed in Claude only. The host marks →

Take it.

Nº 1188 PROPOSED — LAUNCHING SOON

Sold as is under the term printed. A card instructs an AI you operate; results depend on your model, your files and your judgement. Not medical, legal, tax or financial advice, never the person’s boss, and not a licence to practise. The terms →

ONE PAYMENT · NOTHING RENEWS ITSELF

OFFLINE · ONE LICENCE · PUNCH-CHECKABLE · THE STANDARD

One payment. The file is yours to keep and keeps working at its edition; new editions issued in the year after you buy reach you by email as replacement files. Tax is added at checkout where it applies. Nothing auto-renews.

One email when it is on sale, from the studio; nothing else, ever.

A TERM, NOT A SUBSCRIPTION: NOTHING RENEWS ITSELF AND NOBODY IS CHARGED AGAIN. WHEN A TERM ENDS THE FILES STAY ON YOUR COMPUTER AND STAY READABLE — FREEZE, NOT LOSS.

THE MACHINE · IN THE OPEN · FROM THE WITNESSED RUN OF 2026-10-12

modelsheet.py, every command showing its working.

A small Python program, standard library only. Your AI runs it; you can too. Every block below is pasted from the card’s own WITNESS.md, as printed.

newa starting spec in heads
check-specSOUND or NOT SOUND, with every fault
turnaroundfour views, the ladder in heads, the palette
expressionsfaces on one head
checkON MODEL or OFF MODEL, item by item
selftest12 checks that prove the machine; it must print 12/12
new · A STARTING SPEC IN HEADS
$ python3 scripts/modelsheet.py new "Pell the beaver mover" --heads 3 --fingers 4 --world "Beavertail Moving Co." --out pell.character.json
new · Pell the beaver mover · 3.0 heads · 15 parts · 5 swatches · 4 fingers → pell.character.json
edit the palette, the never-change list and any part, then run check-spec

The palette and the never-change list were set by hand in pell.character.json: fur, outline, eye, overalls, cap.
check-spec · SOUND OR NOT SOUND, WITH EVERY FAULT
$ python3 scripts/modelsheet.py check-spec pell.character.json
SOUND · Pell the beaver mover · 15 parts · 5 swatches · 0 faults

pell-bad.character.json: a second cap swatch one step from the first, and six fingers.
check-spec · SOUND OR NOT SOUND, WITH EVERY FAULT
$ python3 scripts/modelsheet.py check-spec pell-bad.character.json
FAULT · palette cap and cap2 are 1 apart, inside a tolerance: they cannot be told apart
FAULT · fingers must be 3, 4 or 5; the spec says 6
NOT SOUND · Pell the beaver mover · 15 parts · 6 swatches · 2 faults
turnaround · FOUR VIEWS, THE LADDER IN HEADS, THE PALETTE
$ python3 scripts/modelsheet.py turnaround pell.character.json --out pell-turnaround.svg
turnaround · Pell the beaver mover · 4 views (front, three-quarter, side, back) · ladder in heads · 5 swatches → pell-turnaround.svg
expressions · FACES ON ONE HEAD
$ python3 scripts/modelsheet.py expressions pell.character.json --out pell-faces.svg
expressions · Pell the beaver mover · 6 faces on one head (neutral, happy, sad, angry, surprised, thinking) → pell-faces.svg

pell-pose.svg: a drawing of Pell with every part named by id.
check · ON MODEL OR OFF MODEL, ITEM BY ITEM
$ python3 scripts/modelsheet.py check pell.character.json pell-pose.svg
  unit · the head is 60.0 px tall, so 1 head = 60.0 px
  ON  height · 3.00 heads drawn, 3.00 in the spec
  ON  foot_l · 0.10 heads long, spec 0.10
  ON  foot_r · 0.10 heads long, spec 0.10
  ON  fore_arm_l · 0.43 heads long, spec 0.43
  ON  fore_arm_r · 0.43 heads long, spec 0.43
  ON  hand_l · 0.22 heads long, spec 0.22
  ON  hand_r · 0.22 heads long, spec 0.22
  ON  head width · 0.85 heads, spec 0.85
  ON  pelvis · 0.20 heads long, spec 0.20
  ON  shin_l · 0.46 heads long, spec 0.46
  ON  shin_r · 0.46 heads long, spec 0.46
  ON  thigh_l · 0.48 heads long, spec 0.48
  ON  thigh_r · 0.48 heads long, spec 0.48
  ON  torso · 0.76 heads long, spec 0.76
  ON  upper_arm_l · 0.47 heads long, spec 0.47
  ON  upper_arm_r · 0.47 heads long, spec 0.47
  ON  colour head · #8A5A33 is fur (0 from #8A5A33, tol 18)
  ON  colour pelvis · #2F6DB0 is overalls (0 from #2F6DB0, tol 18)
  ON  colour torso · #2F6DB0 is overalls (0 from #2F6DB0, tol 18)
  ON  colour thigh_l · #2F6DB0 is overalls (0 from #2F6DB0, tol 18)
  ON  colour shin_l · #2F6DB0 is overalls (0 from #2F6DB0, tol 18)
  ON  colour foot_l · #2F6DB0 is overalls (0 from #2F6DB0, tol 18)
  ON  colour upper_arm_l · #2F6DB0 is overalls (0 from #2F6DB0, tol 18)
  ON  colour fore_arm_l · #2F6DB0 is overalls (0 from #2F6DB0, tol 18)
  ON  colour hand_l · #2F6DB0 is overalls (0 from #2F6DB0, tol 18)
  ON  colour thigh_r · #2F6DB0 is overalls (0 from #2F6DB0, tol 18)
  ON  colour shin_r · #2F6DB0 is overalls (0 from #2F6DB0, tol 18)
  ON  colour foot_r · #2F6DB0 is overalls (0 from #2F6DB0, tol 18)
  ON  colour upper_arm_r · #2F6DB0 is overalls (0 from #2F6DB0, tol 18)
  ON  colour fore_arm_r · #2F6DB0 is overalls (0 from #2F6DB0, tol 18)
  ON  colour hand_r · #2F6DB0 is overalls (0 from #2F6DB0, tol 18)
  ON  colour cap · #D9A21E is cap (0 from #D9A21E, tol 18)
ON MODEL · Pell the beaver mover · pell-pose.svg · 0 items off model

pell-pose-later.svg: the same drawing a few shots later, the cap a shade yellower and the left upper arm drawn 40% longer.
check · ON MODEL OR OFF MODEL, ITEM BY ITEM
$ python3 scripts/modelsheet.py check pell.character.json pell-pose-later.svg
  unit · the head is 60.0 px tall, so 1 head = 60.0 px
  ON  height · 3.00 heads drawn, 3.00 in the spec
  ON  foot_l · 0.10 heads long, spec 0.10
  ON  foot_r · 0.10 heads long, spec 0.10
  ON  fore_arm_l · 0.43 heads long, spec 0.43
  ON  fore_arm_r · 0.43 heads long, spec 0.43
  ON  hand_l · 0.22 heads long, spec 0.22
  ON  hand_r · 0.22 heads long, spec 0.22
  ON  head width · 0.85 heads, spec 0.85
  ON  pelvis · 0.20 heads long, spec 0.20
  ON  shin_l · 0.46 heads long, spec 0.46
  ON  shin_r · 0.46 heads long, spec 0.46
  ON  thigh_l · 0.48 heads long, spec 0.48
  ON  thigh_r · 0.48 heads long, spec 0.48
  ON  torso · 0.76 heads long, spec 0.76
  OFF upper_arm_l · 0.59 heads long, spec 0.47
  ON  upper_arm_r · 0.47 heads long, spec 0.47
  ON  colour head · #8A5A33 is fur (0 from #8A5A33, tol 18)
  ON  colour pelvis · #2F6DB0 is overalls (0 from #2F6DB0, tol 18)
  ON  colour torso · #2F6DB0 is overalls (0 from #2F6DB0, tol 18)
  ON  colour thigh_l · #2F6DB0 is overalls (0 from #2F6DB0, tol 18)
  ON  colour shin_l · #2F6DB0 is overalls (0 from #2F6DB0, tol 18)
  ON  colour foot_l · #2F6DB0 is overalls (0 from #2F6DB0, tol 18)
  ON  colour upper_arm_l · #2F6DB0 is overalls (0 from #2F6DB0, tol 18)
  ON  colour fore_arm_l · #2F6DB0 is overalls (0 from #2F6DB0, tol 18)
  ON  colour hand_l · #2F6DB0 is overalls (0 from #2F6DB0, tol 18)
  ON  colour thigh_r · #2F6DB0 is overalls (0 from #2F6DB0, tol 18)
  ON  colour shin_r · #2F6DB0 is overalls (0 from #2F6DB0, tol 18)
  ON  colour foot_r · #2F6DB0 is overalls (0 from #2F6DB0, tol 18)
  ON  colour upper_arm_r · #2F6DB0 is overalls (0 from #2F6DB0, tol 18)
  ON  colour fore_arm_r · #2F6DB0 is overalls (0 from #2F6DB0, tol 18)
  ON  colour hand_r · #2F6DB0 is overalls (0 from #2F6DB0, tol 18)
  OFF colour cap · #E8B03A has drifted from cap #D9A21E: 35 apart, tol 18
OFF MODEL · Pell the beaver mover · pell-pose-later.svg · 2 items off model

pell-frame.png: a rendered frame of Pell, 80 by 80.
check · ON MODEL OR OFF MODEL, ITEM BY ITEM
$ python3 scripts/modelsheet.py check pell.character.json pell-frame.png
  sampled 5440 figure pixels (every 1 px) of 80x80
  ON  cap · 25.0% on the swatch
  ON  eye · 0.0% on the swatch
  ON  fur · 32.5% on the swatch
  ON  outline · 0.0% on the swatch
  ON  overalls · 42.5% on the swatch
  ON  0.0% of the figure outside the palette (edges and shading; 5% allowed)
ON MODEL · Pell the beaver mover · pell-frame.png · 0 items off model

pell-rig.gltf: a rig whose right hand node was never made.
check · ON MODEL OR OFF MODEL, ITEM BY ITEM
$ python3 scripts/modelsheet.py check pell.character.json pell-rig.gltf
  ON  node foot_l
  ON  node foot_r
  ON  node fore_arm_l
  ON  node fore_arm_r
  ON  node hand_l
  OFF node hand_r · missing from the rig
  ON  node head
  ON  node pelvis
  ON  node shin_l
  ON  node shin_r
  ON  node thigh_l
  ON  node thigh_r
  ON  node torso
  ON  node upper_arm_l
  ON  node upper_arm_r
  ON  material overalls · #2F6DB0, nearest overalls (0 apart, tol 18)
OFF MODEL · Pell the beaver mover · pell-rig.gltf · 1 item off model

THE NUMBERS, NAMES AND DATES IN THESE RUNS ARE THE STUDIO’S OWN EXAMPLES, INVENTED FOR THE RECORD; NO REAL COMPANY, PERSON OR PROPERTY IS NAMED.

QUESTIONS AT THE TABLE

Asked before the wire.

What does it need from me?

New · the character in heads and colours. It asks first for the character's height in heads, its colours, its finger count, and the drawing, rig or frame to check, with its parts named by id or class.

Does it send anything anywhere?

No. The machine is a standard-library Python program that runs on your own computer and sends nothing anywhere; the words run wherever an AI reads Markdown. No server, no account, no key.

What is on the record?

The self-test (12/12) and every command run on real example inputs, pasted into WITNESS.md as they printed; the punch on the face is the SHA-256 of SKILL.md, so a downloaded copy can be checked against this room.

Can it be wrong?

Yes — it is an AI reading a text file. It measures what is drawn and named: part sizes from an SVG's shapes (rotated parts are read along their best-fitting length), node names and material colours from glTF, and colours from PNG pixels. It does not read paths in full, judge a pose, or tell good drawing from bad.

What will it never do?

It will never redraw a character from memory; never call a colour close enough by eye; never judge acting or appeal as a measure.

← THE INSTRUMENTS · THE FLOOR →

AT YOUR ELBOW, NEVER THE BOSS · NOT LEGAL, MEDICAL, TAX OR FINANCIAL ADVICE · NOT A PAYMENT CARD · © 2026 LUND STUDIO LLC

PAY BYAmerican Express Apple Pay Diners ClubDiscoverGoogle Pay Mastercard PayPalShop Pay Visa
CART · 0