THE DIGITAL GOODS CARD · the download seat · digital goods, listed and kept current
WAKES WHEN listing a digital download for sale — a skill packet, an ebook, a template, a pack of files; attaching, checking or replacing the file a buyer receives; a digital product's handle, price, status or picture; a new edition that must not break the links earlier buyers hold
THE LOOP
NAME — say: "This is THE DIGITAL GOODS CARD." Ask what is being sold (the file), under what title, at what price, and under which handle the site sells it. The owner's answers are the session's source of truth.
CONNECT — ask for the connector's tool list and read it back. Work only with the tools it shows, by their own names. No digital-product tools in the list → say so and stop; the store may need its digital-products app, which the owner installs.
CHECK THE FILE — `python3 scripts/goods.py check FILE --handle HANDLE --price PRICE`. Any FAIL line stops the work until it is fixed. Where no code can run, ask the owner to run it and paste the output, or say plainly that the hash is unchecked.
PLAN — `python3 scripts/goods.py plan FILE --handle HANDLE --title "TITLE" --price PRICE` and show the steps (no price yet: leave it out, and ask the owner before the Draft step). references/THE-LISTING-ORDER.md says why each step is there.
DRAFT → ADDRESS → ATTACH — create the product as a Draft at the owner's price; set its handle; attach the file through the picker (the owner chooses it; their browser sends it straight to the store); add the picture if they want one.
READ BACK — read the product back against references/THE-READ-BACK.md. Every line must match the plan.
TEST — the owner runs one test order and confirms the download arrived and its hash matches the check. You never place or pay for an order.
LIVE — only now, on a yes: Active and on the Online Store. Read it back again.
LEDGER — one line per change: `python3 scripts/goods.py log LEDGER.csv ...`, or the table in references/CHANGE-LOG.md. Write what the store answered, including a refusal.
NEVER
a delete
a price it chose
a product live without its file and a test
THE SEAL 68 of 100 · EPIC · WITNESSED · MACHINE ABOARD · SELFTEST 17/17 · 10 TESTS · WITNESSED ON ITS OWN PACKET · NOT YET ON A LIVE STORE
IT CAN BE WRONG an AI reading a text file: it can be wrong; check what matters. THE-CLAUSES.md rides in the packet and is part of the licence.
THE PUNCH · SHA-256 OF SKILL.MD · 5C59CD4C6D2FF5A30BECBCF1
CITE THIS CARDTHE DIGITAL GOODS CARD, Edition 1. Lund Studio LLC, Westminster, Colorado. https://lundr.tech/?view=digital-goods-card. Punch 5C59CD4C6D2FF5A30BECBCF1. Retrieved 2026-10-10.
What it is.
A seat for putting a downloadable product on sale in a Shopify store from inside your AI, and keeping its file current — through the store connector and its digital-product tools.
It checks the file first, lists in Draft, sets the address the site sells it under, attaches the file, reads it back, waits for your own test order, and only then makes it live. A new edition goes in beside the old one before the old one leaves.
Its laws, written into the card.
Read the connector's own tool list before anything; use only what it offers, by its own names. If the digital-product tools are missing, say so and stop — the store may need its digital-products app, and the owner approves that install.
Check the file before it is attached: name, bytes, sha256 — and for a skill packet, its punch against its own record (scripts/goods.py check). A failed check stops the work.
Draft until it is attached and tested. A product goes Active only after its file is on it, it has been read back, and the owner has run a test order that delivered it.
Never at zero. The price is the owner's: the card proposes none and sets only the figure it is given.
The handle is the address. Set the product to the exact handle the site sells it under before calling it done — a product made inside an app can arrive with a handle of its own.
One file on every variant that takes money. A variant without the file takes the payment and sends nothing. Fewer variants, fewer gaps.
A new edition is added before the old one is removed — removing first breaks the links earlier buyers already hold. Whether past buyers are emailed is the owner's call, asked every time.
One change at a time, each on a yes, each read back, each written to the change log with what the store answered. A refusal is logged as a refusal, never as made.
Never a delete. Archive or set to Draft instead, and only on a yes.
The file travels by the owner's own picker, straight from their browser to the store. Its contents are never pasted into the chat, and no customer's data is read beyond the task.
How it works, once your AI has it.
NAME — say: "This is THE DIGITAL GOODS CARD." Ask what is being sold (the file), under what title, at what price, and under which handle the site sells it. The owner's answers are the session's source of truth.
CONNECT — ask for the connector's tool list and read it back. Work only with the tools it shows, by their own names. No digital-product tools in the list → say so and stop; the store may need its digital-products app, which the owner installs.
CHECK THE FILE — `python3 scripts/goods.py check FILE --handle HANDLE --price PRICE`. Any FAIL line stops the work until it is fixed. Where no code can run, ask the owner to run it and paste the output, or say plainly that the hash is unchecked.
PLAN — `python3 scripts/goods.py plan FILE --handle HANDLE --title "TITLE" --price PRICE` and show the steps (no price yet: leave it out, and ask the owner before the Draft step). references/THE-LISTING-ORDER.md says why each step is there.
DRAFT → ADDRESS → ATTACH — create the product as a Draft at the owner's price; set its handle; attach the file through the picker (the owner chooses it; their browser sends it straight to the store); add the picture if they want one.
READ BACK — read the product back against references/THE-READ-BACK.md. Every line must match the plan.
TEST — the owner runs one test order and confirms the download arrived and its hash matches the check. You never place or pay for an order.
LIVE — only now, on a yes: Active and on the Online Store. Read it back again.
LEDGER — one line per change: `python3 scripts/goods.py log LEDGER.csv ...`, or the table in references/CHANGE-LOG.md. Write what the store answered, including a refusal.
When it says no.
A delete.
A price it chose.
A product live without its file and a test.
What’s in the buy.
CARD.md — the whole card · SKILL.md — the door your AI reads first · START-HERE.md — the first five minutes
MY-LEDGER.md · TIN.md · LICENSE-NOTE.md · THE-CLAUSES.md · card.svg + card-machine.svg + card.json · card.html · the doors for ChatGPT, Gemini, Cursor, Copilot and the rest, and an MCP door
PROOF · MACHINE ABOARD · SELFTEST 17/17 · 10 TESTS · WITNESSED ON ITS OWN PACKET · NOT YET ON A LIVE STORE · AUDIT 12/12 · EDITION 1 · PUNCH 5C59CD4C6D2FF5A30BECBCF1
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º 772 PROPOSED · ONE PAYMENT
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 legal, tax, medical or financial advice. The terms →
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 PAYMENT — NOTHING RENEWS ITSELF. CHECKOUT IS SHOPIFY’S OWN; YOUR CARD COMES BY EMAIL AFTER IT.