just-fucking-cancel
SafeFinance
Analyze bank transaction CSVs to find recurring charges, categorize subscriptions.
SKILL.md
# just-fucking-cancel
Analyze transactions, categorize subscriptions, generate HTML audit, help cancel.
## Triggers
- "cancel subscriptions", "audit subscriptions"
- "find recurring charges", "what am I paying for"
- "subscription audit", "clean up subscriptions"
## Workflow
### 1. Get Transactions
**Option A: Plaid API (recommended โ no CSV needed)**
If the user has Plaid connected (check for Plaid integration/API access):
1. Pull last 6-12 months of transactions via Plaid Transactions API
2. All accounts are automatically included โ no manual export needed
3. Skip straight to Step 2
**Option B: CSV Upload**
Ask user for bank/card CSV export. Common sources:
- Apple Card: Wallet โ Card Balance โ Export
- Chase: Accounts โ Download activity โ CSV
- Amex: Statements & Activity โ Download โ CSV
- Citi: Account Details โ Download Transactions
- Bank of America: Activity โ Download โ CSV
- Capital One: Transactions โ Download
- Mint / Copilot: Transactions โ Export
### 2. Analyze Recurring Charges
Read CSV, identify recurring patterns:
- Same merchant, similar amounts, monthly/annual frequency
- Flag subscription-like charges (streaming, SaaS, memberships)
- Note charge frequency and total annual cost
### 3. Categorize with User
For each subscription, ask user to categorize:
- **Cancel** - Stop immediately
- **Investigate** - Needs decision (unsure, trapped in contract)
- **Keep** - Intentional, continue paying
Ask in batches of 5-10 to avoid overwhelming.
### 4. Generate HTML Audit
Copy [template.html](assets/template.html) and populate:
- Update header summary:
- Scope line: "found N subscriptions ยท N transactions"
- Breakdown: "Cancelled N ยท Keeping N"
- Savings: yearly amount big, monthly in parentheses
- Timestamp: current date
- Add rows to appropriate sections (cancelled/investigate/keep)
- Include notes from user responses
Row templates in the HTML comments show the structure.
### 5. Cancel Subscriptions
When user checks items and copies from floating button, they'll paste:
`Cancel these: Service1 ($XX), Service2 ($XX)...`
For each service:
1. Check [common-services.md](references/common-services.md) for cancel URL
2. Use browser automation to navigate and cancel
3. Update HTML row to cancelled status with date
## HTML Structure
Three sections, auto-hide when empty:
- **Cancelled** (green badge, strikethrough) - Done items, the win
- **Needs Decision** (orange badge) - Has checkboxes for cancel selection
- **Keeping** (grey badge) - No checkboxes, just reference
Features:
- Floating copy button appears when items checked
- Privacy toggle blurs service names
- Collapsible sections via header click
- Dark mode support
## Cancellation Tips
For difficult services, see [common-services.md](references/common-services.md):
- Direct cancel URLs for 50+ services
- Dark pattern warnings (gym contracts, phone-only)
- Retention script responses
- Credit card dispute backup
## Privacy
All data stays local. Transaction CSVs are analyzed in-session only.
More in Finance
analytics-tracking
SafeWhen the user wants to set up, improve, or audit analytics tracking and measurement.
api-credentials-hygiene
SafeAudits and hardens API credential handling (env vars, separation, rotation plan, least privilege.
app-store-changelog
SafeCreate user-facing App Store release notes by collecting.
clawdbot-release-check
SafeCheck for new clawdbot releases and notify once per new version.