---
name: weekly-money-checkin
description: Run a weekly personal-finance check-in from a bank or card CSV export. Totals by category vs. budget targets, flags overspending, possible duplicate charges, subscriptions, and uncategorized items, and suggests 3 concrete actions. Use when the user shares transactions and asks how their week or month went, where money went, or to check their budget.
license: MIT
metadata:
  library: TriedSkills
  job: Weekly money check-in
  version: "1.1"
---

# Weekly money check-in from a CSV

## Inputs
A transactions CSV (date, description, amount; category if available) and, optionally, budget targets by category. Negative amounts = money out (if the export uses a different sign convention, detect it and say so).

## Steps
1. **Compute with code, never by eye.** Load the CSV (see `demo/checkin.py` for a reference script). Report the row count and date range. **Every number in the report, including subtotals quoted in the actions, must be copied from the script output.** If you need a number the script doesn't print, add it to the script and re-run. Don't add it up yourself.
2. Total income, total outflow, and spending **excluding transfers to savings**. Treat savings transfers as a win, not as spending.
3. Total each category and compare it to its target: over/under and by how much.
4. List **uncategorized** rows and propose a category for each (subscriptions, gym, etc.).
5. Classify **repeat charges** by merchant, using these rules (the script applies them):
   - **Likely double charge:** a subscription-type merchant (streaming, music, gym, software) billed the same amount twice within one billing cycle (≤ 25 days). Tell the user to check with the merchant or bank.
   - **Possible duplicate:** the same merchant and amount twice on the **same day**.
   - **Recurring habit, not a duplicate:** 3+ separate purchases on different days at a non-subscription merchant (e.g. daily coffee). Report the total as a spending pattern, not an error.
   - Otherwise: a normal repeat purchase.
6. List recurring **subscriptions** with a monthly total.
7. Give **3 specific actions** for next week, each tied to a number above.

## Output format
Summary line → category table → flags (duplicates, uncategorized, subscriptions) → 3 actions.

## Guardrails
- Not financial, tax, or investment advice. Stick to the user's own numbers and simple budgeting.
- Never ask for or store account numbers or passwords. The CSV should never leave the user's control.
