THE OBJECTION CARD · every objection sorted, every answer kept
WAKES WHEN someone hears pushback on a sales call, or asks why deals stall, or wants the answer bank
THE LOOP
objection.py classify · the notes, by kind
answer from the bank, in our words
add · objection, answer given, outcome
report · which kinds lose, which won
rewrite the bank from what worked
NEVER
Invent a claim about a competitor
Improvise an answer on security or law
Treat authority as an objection: it is a map
IT MAKES classify — every objection sentence in the notes, with its kind; add — one entry in the bank; report — counts by kind, win rate by kind with intervals, the answers that worked.
THE STANDARD sort first, answer second; the bank holds what was said and what happened; authority is a map, not a wall; security and law are never improvised; price is answered with their number; report by kind, with the interval.
PROOF SELFTEST 12/12 · witnessed in Claude 2026-10-09 · 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 · 846032FD775060D488B19DD7
CITE THIS CARDTHE OBJECTION CARD, Edition 1. Lund Studio LLC, Westminster, Colorado. https://lundr.tech/?view=objection-card. Punch 846032FD775060D488B19DD7. Retrieved 2026-10-10.
What it is.
Sorts the objections buyers raise — price, timing, authority, need, trust, competitor, status quo, technical, security and legal — from call notes into their kinds, keeps a bank of the team's own answers with what happened after each, and reports which objections are raised most and which ones lose deals, with win rates and 95% intervals by kind.
It carries a machine that shows its working: classify — every objection sentence in the notes, with its kind; add — one entry in the bank; report — counts by kind, win rate by kind with intervals, the answers that worked — 12 checks in its selftest, every command on the record. It will never invent a claim about a competitor; never improvise an answer on security or law; never treat authority as an objection: it is a map.
Six laws, written into the card.
They are in the card itself, so the AI follows them.
SORT FIRST, ANSWER SECONDAn objection answered as the wrong kind is answered twice.
THE BANK HOLDS WHAT WAS SAID AND WHAT HAPPENEDThe machine invents no answer and keeps no claim about a competitor without its source.
AUTHORITY IS A MAP, NOT A WALL"I can't decide" is the start of finding who can.
SECURITY AND LAW ARE NEVER IMPROVISEDHand over the documents and the person who owns them.
PRICE IS ANSWERED WITH THEIR NUMBERWhat the pain costs them, from the call notes, never a discount first.
REPORT BY KIND, WITH THE INTERVALUnder thirty entries the rate is rough and the machine says so.
What rides in the card.
In the card’s own voice, with a machine that shows its working.
THE GUIDEreferences/THE-KINDS.md
THE MACHINEobjection.py · three commandsclassify — every objection sentence in the notes, with its kind; add — one entry in the bank; report — counts by kind, win rate by kind with intervals, the answers that worked. 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.
classify Every objection sentence in the notes, with its kind
add One entry in the bank
report Counts by kind, win rate by kind with intervals, the answers that worked
On the record The example call sorted into nine kinds of objection; ten entries added to the bank with the answer given and what happened; the report showing price raised most and losing most, and the answers that won.
What it will never do.
It will never invent a claim about a competitor; never improvise an answer on security or law; never treat authority as an objection: it is a map.
The kinds come from word patterns and a sentence can be sorted wrong; the rep corrects it. The bank records what was said and what happened; it invents no answer. A response that names a competitor is kept only with its source. 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-KINDS.md — the guide in references/, in the card's own voice
scripts/objection.py — the machine: classify · add · report, 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 · 3 COMMANDS ON THE RECORD · WITNESSED IN CLAUDE 2026-10-09 · EDITION 1 · PUNCH 846032FD775060D488B19DD7
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º 842 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. 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.
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-09
objection.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.
classify
every objection sentence in the notes, with its kind
add
one entry in the bank
report
counts by kind, win rate by kind with intervals, the answers that worked
selftest
12 checks that prove the machine; it must print 12/12
classify · EVERY OBJECTION SENTENCE IN THE NOTES, WITH ITS KIND
$ python3 scripts/objection.py classify call-notes.txt
OBJECTIONS · call-notes.txt · 3 found
price My concern is the budget this quarter, and we already have a tool that does part of this.
authority I'd need to run it by my CFO.
trust How do we know you'll still be around in two years?
add · ONE ENTRY IN THE BANK
$ python3 scripts/objection.py add bank.jsonl "too expensive for this quarter" --type price --response "we showed the hours saved against the price, from their own call notes" --outcome won
added · price · won · bank.jsonl
add · ONE ENTRY IN THE BANK
$ python3 scripts/objection.py add bank.jsonl "too expensive" --type price --response "offered a discount first" --outcome lost
added · price · lost · bank.jsonl
add · ONE ENTRY IN THE BANK
$ python3 scripts/objection.py add bank.jsonl "not in this year's budget" --type price --response "…" --outcome lost
added · price · lost · bank.jsonl
$ python3 scripts/objection.py add bank.jsonl "budget is tight" --type price --response "…" --outcome won
added · price · won · bank.jsonl
add · ONE ENTRY IN THE BANK
$ python3 scripts/objection.py add bank.jsonl "price is high" --type price --response "…" --outcome lost
added · price · lost · bank.jsonl
add · ONE ENTRY IN THE BANK
$ python3 scripts/objection.py add bank.jsonl "need SSO" --type technical --response "…" --outcome won
added · technical · won · bank.jsonl
add · ONE ENTRY IN THE BANK
$ python3 scripts/objection.py add bank.jsonl "API limits?" --type technical --response "…" --outcome won
added · technical · won · bank.jsonl
add · ONE ENTRY IN THE BANK
$ python3 scripts/objection.py add bank.jsonl "we already use another tool" --type competitor --response "…" --outcome won
added · competitor · won · bank.jsonl
add · ONE ENTRY IN THE BANK
$ python3 scripts/objection.py add bank.jsonl "not now" --type timing --response "…" --outcome open
added · timing · open · bank.jsonl
report · COUNTS BY KIND, WIN RATE BY KIND WITH INTERVALS, THE ANSWERS THAT WORKED
$ python3 scripts/objection.py report bank.jsonl
OBJECTIONS · 10 in the bank · 4 kinds
price 6 raised · win rate 2/6 = 33% (95% 10–70%) · 0 open
technical 2 raised · win rate 2/2 = 100% (95% 34–100%) · 0 open
competitor 1 raised · win rate 1/1 = 100% (95% 21–100%) · 0 open
timing 1 raised · no closed deals yet · 1 open
LOSES MOST · price: 4 of 6 closed deals with this objection were lost
WORKED · price · we showed the hours saved against the price, from their own call notes | showed the cost of the status quo
WORKED · technical · SSO is on the standard plan; sent the docs | the engineer answered on the call
WORKED · competitor · asked what it does well and where it stops; no claim about it
NOTE · 10 entries is a small bank: the rates are rough; keep adding every objection, in the buyer's words
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?
Objection.py classify · the notes, by kind. It asks first for the call notes with the pushback in them, and the bank file the team keeps.
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. The kinds come from word patterns and a sentence can be sorted wrong; the rep corrects it. The bank records what was said and what happened; it invents no answer. A response that names a competitor is kept only with its source.
What will it never do?
It will never invent a claim about a competitor; never improvise an answer on security or law; never treat authority as an objection: it is a map.