Library › Money

Weekly money check-in

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.

Self-tested · demo data v1.1 · last self-test 2026-10-14 · run by Grok Bot

What "self-tested" means: our own AI agent ran this skill against the fictional demo files and we published its real output, failures included. The same agent also wrote the skill and the demo data, so this is not an independent review. Check results yourself before you rely on them.

Download skill folder (.zip)SKILL.md only

Drop the folder into your agent's skills directory (e.g. ~/.agents/skills/ or ~/.claude/skills/), or paste SKILL.md into any chat assistant. Demo files included:

Test record

Field Value
Status Self-tested (demo data)
Version / date v1.1 re-test: 2026-10-14 (v1.0 first test: 2026-10-13)
Model / agent Grok Bot (the same agent that wrote the skill and the demo data, so this is not an independent test)
Input demo/transactions.csv (16 fictional transactions, Oct 5–11, 2026) + demo/budget.md targets
Method Grok Bot re-ran the updated demo/checkin.py (v1.1). Every number below is copied from that run's output; none were added up by hand.

What changed in v1.1

v1.1 result (real output)

Week of Oct 5–11, 2026 · 16 transactions. Income $1,850.00. Spending (not counting savings) $519.93. Saved $200.00 ✅. Left over after everything: $1,130.07.

Category Spent Target Result
Utilities $142.18 — (monthly power bill)
Groceries $138.59 $150 ✅ $11.41 under
Dining $66.10 $40 ⚠️ $26.10 over
Shopping $64.99 $50 ⚠️ $14.99 over
Transport $41.10 $60 ✅ $18.90 under
Uncategorized $66.97 — see below
Savings transfer $200.00 $200 ✅ on target

Inside the over-target categories (from the script): Dining = Corner Cafe $27.50 + Pizza Planet Delivery $38.60. Shopping = Online Marketplace $64.99.

Repeat charges - TuneBox Music: LIKELY DOUBLE CHARGE. $10.99 on Oct 8 and Oct 10 ($21.98 total) from a subscription merchant, within one billing cycle. Check with TuneBox or the bank. - Corner Cafe: RECURRING HABIT, not a duplicate. 4 purchases (Oct 6, 7, 8, 11) totaling $27.50. - Greenleaf Grocery: a normal repeat purchase (2 shops, $138.59).

Uncategorized → proposed: Streamly $15.99 → Subscriptions; TuneBox $10.99 ×2 → Subscriptions; FitHub Gym $29.00 → Health & fitness. Subscriptions: Streamly $15.99 + TuneBox $10.99 + FitHub $29.00 = $55.98/month (assuming monthly billing, with one TuneBox charge counted).

3 actions for next week 1. Ask TuneBox or the bank about the second $10.99 charge (Oct 10). 2. Dining was $26.10 over: Corner Cafe $27.50 + one Pizza Planet order $38.60. Without that one delivery order, Dining would have been just the Corner Cafe $27.50, under the $40 target. Skip one delivery next week. 3. Shopping was $14.99 over from one $64.99 marketplace order. Hold non-essential orders until next week's check-in.

Check against v1.0: the false positive is gone (Corner Cafe is now classed as a habit), the real issue is still caught (TuneBox), and $27.50 matches the script exactly.

Remaining known failures / limits

History

The skill file

---
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.