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

THE APPS · Nº 1167 · EDITION 1 · LAUNCHING SOON

LUND CARDS · THE APPSNº 1167 PROPOSED
THE PRODUCT GRADE CARD — the LSC-1 face
THE CARD AS TEXT · FOR EYES AND FOR MACHINES

THE PRODUCT GRADE CARD · product photos, the product leading

WAKES WHEN product photos must be ready for the feed, or a carousel must read as one look

THE LOOP

  1. palette · the product's own colours
  2. grade · the batch as one look
  3. look · before and after, two frames
  4. check · 1080 × 1350, named, no border
  5. pack · two zips, never one

NEVER

  • Recolour a product
  • Add a border, a vignette or a blurred fill
  • Pack feed files and masters together

IT MAKES palette — the product's own colours and the lift to use; grade — the batch, one look, master and feed file; check — each feed file: size, name, no border; pack — two zips, never one.

THE STANDARD the product leads; read before lifting; lift, never recolour; full-bleed, always; two zips, never one; honest posts.

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/productgrade.py · references/THE-PRODUCT-GRADE.md · rules/ (4 doors) · system/ (2 prompts) · mcp/mcp_card.py · card.json · card.svg · card-machine.svg · card.html.

PROOF SELFTEST 8/8 · witnessed in Claude 2026-10-11 · 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 · 8F36B643C7ED7F61DACE4E23

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

THE PRODUCT GRADE CARD

product photos, the product leading

PALETTE · GRADE · CHECK · PACK

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-11
MACHINE
scripts/productgrade.py · 4 commands · selftest 8/8
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
8F36B643C7ED7F61DACE4E23 · sha-256 of SKILL.md · check any file against it →

CITE THIS CARDTHE PRODUCT GRADE CARD, Edition 1. Lund Studio LLC, Westminster, Colorado. https://lundr.tech/?view=product-grade-card. Punch 8F36B643C7ED7F61DACE4E23. Retrieved 2026-10-11.

What it is.

Product photographs graded to the house look for the feed, with the product leading every frame. palette reads the product's own colours from a photo, strongest first, marks warm browns as background, and prints the lift to use; grade grades a whole batch as one look (whites pulled to neutral, a gentle tone curve, the product's colours lifted but never moved in hue, warm backgrounds stepped back, clarity and a fine finish, no vignette) and writes each frame twice, a master and a full-bleed 1080 × 1350 feed file with the 4:5 crop placed on the product and the size in its name; check proves every feed file is 1080 × 1350, named with its size and free of any border; pack puts the feed files in an Instagram-only zip and the masters in a separate zip, and refuses to mix them.

It carries a machine that shows its working: palette — the product's own colours and the lift to use; grade — the batch, one look, master and feed file; check — each feed file: size, name, no border; pack — two zips, never one — 8 checks in its selftest, every command on the record. It will never recolour a product; never add a border, a vignette or a blurred fill; never pack feed files and masters together.

Six laws, written into the card.

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

THE PRODUCT LEADSWhites pure, blacks clean, the product's own colours lifted, the background stepped back.
READ BEFORE LIFTINGpalette reads the product's colours first, and the grade lifts those, never a guess.
LIFT, NEVER RECOLOURNo hue is moved and the lifts are capped, so the post shows what the buyer will get.
FULL-BLEED, ALWAYSFeed files are 1080 × 1350 with the 4:5 crop on the product; never a border, a vignette or a blurred fill.
TWO ZIPS, NEVER ONEFeed files go in an Instagram-only zip with the size in every name; the masters go in another, marked not for Instagram.
HONEST POSTSOther makers' logos stay as they are, and a gifted or paid post says so in its first line.

What rides in the card.

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

THE GUIDEreferences/THE-PRODUCT-GRADE.md
THE MACHINEproductgrade.py · four commandspalette — the product's own colours and the lift to use; grade — the batch, one look, master and feed file; check — each feed file: size, name, no border; pack — two zips, never one. Every command prints its working and refuses a bad input; 8 checks in its selftest, every command on the record.

What it does once your AI has it.

  • palette The product's own colours and the lift to use
  • grade The batch, one look, master and feed file
  • check Each feed file: size, name, no border
  • pack Two zips, never one
  • On the record Two test photos made for the demo: the hero's palette finds the volt (hues 48-55, 53.1%) and the blue (152-159) to lift and marks the warm brown mat as background; a JPEG is refused plainly; the two frames grade as one look into two 1080 × 1350 feed files that check 2 of 2 ready, while the masters fail the feed check as they should; the pack makes two zips, never one, and refuses to write over them.

What it will never do.

It will never recolour a product; never add a border, a vignette or a blurred fill; never pack feed files and masters together.

A rebuild of the Oct 3 2026 card on the standard library: the recipe and the palette, crop, check and pack rules are the record's, but it reads and writes PNG, not JPEG, and its pixels are not identical to the first cut's, which used two image libraries. Pure Python: a 12-megapixel photo takes minutes. A frame whose edge is blown to flat white reads as a border, so look at it. It grades the photos taken; it cannot add light that was never there. It names no brand and carries no shoot photos. 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-PRODUCT-GRADE.md — the guide in references/, in the card's own voice
  • scripts/productgrade.py — the machine: palette · grade · check · pack, standard library only, selftest 8/8
  • 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 8/8 · 4 COMMANDS ON THE RECORD · WITNESSED IN CLAUDE 2026-10-11 · EDITION 1 · PUNCH 8F36B643C7ED7F61DACE4E23

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º 1167 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-11

productgrade.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.

palettethe product's own colours and the lift to use
gradethe batch, one look, master and feed file
checkeach feed file: size, name, no border
packtwo zips, never one
selftest8 checks that prove the machine; it must print 8/8
palette · THE PRODUCT'S OWN COLOURS AND THE LIFT TO USE
$ python3 scripts/productgrade.py palette shoot/hero.png
hero.png · 240 × 180 · the vivid colours, strongest first:
  hues  48-55    53.1% of the vivid colour  · the product: lift it
  hues  16-23    36.2% of the vivid colour  · background warm: the grade steps it back
  hues 152-159   10.7% of the vivid colour  · the product: lift it
to lift exactly these: --lift 48-55,152-159
if the product itself is orange or brown, lift it with --lift; the grade steps warm browns back by design
palette · THE PRODUCT'S OWN COLOURS AND THE LIFT TO USE
$ python3 scripts/productgrade.py palette shoot/notes.jpg
refused: notes.jpg is a JPEG: convert it to PNG first; the machine reads PNG only
grade · THE BATCH, ONE LOOK, MASTER AND FEED FILE
$ python3 scripts/productgrade.py grade shoot --out OUT --order hero,detail
01 hero · 240 × 180 · whites × 1.019 1.011 0.971 · the 4:5 crop 144 × 180 from row 0 · feed file 01_hero_1080x1350.png
02 detail · 150 × 200 · whites × 0.994 0.995 1.011 · the 4:5 crop 150 × 188 from row 6 · feed file 02_detail_1080x1350.png
not read (convert to PNG first): notes.jpg
2 graded as one look · feed files in instagram-1080x1350/ · masters in masters-not-for-instagram/ · no vignette, no border
look before you post: a before-and-after of at least two frames
check · EACH FEED FILE: SIZE, NAME, NO BORDER
$ python3 scripts/productgrade.py check OUT/instagram-1080x1350
ok   01_hero_1080x1350.png
ok   02_detail_1080x1350.png
2 of 2 ready to post
check · EACH FEED FILE: SIZE, NAME, NO BORDER
$ python3 scripts/productgrade.py check OUT/masters-not-for-instagram
FIX  01_hero_GRADED_MASTER_240x180.png  · it is 240 × 180, not 1080 × 1350; the size is not in its name
FIX  02_detail_GRADED_MASTER_150x200.png  · it is 150 × 200, not 1080 × 1350; the size is not in its name
0 of 2 ready to post
pack · TWO ZIPS, NEVER ONE
$ python3 scripts/productgrade.py pack OUT --name DEMO-SHOOT --dest .
packed, two zips, never one:
  DEMO-SHOOT-INSTAGRAM-1080x1350.zip · 2 feed files
  DEMO-SHOOT-MASTERS-NOT-FOR-INSTAGRAM.zip · 2 masters
pack · TWO ZIPS, NEVER ONE
$ python3 scripts/productgrade.py pack OUT --name DEMO-SHOOT --dest .
refused: DEMO-SHOOT-INSTAGRAM-1080x1350.zip already exists; the machine never writes over a file

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?

Palette · the product's own colours. It asks first for the product photos as PNG, the order of the carousel, and the product's colours when they are not volt, pink or blue.

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 (8/8) 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. A rebuild of the Oct 3 2026 card on the standard library: the recipe and the palette, crop, check and pack rules are the record's, but it reads and writes PNG, not JPEG, and its pixels are not identical to the first cut's, which used two image libraries. Pure Python: a 12-megapixel photo takes minutes. A frame whose edge is blown to flat white reads as a border, so look at it. It grades the photos taken; it cannot add light that was never there. It names no brand and carries no shoot photos.

What will it never do?

It will never recolour a product; never add a border, a vignette or a blurred fill; never pack feed files and masters together.

← THE APPS · 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