Subscription Renewal Desk: agent fixes for your checkout, terms and cancel page, plans matched, cancel path kept, owner approved
by PaperChaseWebb
Let an agent tidy your subscription checkout, terms, cancel page and renewal reminder, plan the renewal, trial and price change notices from your subscriber list, and review replies to cancel requests, without dropping the renewal line, hiding the cancel path or making up prices and offers. It writes fixed copies and never touches the live site or sends anything. A fix check refuses a removed cancel link, a deleted sentence, a new discount or a new phone number. You approve at your terminal and paste it in yourself.
- Price
- $29
- Difficulty
- Intermediate
- Setup
- 45 min
- Format
- .md file
subscription-renewal-desk-terms-match-plans-cancel-path-kept-owner-approved.md · 211 KB · instant download after checkout
Want this built for you instead? We can build it for you.
What you end up with
Your checkout says it renews, what it charges and how often, and what the trial costs after, with an empty consent box; your cancel path is online and plain; and you know which subscribers are due a notice and by when, one approved change 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 76 files
- renew_check.py pages: 20 checks on the checkout, terms, cancel page and reminder against your own plans, from no renewal line and a price with no interval to a ticked box, call-only cancelling, an exit survey and a save offer with no cancel button
- renew_check.py notices: 12 checks on your subscriber list, so you see who is due a renewal, trial, price change or yearly notice and by when, and who cancelled but is still set to renew
- renew_check.py replies: 12 checks on replies to cancel requests, such as a reason demanded, an offer not on file, "you are locked in" and a call to cancel
- renew_check.py fix: 12 checks that compare the agent's copy with the original, so a deleted sentence, a removed cancel link, a new discount, phone or promise fails
- A claims check that stops reports saying a page is compliant or that the agent updated the live site or sent notices
- The owner step: approve.py needs a real terminal and part of the file hash, refuses agent sessions and piped input, and checks the original has not changed before you mark it published
- An eval set for a made-up yoga studio with 4 pages, a 12-row subscriber list and 12 replies, rules and two skills for Grok Bot, Claude Code, Codex and Hermes, six prompts and five templates
- The test harness: 83 unit tests and 440 planted faults you can repeat
Who it is for
Small subscription businesses and agencies who want an agent to tidy the subscription pages and plan renewal notices, with a person approving every change and sending every notice.
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 changes nothing on your site or in your billing tool.
Time to result: The worked example in 5 minutes; your own pages and subscriber 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: 76 files written; 83 tests OK; 440 of 440 planted faults caught.
Watch the flow
Run sh example/run_example.sh and read it next to section 17.
Expected: A coffee club's pages with 24 findings, a subscriber list with 7, a bad reply with 5, the agent's first-try fixes caught with 15, the second tries clean, a first-try report with 5 findings and a piped approval refused.
Put in your subscription
Fill in site/settings.json and site/facts.md from the templates, paste your four pages into site/pages/, export subscribers to site/subscribers.csv, then run python3 desk/renew_check.py site and python3 desk/renew_check.py pages.
Expected: A short list of settings and page lines to fix first.
Fix and plan
Have your agent follow skills/terms-fix and skills/cancel-review, then run renew_check.py fix queue/fixes and approve each file at your terminal.
Expected: Fixed files in queue/fixes with 0 high findings, and a dated list of notices for you to send.
Sample prompts, free to use
Follow skills/terms-fix for every page in site/pages. Do not change the live site. List the codes fixed and the codes left for me, with the reason for each.
Prompt 1 of 6.
Follow skills/cancel-review for site/subscribers.csv. Send nothing. List each subscriber id that needs a notice, which notice, and the last day to send it, starting with the soonest.
Prompt 2 of 6.
Run renew_check.py pages and replies. For each D07, D13, C05 and C06, tell me the fee, refund or term so I can add it to facts.md or take it off the page.
Prompt 4 of 6.
Free preview of the file
# Subscription Renewal Desk: agent fixes for your checkout, terms and cancel page, plans matched, cancel path kept, owner approved Version 1.0, 2026-11-01. By PaperChaseWebb. For small subscription businesses (boxes, clubs, gyms, studios, software, services) and the agencies that run their sites, who want an AI agent to tidy the checkout page, terms, cancel page and renewal reminder, plan the renewal notices and review replies to cancel requests, without dropping the renewal line, hiding the cancel path or making up prices and offers. 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 change your live site, checkout or billing tool, and never send anything. Tested with 83 unit tests and 440 planted faults on Linux with Python 3.13, 3.12, 3.11, 3.9 and 3.8. All business, contact and subscriber data in this kit is made up. Not legal advice. The rules on automatic renewal are plain, and they are enforced. Since July 2025 California requires clear renewal terms before the customer pays, express consent to them, an online way to cancel for anyone who signed up online, a save offer only next to a plain way to finish cancelling, a yearly reminder, and notices before a long free trial ends, before a yearly plan renews and before a price change. Federal law (ROSCA) has required clear terms, informed consent and a simple way to stop charges since 2010. The FTC's Click-to-Cancel rule was s
Test record
- Date
- Nov 1, 2026
- What was run
- tests/test_lib.py (6), test_site.py (5), test_pages.py (16), test_notices.py (10), test_replies.py (11), test_fix.py (13), test_modes.py (9), test_mini.py (5) and test_approve.py (8, on a real pseudo terminal); tests/mutate.py with 419 planted faults across pages, subscriber lists, replies, bad fixes, reports, settings, agent rules and the eval set, plus 21 against renew_mini.py; renew_check.py set on the 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
- 83 passed, 0 failed on all five versions; 440 of 440 planted faults caught and all clean baselines clean; the eval set matched its 41 expected codes and every fixed page had 0 high findings; the example caught the first-try fixes with 15 findings 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. Billing tool settings and live checkouts. State laws beyond the California notice windows, and laws outside the US. Languages other than English. 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 page, a notice or a business meets any law. The notice windows follow California's automatic renewal law; other states and countries were not checked. Section 20 lists the public sources it was built from.
- The checker reads the text you copy out of your site and the list you export. It does not read your billing tool's settings or see what the live checkout shows today, so walk the sign-up and cancel path yourself after each change. English 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, subscribers, names and numbers in the kit are made up. Tested on Linux only; macOS and Windows were not tested.
- On 2026-11-01 on Linux: 83 unit tests and 440 of 440 planted faults passed on Python 3.13, 3.12, 3.11, 3.9 and 3.8; the eval set matched its 41 expected codes; 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 change my live site or send notices?
No. The agent writes fixed copies into a queue folder and a list of who is due a notice. You approve each file at a terminal, paste it in yourself and send the notices from your own tools.
Which billing tools does it work with?
Any tool that lets you copy your page text and export subscribers to CSV. The kit never logs in to the tool.
Can I keep a save offer on my cancel page?
Yes, as long as a plain cancel button sits right next to it and the offer is in your facts file. The checker flags a save offer with no cancel button.
Can you set it up for us?
Yes. Our Install sprint sets up your settings, facts file, subscriber export and eval set, or Managed Ops runs the fixes and notice plans 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

Subscription Renewal Desk: safe subscription page rules and a ten-check terms scan (free sample)
From Subscription Renewal Desk: the ways subscription pages slip, ten rules to paste into your agent, and a read-only script that runs ten checks on one checkout, terms or cancel page, from no renewal line and a price with no interval to a trial with no after price, a ticked box, call-only cancelling, cancel hurdles and "prices may change without notice".

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.

Chat Assistant Disclosure Desk: agent fixes for your website chat, AI said up front, a person on request, owner approved
Let an agent tidy your website chat assistant's greeting, instructions, handoff text and AI use page, and review a week of saved chats, without the assistant passing as a person, keeping visitors from a person, or making up prices and promises. It writes fixed copies and never touches the live chat. A fix check refuses a removed AI line, a deleted emergency line, a new discount or a new phone number. A chat check flags every reply that claimed to be human, ignored a request for a person or quoted a price you never wrote down. You approve at your terminal and paste it in yourself.

Invoice Chase Desk: AI-drafted payment reminders, checked against your ledger, approved by the owner
Let an agent draft your overdue invoice reminders without chasing a client who already paid. A planner reads your ledger and decides who gets a reminder today, and at which step. A checker refuses drafts with the wrong balance or dates, a fee your terms do not include, threats or pressure, new bank details, lookalike payment links, other clients' invoices or claims nobody can back up. Disputes, money trouble and odd replies go to the owner, and before anything is recorded as sent the desk checks the ledger again.

Don't Get Sued: a pre-launch legal-risk gate for AI-built apps and agents
A read-only agent gate for the fourteen legal risks that hit small builders most: marketing texts and email, trackers before consent, accessibility, kids' data, biometrics, plain-text personal data, AI disclosure, AI claims you cannot prove, takedowns, policies that do not match the product, renewals and refunds, licenses, and agents that act for users. Evidence rule, gate register, seeded test app, 12 prompts, counsel packet. Not legal advice.

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.