CommunityCoding & Developmentgithub.com

daytrader1981/subscription-audit-skill

Find every recurring charge in a bank/card CSV export, compute monthly and yearly cost, and recommend keep, cancel or downgrade. Use when the user asks to audit subscriptions, find recurring charges, or cut monthly costs.

What is subscription-audit-skill?

subscription-audit-skill is a Claude Code agent skill that find every recurring charge in a bank/card CSV export, compute monthly and yearly cost, and recommend keep, cancel or downgrade. Use when the user asks to audit subscriptions, find recurring charges, or cut monthly costs.

Works with✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/daytrader1981/subscription-audit-skill/tree/HEAD/skills/subscription-audit

Installed? Explore more Coding & Development skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Ask in your favorite AI

Open a new chat with this agent skill pre-loaded.

Documentation

Subscription Audit

Inputs

  • One or more CSV exports (ideally 90+ days) with date, description and amount columns. Ask which column is which if headers are unclear.
  • Optional: the user's list of subscriptions they know about.

Procedure

  1. Load the CSVs. Normalize amounts so that charges are positive. Drop transfers, refunds and card payments (descriptions like "PAYMENT THANK YOU", "TRANSFER").
  2. Normalize merchant names: uppercase, strip store numbers, dates, reference IDs and city/state suffixes. Group by normalized merchant.
  3. Flag a merchant as recurring when its median interval matches a cadence (weekly 7±1, biweekly 14±2, monthly 30.4±4, quarterly 91±7, yearly 365±10 days), at least 60% of intervals fit that cadence, and amounts are stable. Items varying more than 10% are kept but flagged "variable amount" (utilities). Reject merchants whose amounts swing widely (coefficient of variation > 25%); these are ordinary shopping, not subscriptions. Two charges only = "low confidence". No charge for 1.5× the cadence = "possibly cancelled".
    • If Python is available, run python scripts/subscription_audit.py <csv> (the script ships inside this skill folder; resolve the path relative to this SKILL.md) and review its table instead of computing by hand.
  4. For each recurring merchant record: cadence, typical amount, last charge date, next expected date (last + cadence), monthly equivalent (weekly ×52/12, yearly ÷12), and yearly cost.
  5. Mark possible duplicates: two merchants in the same category (e.g., two music services, two cloud storage plans) or the same merchant on two cards.
  6. Ask the user Keep / Cancel / Downgrade / Unsure for each item. If asked, suggest based on overlap and last-used date. Never pressure.
  7. Output:
    • Table: Merchant | Cadence | Amount | Monthly | Yearly | Next charge | Flag | Decision
    • Totals: current monthly/yearly spend, and savings if the decisions are applied
    • Cancel checklist ordered by next charge date (soonest first), with a reminder to cancel before that date.
  8. When giving cancel steps, link only the service's official help page, or tell the user to search "[service] cancel subscription site:[official domain]". Never invent steps.

Rules

  • Show your matching assumptions; list "possible recurring" items separately when confidence is low.
  • Never ask for bank passwords or log into accounts.
  • Not financial advice.

Related Skills