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

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

LUND CARDS · THE INSTRUMENTSNº 972 PROPOSED
THE SKILL AUDIT — the LSC-1 face
THE CARD AS TEXT · FOR EYES AND FOR MACHINES

THE SKILL AUDIT · a skill packet read before it runs on files

WAKES WHEN a skill arrives from outside, or a packet is about to be published or run on real files

THE LOOP

  1. skillaudit.py list · every file, hashed
  2. audit · findings, the score, the verdict
  3. NAMED → read each line before trusting it
  4. HOLD → do not run it; mend or return it
  5. punch · tie the packet to its room

NEVER

  • Run a HOLD packet on real files
  • Read a NAMED reach as a fault in the author
  • Audit a packet without opening every script

IT MAKES audit — the findings, the score, the verdict; list — every file with its size and hash; punch — the punch: sha-256 of SKILL.md, first 24, upper.

THE STANDARD the door first; every script the door names is in the packet; a reach is NAMED, a key is HOLD; no path into a home, no contact line; a licence and a selftest ride along; the punch ties the packet to its room.

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/skillaudit.py · references/READ-BEFORE-IT-RUNS.md · rules/ (4 doors) · system/ (2 prompts) · mcp/mcp_card.py · card.json · card.svg · card-machine.svg · card.html.

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

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

THE SKILL AUDIT

a skill packet read before it runs on files

AUDIT · LIST · PUNCH

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-10
MACHINE
scripts/skillaudit.py · 3 commands · selftest 11/11
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
DB99671DA0C0E941B8D25113 · sha-256 of SKILL.md · check any file against it →

CITE THIS CARDTHE SKILL AUDIT, Edition 1. Lund Studio LLC, Westminster, Colorado. https://lundr.tech/?view=skill-audit-card. Punch DB99671DA0C0E941B8D25113. Retrieved 2026-10-10.

What it is.

Audits a skill folder or .skill.zip before an agent runs it: the door present with a name hosts accept and a description that says when to use it, every script the door names on disk, every script read for a network module, a shell call, an eval, a key or token, a path into someone's home, an email address or a phone number, a licence note and a selftest present, the punch printed; findings by file and line, a score out of 100, and a verdict of CLEAN, NAMED or HOLD.

It carries a machine that shows its working: audit — the findings, the score, the verdict; list — every file with its size and hash; punch — the punch: sha-256 of SKILL.md, first 24, upper — 11 checks in its selftest, every command on the record. It will never run a HOLD packet on real files; never read a NAMED reach as a fault in the author; never audit a packet without opening every script.

Six laws, written into the card.

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

THE DOOR FIRSTNo SKILL.md, no name, no description: HOLD.
EVERY SCRIPT THE DOOR NAMES IS IN THE PACKETEvery script the door names is in the packet, or the door lies: HOLD.
A REACH IS NAMED, A KEY IS HOLDA network module is for a person to read; a key or token in a packet never ships.
NO PATH INTO A HOME, NO CONTACT LINEA home path is a build leaking; an email or a phone in a packet is a person's.
A LICENCE AND A SELFTEST RIDE ALONGA packet without them is NAMED.
THE PUNCH TIES THE PACKET TO ITS ROOMSKILL.md's SHA-256, first 24, upper; a changed byte is a new packet.

What rides in the card.

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

THE GUIDEreferences/READ-BEFORE-IT-RUNS.md
THE MACHINEskillaudit.py · three commandsaudit — the findings, the score, the verdict; list — every file with its size and hash; punch — the punch: sha-256 of SKILL.md, first 24, upper. Every command prints its working and refuses a bad input; 11 checks in its selftest, every command on the record.

What it does once your AI has it.

  • audit The findings, the score, the verdict
  • list Every file with its size and hash
  • punch The punch: sha-256 of SKILL.md, first 24, upper
  • On the record A clean packet listed with every file hashed, audited CLEAN at 100 and punched; a packet as it might arrive audited HOLD: a key in a script, a script the door names that is not there, a network import, a shell call, an eval, a home path, an email address and a phone number, each by file and line.

What it will never do.

It will never run a HOLD packet on real files; never read a NAMED reach as a fault in the author; never audit a packet without opening every script.

The audit reads Python by pattern and other scripts by the same patterns; a reach hidden in a compiled library, an encoded string or another program is not read, which is why a shell call is named. The score is a reading aid; the findings are the audit. A CLEAN packet can still do what its door says it will, which is the thing to read. 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
  • READ-BEFORE-IT-RUNS.md — the guide in references/, in the card's own voice
  • scripts/skillaudit.py — the machine: audit · list · punch, standard library only, selftest 11/11
  • 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 11/11 · 3 COMMANDS ON THE RECORD · WITNESSED IN CLAUDE 2026-10-10 · EDITION 1 · PUNCH DB99671DA0C0E941B8D25113

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º 972 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-10

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

auditthe findings, the score, the verdict
listevery file with its size and hash
punchthe punch: sha-256 of SKILL.md, first 24, upper
selftest11 checks that prove the machine; it must print 11/11
(two packets on disk: one the studio's own shape, one as a packet might arrive from outside)
$ (two packets on disk: one the studio's own shape, one as a packet might arrive from outside)
list · EVERY FILE WITH ITS SIZE AND HASH
$ python3 scripts/skillaudit.py list clean-card
        23  f7c7c51a9696cd0e  LICENSE-NOTE.md
       161  7bae930e1687b446  SKILL.md
        92  7a332098eb0187c6  scripts/count.py
3 files
audit · THE FINDINGS, THE SCORE, THE VERDICT
$ python3 scripts/skillaudit.py audit clean-card
CLEAN · 100 of 100 · 3 files · 276 bytes · 1 script · punch 7BAE930E1687B44658791748
punch · THE PUNCH: SHA-256 OF SKILL.MD, FIRST 24, UPPER
$ python3 scripts/skillaudit.py punch clean-card
7BAE930E1687B44658791748
audit · THE FINDINGS, THE SCORE, THE VERDICT
$ python3 scripts/skillaudit.py audit arrived-card
HOLD   SKILL.md                     names scripts/missing.py, which is not in the packet
NAMED  README.md:1                  an email address in the packet
NAMED  README.md:1                  a phone number in the packet
NAMED  scripts/fetch.py:1           imports urllib: a network reach, to be declared on the card's face
NAMED  scripts/fetch.py:3           a shell call (os.system)
NAMED  scripts/fetch.py:5           eval( on the source
HOLD   scripts/fetch.py:4           a key, token or password in the packet
NAMED  scripts/fetch.py:6           a path into a home folder (/Users/someone): write ~ instead
HOLD · 34 of 100 · 5 files · 534 bytes · 2 scripts · punch B66918EF1FBDEEEBEA328D21

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?

Skillaudit.py list · every file, hashed. It asks first for the skill folder or .skill.zip, as it arrived.

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 (11/11) 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. The audit reads Python by pattern and other scripts by the same patterns; a reach hidden in a compiled library, an encoded string or another program is not read, which is why a shell call is named. The score is a reading aid; the findings are the audit. A CLEAN packet can still do what its door says it will, which is the thing to read.

What will it never do?

It will never run a HOLD packet on real files; never read a NAMED reach as a fault in the author; never audit a packet without opening every script.

← 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