Paste your recurring charges. Every one comes back with a decision - the rule that fired, the cancellation email already drafted, and the savings added up. Built for everyone whose free trials outlive their memory.
It decides - it never kicks the question back. KEEP Β· DOWNGRADE Β· CANCEL Β· FLAG, every time.
Every one made sense the day you signed up. Then the trial converted, the price crept, a second tool started doing the same job - and "I'll cancel it this weekend" turned into a year of charges. Reading your own statement takes an evening you keep not having.
Earning its price. Logged with a one-line justification and a next-review date - nothing is kept forever by default.
Right service, wrong tier. Names the cheaper plan and drafts the switch steps. Family plans serving one person, premium tiers nobody streams in 4K.
The workhorse. Cancellation steps drafted, data-export plan included when needed, retention-offer email written first when the price has crept.
Rare, and it still does the work: states what's unknown, who to ask, and what the decision becomes once answered. One question, pre-loaded either way.
Decisions come from numbered rules checked in order - not vibes. The first rule that fires wins, and it's cited so you can audit the auditor.
Unused, but cloud photos block instant cancellation and refund-chasing mid-term is a waste. Plan: export photos this week, kill auto-renew today, access runs to renewal.
Two tools, one job, $40/mo. Usage can't break the tie - the user's preferences table can: preferred AI assistant = Claude. No coin flips allowed.
Not the operator's call to cancel what someone else might use. But the flag ships with the answer pre-loaded: "If they haven't watched in 30 days, CANCEL per 3a."
Real outputs - produced by the rules in this folder, refined through test runs that exposed and fixed three rule gaps. The git history shows the corrections.
Watch the recorded demo (no key, instant), run it live with your own Anthropic API key (stays in your browser), or copy the assembled prompt into any AI chat - Claude, ChatGPT, Gemini, whichever you use.
This is a recorded snapshot of a real run - editing the md files won't change it. To audit with the current rules: click π Copy prompt for any LLM and paste into Claude, ChatGPT, or Gemini (no API key needed), or run live with your own key. Rows marked β have the full drafted output - expand them.
| Subscription | $/mo | Decision | Rule | Action |
|---|
Put the auditor folder into a Claude Project, a ChatGPT Project, a Gemini Gem - or just paste the files into any chat. The model becomes the operator: identity, rules, examples and templates all loaded.
Open rules.md and make the thresholds yours: the unused-days cutoff, the protected list, the preferences table that breaks overlap ties. Plain English, ~5 minutes.
Name and price is enough. Back comes one table: a decision per line, the rule that fired, drafted actions, and the monthly savings if you execute.
subscription-auditor/ βββ identity.md # who the operator is, what it refuses to touch βββ rules.md # the decision logic - numbered, checked in order (the heart) βββ examples.md # five worked decisions, including the layered edge cases βββ README.md # how a stranger uses it βββ reference/ β βββ input-template.md # the paste format β βββ cancellation-templates.md # drafted emails + report format β βββ report-schema.md # JSON output contract for this page's live mode βββ interface/ # this page - zero decision logic inside
The rules short-circuit: assumptions and price normalization first, then the protected list, renewal urgency, usage, overlap, escalation, price-creep. First rule that fires decides, and every output cites its rule number.
Nothing is a black box. Edit one line in rules.md and every interface - any AI chat, this page, the local app - changes behavior instantly, because they all read the same files. Decision logic you can read, diff, and trust.