Skip to main content
skill CX Codex

expense-optimizer — Claude Code skill: what it does, how to install

Analyzes transaction history to spot recurring subscriptions, price increases, and duplicate services. Useful when auditing recurring personal or team expenses.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add openaccountant/skills --skill expense-optimizer -a claude-code
Open on GitHub

What expense-optimizer does

This skill analyzes bank transaction history to find recurring subscriptions and forgotten charges. It groups payments over the past 6 months using tools such as transaction_search, anomaly_detect, and spending_summary. The workflow detects vendor billing aliases, uncovers price spikes, and spots services that stopped billing.

Every identified expense falls into a practical bucket: cancel, downgrade, negotiate, consolidate, or switch to a cheaper alternative. The assistant calculates estimated annual savings for each recommendation and tallies the total.

The skill only flags optimization candidates and never cancels or alters accounts on your behalf. Accurate recurring detection requires at least 3 months of transaction data, while annual renewals need 12 months of records.

What it helps with

  • find forgotten subscriptions in bank statements
  • flag unexpected price increases on recurring charges
  • identify overlapping streaming or cloud storage services
  • calculate annual savings from downgrades and plan switches

Example prompts for the agent

  • Analyze my transaction history from the last 6 months and find recurring subscriptions.
  • Scan recurring expenses for recent price increases and suggest services to downgrade.

How to install expense-optimizer

1Skills CLI (Vercel)

npx skills add openaccountant/skills --skill expense-optimizer -a claude-code

2Manually: put the files in place

~/.claude/skills/expense-optimizer/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/expense-optimizer/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about expense-optimizer

How do I install expense-optimizer in Claude Code?

Run npx skills add openaccountant/skills --skill expense-optimizer -a claude-code. The skill file will be placed in ~/.claude/skills/expense-optimizer/SKILL.md.

What does the expense-optimizer skill do?

It audits transaction logs, groups recurring charges, flags price increases, and estimates potential annual savings across optimization categories.

Can this skill cancel subscriptions automatically?

No, it only identifies optimization candidates and calculates savings, without canceling or modifying any accounts.

Source text

SKILL.md · MIT
---
name: expense-optimizer
description: >
  Find recurring expenses and subscriptions to cut or reduce.
---

# Expense Optimizer

## Overview
Analyze your transaction history to identify recurring expenses, unused subscriptions, duplicate services, and optimization opportunities. Surfaces actionable savings by detecting charges you may have forgotten about or services you could downgrade.

## Wilson Tools Used
- `transaction_search` — detect recurring charges by pattern and frequency
- `anomaly_detect` — flag subscriptions with price increases or irregular charges
- `spending_summary` — identify highest-spend recurring categories

## Workflow
1. Use `transaction_search` to find all transactions from the last 6 months.
2. Identify recurring charges by grouping transactions with similar descriptions and regular intervals (weekly, monthly, annual).
3. Build a recurring expense inventory:
   | Service | Monthly Cost | Frequency | Last Charged | Category |
   |---------|-------------|-----------|--------------|----------|
4. Use `anomaly_detect` to flag:
   - Subscriptions with recent price increases
   - Charges that stopped (possible cancellation or card expiry)
   - Services charged but not seen in a while (potential unused subscriptions)
5. Classify each recurring expense into optimization categories (see table below).
6. Present findings with estimated annual savings for each recommendation.
7. Summarize total potential savings.

## Optimization Categories

| Category | Description | Examples |
|----------|-------------|---------|
| Cancel | Services you likely don't use | Gym memberships with no related spending nearby, streaming services you haven't watched |
| Downgrade | Premium tiers you could reduce | Phone plan with unused data, cloud storage over 50% empty |
| Negotiate | Services with competitive alternatives | Internet, insurance, cell phone |
| Consolidate | Overlapping services | Multiple streaming, multiple cloud storage, multiple music services |
| Switch | Cheaper alternatives exist | Bank fees (switch to no-fee), high-interest debt (refinance) |
| Keep | Good value, actively used | No action needed |

## Without Wilson
To find recurring expenses manually:

### Step-by-Step in a Spreadsheet
1. **Export 6 months of transactions** from your bank as CSV.
2. **Sort by Description** alphabetically to group similar charges.
3. **Identify recurring charges**:
   - Filter for common subscription amounts: $4.99, $9.99, $12.99, $14.99, $15.99, $19.99
   - Search for keywords: `SUBSCRIPTION`, `RECURRING`, `MONTHLY`, `ANNUAL`, `RENEWAL`
   - Look for identical amounts from the same vendor appearing monthly
4. **Build your subscription inventory** in a new sheet:
   ```
   =SUMIFS(Amount, Description, "*NETFLIX*", Date, ">="&TODAY()-180) / 6
   ```
   This gives the average monthly cost for Netflix over the last 6 months.
5. **Detect price increases**: Compare the most recent charge to the oldest charge for each vendor:
   ```
   Current:  =INDEX(Amount, MATCH(1, (Description="*NETFLIX*")*(Date=MAX(IF(Description="*NETFLIX*",Date))), 0))
   Original: =INDEX(Amount, MATCH(1, (Description="*NETFLIX*")*(Date=MIN(IF(Description="*NETFLIX*",Date))), 0))
   ```
6. **Calculate annual cost**: `=MonthlyCost * 12`
7. **Sum potential savings**: Add up the annual cost of services you'd cancel, downgrade, or switch.

### Free Tools
- **Rocket Money** (formerly Truebill): Automatically detects and helps cancel subscriptions
- **Trim**: Negotiates bills on your behalf (takes a percentage of savings)
- **Bobby** (iOS app): Manual subscription tracker with renewal reminders

## Important Notes
- Recurring detection works best with 3+ months of transaction history. With less data, some annual charges may be missed.
- Annual charges (e.g., Amazon Prime, domain renewals) only appear once — Wilson looks back 12 months for these if data is available.
- Some services use different billing descriptors than their brand name (e.g., "GOOGLE *YouTube" for YouTube Premium). Wilson groups these by learning common aliases.
- This skill identifies candidates for optimization but does not cancel or modify any services on your behalf.

© openaccountant · MIT · openaccountant/skills

Similar skills

All skills for Finance and business →

From the same set44

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor