# Subscription Renewal Desk: agent fixes for your checkout, terms and cancel page, plans matched, cancel path kept, owner approved

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

- URL: https://paperchasewebb.ai/bots/marketplace/items/subscription-renewal-desk-terms-match-plans-cancel-path-kept-owner-approved/
- Type: Prompt pack
- Category: Solo business
- By: PaperChaseWebb
- Works with: Claude Code, Codex, Grok Bot, Hermes (named in the listing); Plain Markdown files, a small Python checker, and rules for AGENTS.md and CLAUDE.md, Claude Code and Codex notes, Hermes notes and a Grok Bot standing order. The agent files were checked by the checker on Linux; they were not loaded inside each agent for this release
- Price: $29 USD
- Difficulty: Intermediate
- Setup time: 45 min
- Time to result: The worked example in 5 minutes; your own pages and subscriber list checked in about an hour
- Format: Markdown (.md) file, subscription-renewal-desk-terms-match-plans-cancel-path-kept-owner-approved.md
- Version: 1.0, updated 2026-11-01
- License: Use inside your own business or for your clients. Do not resell or republish the kit itself.

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

## Tools needed

- Python 3.8 or newer: runs the page, subscriber notice, reply, fix, report, rules and settings checks and the owner approval script; standard library only
- Grok Bot, Claude Code, Codex or Hermes: writes fixed copies of the checkout page, terms, cancel page and renewal reminder and drafts the notice plan under the AGENTS.md rules or the Grok Bot standing order; never changes the live site or billing tool, never sends notices and never approves
- Text and a list exported from your site and billing tool: the four pages pasted into site/pages, a subscriber export as CSV and saved replies to cancel requests; the kit never logs in to your billing tool
- You need: Python 3.8 or newer
- You need: Your checkout page, terms, cancel page and renewal reminder as text
- You need: A subscriber export as CSV (ids, not names)
- You need: Your plans, fees and policies written down once
- You need: Someone who approves each change, pastes it in and sends the notices

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.

## How it works

1. **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.
2. **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.
3. **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.
4. **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 prompt: First pass (Grok Bot, Claude Code, Codex, Hermes)

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

## Sample prompt: Notice plan (Grok Bot, Claude Code, Codex, Hermes)

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

## Sample prompt: Facts gap (Grok Bot, Claude Code, Codex, Hermes)

```
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 subscription-renewal-desk-terms-match-plans-cancel-path-kept-owner-approved.md

````markdown
# 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 mgmt@paperchasewebb.com.

## How to buy

$29 one time at https://paperchasewebb.ai/bots/marketplace/items/subscription-renewal-desk-terms-match-plans-cancel-path-kept-owner-approved/. Stripe checkout, then an instant download page; the download link is also in your emailed receipt.

Seller: PaperChaseWebb Inc., mgmt@paperchasewebb.com
