agentsclimarketplace

Weekly report

Skill weklund/fiduciary/.claude/skills/weekly-report

A personal financial advisor that runs locally. Plaid CLI + SQLite + Claude Code skills. Fiduciary-grade advice grounded in your real data.

Install
npx -y skills add weklund/fiduciary --skill weekly-report

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 9 stars9 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Generate a weekly personal finance report. Use when the user asks for a weekly report, spending summary, finance review, or budget status.

SKILL.md

2.8 KB, as published. Nobody here has run it

Instructions

Generate a weekly finance report from the unified SQLite ledger.

Data source

Primary: data/finance.db (SQLite)

Before generating, check if data is fresh:

sqlite3 data/finance.db "SELECT MAX(date) FROM transactions"

If older than 2 days, suggest running bash scripts/sync.sh first.

Report sections

1. Account Summary

SELECT name, mask, type, balance_current, balance_limit,
       CASE WHEN balance_limit > 0 
            THEN ROUND(balance_current * 100.0 / balance_limit, 0) 
            ELSE NULL END as utilization_pct
FROM accounts ORDER BY type, balance_current DESC;

2. Weekly Cash Flow (last 7 days)

SELECT 
  SUM(CASE WHEN amount < 0 THEN ABS(amount) ELSE 0 END) as income,
  SUM(CASE WHEN amount > 0 THEN amount ELSE 0 END) as spending,
  SUM(CASE WHEN amount < 0 THEN ABS(amount) ELSE 0 END) - 
  SUM(CASE WHEN amount > 0 THEN amount ELSE 0 END) as net
FROM transactions 
WHERE date >= date('now', '-7 days');

3. Spending by Category (top 10, last 7 days)

SELECT description, SUM(amount) as total, COUNT(*) as txns
FROM transactions 
WHERE amount > 0 AND date >= date('now', '-7 days')
GROUP BY description
ORDER BY total DESC LIMIT 15;

4. Notable Transactions

  • Largest single purchases (top 5)
  • Any new recurring charges detected
  • Fees or interest charges
-- Fees/interest this week
SELECT date, description, amount FROM transactions
WHERE date >= date('now', '-7 days') AND amount > 0
  AND (LOWER(description) LIKE '%fee%' 
    OR LOWER(description) LIKE '%interest%'
    OR LOWER(description) LIKE '%overdraft%')
ORDER BY amount DESC;

5. Week-over-Week Comparison

-- This week vs last week
SELECT 
  'This week' as period,
  SUM(CASE WHEN amount > 0 THEN amount ELSE 0 END) as spent
FROM transactions WHERE date >= date('now', '-7 days')
UNION ALL
SELECT 
  'Last week',
  SUM(CASE WHEN amount > 0 THEN amount ELSE 0 END)
FROM transactions WHERE date >= date('now', '-14 days') AND date < date('now', '-7 days');

6. Progress vs Goals

Check if ## Client Context in CLAUDE.md or memory files contain "Key Metrics to Track". If so, report progress against those targets. If not, use sensible defaults:

  • Fees/interest this week (always flag — target is always $0)
  • Dining-to-grocery ratio (flag if >2x)
  • New subscription charges (flag anything recurring that wasn't present last month)

Output

Save to reports/weekly/YYYY-MM-DD.md AND display to the user. Keep it concise — bullet points, not paragraphs. Lead with the most important numbers.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.