From firefly-tools
Conduct an end-of-month financial review with spending analysis, budget performance, and transaction audit
How this skill is triggered — by the user, by Claude, or both
Slash command
/firefly-tools:monthly-reviewThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Guided end-of-month financial review workflow.
Guided end-of-month financial review workflow.
Before starting, read ${CLAUDE_PLUGIN_ROOT}/.env to check it exists and has no REPLACE_WITH placeholders.
If credentials are missing, tell the user to run /firefly-tools:setup first and stop.
$ARGUMENTS optionally specifies the month to review (format: YYYY-MM). Defaults to the previous month.
Convert the target month to the date range format the MCP tools expect:
YYYY-MM-01YYYY-MM-{last day} (28/29/30/31 depending on month)YYYY-MM-DD:YYYY-MM-DD when calling firefly:get_spending_summaryIf MCP tools (firefly:*) are not available (e.g., in Cowork mode), use the equivalent scripts in ${CLAUDE_PLUGIN_ROOT}/scripts/ via Bash:
firefly:get_spending_summary → python ${CLAUDE_PLUGIN_ROOT}/scripts/spending_summary.py --period <period> --group-by <group> [--compare]firefly:get_review_queue → python ${CLAUDE_PLUGIN_ROOT}/scripts/review_queue.py --days <N>firefly:manage_metadata → python ${CLAUDE_PLUGIN_ROOT}/scripts/manage_metadata.py <action> --name "..."For a one-shot Markdown report, you can also use: python ${CLAUDE_PLUGIN_ROOT}/scripts/spending_report.py --period YYYY-MM
Additional Cowork-only tools:
python ${CLAUDE_PLUGIN_ROOT}/scripts/budget_forecast.py — project where spending will land by end of monthpython ${CLAUDE_PLUGIN_ROOT}/scripts/export_transactions.py --date-from ... --date-to ... --format csv — export raw dataCall these (they can run in parallel):
firefly:get_spending_summary (or python ${CLAUDE_PLUGIN_ROOT}/scripts/spending_summary.py --period {start}:{end} --group-by category) with period {start}:{end}, grouped by categoryfirefly:get_spending_summary (or spending_summary.py --period {start}:{end} --group-by budget) with period {start}:{end}, grouped by budgetfirefly:get_spending_summary (or spending_summary.py --period {start}:{end} --group-by tag) with period {start}:{end}, grouped by tagfirefly:get_review_queue (or python ${CLAUDE_PLUGIN_ROOT}/scripts/review_queue.py --days <N>) with enough days_back to cover the target monthAlso fetch prior month data for comparison:
5. firefly:get_spending_summary (or spending_summary.py --period {prior_start}:{prior_end} --group-by category) with prior month period, grouped by category
If there are unclassified transactions from the review period:
AskUserQuestion: "Want to classify them now, or continue with the review as-is?"/firefly-tools:classify-unknowns and come back to this review afterPresent a clear breakdown. Use tables for readability:
Top Categories:
| Category | Amount | % of Total | vs Last Month |
|---|---|---|---|
| Food & Dining | $450 | 28% | +12% |
| Transport | $200 | 12% | -5% |
Budget Performance:
| Budget | Spent | Limit | Remaining | Status |
|---|---|---|---|---|
| Groceries | $380 | $400 | $20 | On track |
| Eating Out | $450 | $300 | -$150 | Over budget |
Largest Transactions (top 5 by amount — for awareness, not judgment):
| Date | Description | Amount | Category |
|---|
Present 2-3 observations based on the data. Focus on what's actionable:
Use AskUserQuestion to discuss. This is a conversation — ask what they think, not just dump data. Examples:
Keep it to 2-3 questions max. Don't interrogate the user about every category.
Based on the discussion, offer concrete next steps (only suggest what's relevant):
Only call firefly:manage_metadata (or python ${CLAUDE_PLUGIN_ROOT}/scripts/manage_metadata.py) if the user agrees to a specific change. Don't make changes without confirmation.
npx claudepluginhub originalbyteme/claude-open-finance --plugin firefly-toolsGenerates monthly financial digests with income/expenses, savings rate, category breakdowns, top expenses, anomalies, trends, and MoM changes using spending_summary, transaction_search, and anomaly_detect.
Processes bookkeeper Excel/CSV exports into categorized spending, budget comparisons, variance analysis, runway calculations, and burn rate trends. Useful for month-end financial reviews.
Generates detailed expense reports with category breakdowns, top vendors, trends, insights, and period comparisons from Norman Finance transactions.