Text Message Consent Desk: agent fixes for texts and send lists, opt-ins checked, every STOP honored, owner approved
by PaperChaseWebb
Let an agent tidy your marketing and reminder texts and build each send list, without texting anyone who said stop, anyone with no record of signing up, or anyone outside quiet hours in their own time zone. It writes fixed copies and lists and never sends or edits your records. A fix check refuses deleted prices, moved send times and invented offers. A list check tests every number against your consent records, replies and send history. You approve at your terminal and send it yourself.
- Price
- $29
- Difficulty
- Intermediate
- Setup
- 45 min
- Format
- .md file
text-message-consent-desk-opt-in-checked-stop-honored-owner-approved.md · 193 KB · instant download after checkout
Want this built for you instead? We can build it for you.
What you end up with
Each text you send names your business and has a STOP line, and goes only to people with consent on file who have not opted out, inside quiet hours where they are and under the cap you promised, one approved campaign at a time, with nothing deleted and no claim that anything is compliant.
What you get
- 21 sections and an appendix in one .md file, with a one-line unpack for all 64 files
- sms_check.py scan: 16 checks for a missing brand or STOP line, opt-outs that ask for a log-in or a word like NO, link shorteners, offers inside reminders, placeholders, fake Re: lines and compliance claims
- sms_check.py fix: 12 checks that compare the agent's copy with the original, so cutting a price, moving the send time, adding a link or inventing a discount fails
- sms_check.py list: 9 checks on your records, including stop replies never marked, texts sent after an opt-out and contacts with no consent on file
- sms_check.py sendlist: 12 checks on every number the agent picks: in your contacts, not opted out, consent on file, inside quiet hours in their own zone, under your weekly cap
- A claims check that stops reports saying texts are compliant or that the agent sent or scheduled anything
- The owner step: approve.py needs a real terminal and part of the file hash, refuses agent sessions and piped input, and refuses a list if anyone replied since it was built
- A 7-text eval set with planted record problems, rules and two skills for Grok Bot, Claude Code, Codex and Hermes, six prompts and six templates
- The test harness: 72 unit tests and 567 planted faults you can repeat
Who it is for
Small businesses and agencies that text customers about offers and appointments, who want an agent to tidy the texts and build each list, with a person approving every send.
Works with
Solid chips: the agent is named in this listing's own tools list. Dashed chip: Plain Markdown, so it also pastes into other agents such as Grok Bot, Hermes, OpenClaw or Muse. We list those as compatible by format only, not as tested.
Tools needed
Cost to run: The kit is the only purchase. Everything runs locally with Python; the checker makes no network calls, logs in to nothing and sends no texts.
Time to result: The worked example in 5 minutes; your first campaign and its list checked in about an hour
How it works
Unpack and test
Save the kit as pack.md in an empty folder, run the unpack line from Appendix A, then sh test_all.sh.
Expected: 64 files written; 72 tests OK; 567 of 567 planted faults caught.
Watch the flow
Run sh example/run_example.sh and read it next to section 17.
Expected: A bike shop's text with 5 high findings and records with 4, an agent's first-try fix and send list caught, the second tries clean, a first-try report with 5 findings and a piped approval refused.
Put in your texting
Fill in site/settings.json from the template, export contacts, replies and sent texts into site/, save a campaign into site/campaigns, then run python3 desk/sms_check.py site and python3 desk/sms_check.py list.
Expected: No findings, or a short list of settings and records to fix first.
Fix one campaign and build its list
Have your agent follow skills/campaign-fix and skills/send-list, then run sms_check.py fix queue/fixes and sms_check.py sendlist on the list.
Expected: A fixed text and a send list in queue/fixes with 0 high findings, and a report naming everyone left off and why.
Sample prompts, free to use
Follow skills/campaign-fix for site/campaigns/[file]. Do not send or schedule anything. List the codes fixed and the codes left for me, with the reason for each.
Prompt 1 of 6.
Follow skills/send-list for [campaign]. Write queue/fixes/[campaign].send.csv. Name everyone left off and why. Do not edit contacts.csv.
Prompt 2 of 6.
Run sms_check.py list. For each finding, tell me what to change in my texting tool. Change nothing yourself.
Prompt 4 of 6.
Free preview of the file
# Text Message Consent Desk: agent fixes for texts and send lists, opt-ins checked, every STOP honored, owner approved Version 1.0, 2026-11-01. By PaperChaseWebb. For small businesses and the agencies that run their texting, who want an AI agent to tidy up marketing and reminder texts and build each send list, without texting anyone who said stop, anyone with no record of signing up, or anyone outside quiet hours in their own time zone. Works with Grok Bot, Claude Code, Codex and Hermes. Python 3.8 or newer, standard library only, no API keys, no logins. The kit and the agent never send or schedule a text and never edit your contact records. Tested with 72 unit tests and 567 planted faults on Linux with Python 3.13, 3.12, 3.11, 3.9 and 3.8. All business, contact and phone data in this kit is made up. Not legal advice. Since April 11, 2025, the FCC's rule on revoking consent says a reply of stop, quit, end, revoke, opt out, cancel or unsubscribe counts as an opt-out, and so does any other reasonable way of saying it. The business has 10 business days to honor it, and may send one short confirmation within 5 minutes with no marketing in it. Marketing texts need written consent first. Texts to sell something stay between 8 a.m. and 9 p.m. where the person is. Carriers expect the brand name and a STOP line in every marketing text. Most small senders are close. The sign-up form is fine but two numbers came in from a paper sheet nobody kept. Someone replied "Stop" and the textin
Test record
- Date
- Nov 1, 2026
- What was run
- tests/test_lib.py (8), test_scan.py (12), test_fix.py (12), test_list.py (8), test_sendlist.py (8), test_modes.py (11), test_approve.py (9, on a real pseudo terminal) and test_mini.py (4); tests/mutate.py with 511 planted faults across text problems, bad fixes, contact records, send lists, reports, agent rules, settings, the eval set and approve.py, plus 56 against sms_mini.py; sms_check.py set on the 7-text eval set; example/run_example.sh end to end; and the unpack line with test_all.sh. Linux, Python 3.13, 3.12, 3.11, 3.9 and 3.8.
- Result
- 72 passed, 0 failed on all five versions; 567 of 567 planted faults caught and all clean baselines clean; the eval set had 0 findings; the example caught the first-try fix with 5 high findings, the first-try send list with 9 and the first-try report with 5, and refused piped approval; the unpack line wrote every file and test_all.sh passed there.
- Not run
- A live Grok Bot, Claude Code, Codex or Hermes session. Real sends, phones and carrier filtering. Texting tool settings and 10DLC registration. State rules. Non-US numbers. macOS or Windows. Legal review.
Copied from this item's dated test notes. What was not run stays in.
Worth knowing
- The agent rules were checked by the checker but not loaded inside a live Grok Bot, Claude Code, Codex or Hermes session for this release. The eval fixes were written by hand to the rules. Give your agent the entrance exam in section 15 before you rely on it.
- Not legal advice. Nothing in the kit says a text, a list or a business meets any law, and no check here says a text will be delivered. Federal rules are the floor; set quiet hours and the weekly cap to the strictest rule that applies to you.
- The checker reads the files you export. It does not send texts, read your texting tool's settings, check 10DLC registration or the do-not-call registry. US numbers only.
- The owner step assumes the agent cannot run approve.py at a terminal. Run it as a separate user; agent rules alone are not a hard boundary.
- All businesses, texts, names and numbers in the kit are made up. English only. Tested on Linux only; macOS and Windows were not tested.
- On 2026-11-01 on Linux: 72 unit tests and 567 of 567 planted faults passed on Python 3.13, 3.12, 3.11, 3.9 and 3.8; the 7-text eval set was clean; the unpack line wrote every file and test_all.sh passed in that folder.
Questions
Which agents does it work with?
Any agent that can read files and run a script. The kit has rules for AGENTS.md and CLAUDE.md, Claude Code and Codex notes, Hermes notes and a Grok Bot standing order. Those were checked by the checker, not loaded in each agent for this release.
Will it send texts or change my contacts?
No. The agent writes fixed texts and send lists into a queue folder. You approve each one at a terminal and load it into your texting tool yourself. Opt-outs are marked by you, in your texting tool.
What counts as an opt-out?
STOP, QUIT, END, REVOKE, OPT OUT, CANCEL, UNSUBSCRIBE and plain requests like "stop texting me", following the FCC rule in force since April 2025. The kit treats a stop as stopping every kind of text until the person texts START.
Which texting tools does it work with?
Any tool that exports contacts, inbound messages and sent messages as CSV. Rename the columns to match the templates. The kit never logs in to the tool.
Can you set it up for us?
Yes. Our Install sprint maps your exports, sign-up wording and eval set, or Managed Ops runs the fixes, lists and reports for you each week. Book a call or write to [email protected].
Details
Version 1.0 · Updated Nov 1, 2026 · Markdown version of this page
License: Use inside your own business or for your clients. Do not resell or republish the kit itself. Download terms
Related

Text Message Consent Desk: safe text fixing rules and a ten-check text scan (free sample)
From Text Message Consent Desk: the mistakes agents make when they tidy a business's texts, nine rules to paste into your agent, and a read-only script that runs ten checks on one saved text, from a missing STOP line and opt-outs that ask for a log-in to link shorteners, fake Re: lines, offers inside reminders, late send times and compliance claims.

Email Sender Fix Desk: agent fixes for one-click unsubscribe, footers and SPF, DKIM and DMARC, checked against the original, owner approved
Let an agent put the one-click unsubscribe headers, a visible unsubscribe link and your postal address into your newsletters, and propose clean SPF, DKIM and DMARC records, the things Gmail, Yahoo and Outlook ask senders for. It writes fixed copies and never sends or touches DNS. A fix check refuses deleted words, made-up addresses, tracking pixels and hidden links. A records check refuses dropped senders, invented keys and DMARC jumped straight to reject. You approve at your terminal and make the change yourself.
Consent and Privacy Fix Desk: agent fixes for cookie banners, trackers and privacy policies, checked against the original, owner approved
Let an agent make your analytics and ad pixels wait for a real choice, fix the cookie banner and bring the privacy policy in line with what your pages load. It writes fixed copies, never the live page. A fix check refuses deleted trackers, edited tracker code, new third-party scripts, removed words and a Reject button smaller than Accept. A policy check catches tools the policy leaves out and retention periods the agent made up. A tested consent.js honors Global Privacy Control. You approve at your terminal and put it live yourself.

Review Reply Desk: AI-drafted review replies, checked for privacy and offers, approved by the owner
Let an agent draft your Google and Yelp review replies without the mistakes that cost money. A checker refuses drafts that use a last name or details from your records, offer a discount for a better review, ask for a review to be changed, argue, invent numbers or promises, or repeat your last reply word for word. Health topics, allergies and legal threats go to the owner, clinics get a stricter privacy mode, and nothing is posted until the owner approves it at a real terminal.

AI Receptionist and Booking Agent Template: script, capture, escalation and test calls
A bot template for a phone receptionist that answers missed calls for a local service business, says it is an AI in its first sentence, books from a fixed service list into the real calendar, texts a confirmation only after the caller says yes and hands everything else to a person. Includes a call map, script, escalation table, disclosure sheet, 12 test calls, reception_check.py, AGENTS.md with six owner stops, two skills and templates.

Local Services Agent Kit: set up from the owner's voice, then booking, reminders, quote follow-up and review asks with the owner's yes on every message
The layer around an AI receptionist for shops that book by the hour. Setup starts with three questions the owner can answer by voice note, and the kit turns the answers into a profile, templates in the owner's own words and a first plan that adds one desk a week. Five desks (intake, booking, reminders, quote follow-up, reviews) then draft every customer message into one outbox, the owner approves from a twice-daily queue with a one-line reply, and two read-only Python checks catch mistakes in the setup and the outbox before anything goes out. v1.1 starts the setup with the owner talking: three questions (the shop and its jobs, how the owner talks to customers, and which message to hand off first), a suggested first plan that adds one desk a week, voice notes in (transcribed on the shop's machine or in the owner's own tool, logged with a sha256, and never counted as a yes), a straight answer to what this does that a chat you already pay for doesn't, an owner folder with setup_check.py (fifteen read-only checks) and owner.py (init, plan, note, card, and the owner's setup and standing sign-offs typed at their own terminal and tied to sha256), agent files for Grok Bot, Claude Code, Codex and Hermes, and six new prompts (18 in all). Price unchanged.

Ask-first rules for AI agents: hard nos, approval cards and a test set
Paste-in rules that make an agent ask before it sends, spends, posts or deletes, define what a real yes is, and stop retries after a no, plus 12 test scenarios to check it.