weekly-report
Generate a weekly personal finance report. Use when the user asks for a weekly report, spending summary, finance review, or budget status.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Generate a weekly personal finance report. Use when the user asks for a weekly report, spending summary, finance review, or budget status.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
Financial advisor intake — run when a user first sets up this project, says "onboard", "set up my profile", "get started", "intake", "configure my finances", or when CLAUDE.md has no Client Context section. Conducts a structured interview modeled on the CFP Board's 7-step process and writes personalized context to memory files (never to CLAUDE.md). USE THIS SKILL for any first-time setup or when the user wants to update their financial profile.
Quarterly financial health assessment. Use when the user asks for a full financial review, health check, "how am I doing", quarterly review, ratio check, financial assessment, or wants to know if they're on track. Also use when more than 30 days have passed since the last health check. Compares current state against goals, checks all key ratios, identifies which layer of the financial pyramid needs attention, and produces a prioritized action plan. Spawns research agents for tactical implementation details.
Answer "what should I do with my next dollar?" Apply the financial order of operations to the user's ACTUAL situation. Use when someone asks what to do with money, how to allocate a paycheck, where to put savings, whether to pay debt or invest, what to do with a bonus/raise/windfall/tax refund, or any variant of "I have $X — what's the best use?" Also use for "should I pay off X or save?" questions. THIS IS THE MOST COMMON FINANCIAL QUESTION — trigger aggressively.
Optimize HOW you execute financial strategies with your specific accounts, cards, and tools. Use when the user asks "how should I use my cards?", "optimize my rewards", "balance transfer options", "which account for X?", "am I leaving money on the table?", "what am I not taking advantage of?", or any variant of tactical account optimization. Also trigger after /next-dollar gives a strategic recommendation — this skill provides the implementation playbook. USE THIS SKILL when someone wants to squeeze maximum value from existing financial instruments. This skill spawns research agents for deep analysis.
Audit spending for waste, unused subscriptions, and overspending by category. Use when the user asks to find waste, cut spending, review subscriptions, check for recurring charges they forgot about, or do a financial audit.
Answer questions about personal finances — balances, transactions, spending patterns, account status, recent purchases, merchant history, income tracking. Use when the user asks anything about their money, accounts, or transactions.
| name | weekly-report |
| description | Generate a weekly personal finance report. Use when the user asks for a weekly report, spending summary, finance review, or budget status. |
| allowed-tools | Bash, Read, Write |
Generate a weekly finance report from the unified SQLite ledger.
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.
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;
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');
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;
-- 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;
-- 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');
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:
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.