用途:这是一个家庭财务分析技能,回答“本月还剩多少钱、应该怎么分配”。面向固定家庭场景(Bruno 与 Mila),基于 Monzo 联合账户与个人账户交易 CSV 以及 Budget 工作簿,计算当月结余 saved_that_month,并与历史对比、给出分配建议。
主要能力:1)从 ~/Downloads 读取 Monzo 个人账户、联合账户交易 CSV 和 Budget*.xlsm;2)识别收入、固定账单与内部资金流动,计算 saved_that_month = 总收入 - 每周预算 - 经常性账单,可分配额 = saved_that_month - flex;3)从工作簿取最近 5 个月 saved_that_month 做历史对比,偏离 3 个月均值超过 5% 时逐项解释账单变化;4)按最近 3 个月储蓄罐分配比例给出建议;5)输出可直接交给 Monzo MCP 执行的转账操作清单;6)提醒更新工作簿。
使用方式:所有计算必须用 DuckDB,如 duckdb -c "SELECT ...",不做心算;用 British English。工作簿通过 DuckDB spatial 扩展读取:INSTALL spatial; LOAD spatial; SELECT * FROM st_read('path/to/file.xlsm', layer='Sheet Name'),不用 Python 或 openpyxl。先做预检:确认日期、数据文件是否当月、判断是前瞻还是回溯模式、两笔工资是否齐全;Flex 金额是唯一可询问用户的问题。历史分析最多回溯 6 个月。最后只呈现一份汇总报告。
适用场景:需要自动化月结、历史对比和转账计划的 Monzo 家庭用户。
限制:依赖特定账户结构与固定收入来源,数据文件缺失或过期时需用户重新导出;工作簿“Editable - Expenses”表不用于计算本月账单;本资料未提供安装命令、收费、平台支持等其它信息。