账单整理工作流
这个 skill 用于个人 agent 工作流:读取本地账单文件,分块整理、分类、去重,并导出记账 App 可导入的 CSV。不要依赖 Web 服务、登录、Supabase、Mastra 或当前项目代码。
开始前必须确认
- 目标模板必须明确为
icost或cookie。用户未说明时先询问,不要默认。 - 币种默认
CNY。 - 每次运行创建新的输出目录,例如
bill-output-YYYYMMDD-HHMMSS/。 - 先生成
workflow-config.json,再处理文件。 - 不要把大表或大量图片一次性塞进上下文。
按需读取
- 数据契约:读
references/data-contracts.md。 - 分类规则:读
references/category-rules.md,默认规则在references/default-category-rules.json。 - 导出模板:读
references/export-templates.md。 - 图片账单:读
references/image-handling.md。 - 失败与过滤:读
references/error-handling.md。
主流程
- 为本次运行创建输出目录,并写入
workflow-config.json。 - 对每个表格文件运行
scripts/inspect_bill_file.py,获取类型、编码、sheet、行数和预览。脚本不判断表头。 - Excel 文件存在多个 sheet 时,先把 sheet 名、行数和预览展示给用户,由用户决定哪些 sheet 是交易明细需要处理,并写入
sheet-selection/JSON。不要由 agent 自行决定有效 sheet。 - 由 agent 只对用户确认的 sheet 执行
structure-detection,判断表头、交易起始行和关键列,并输出结构化 JSON。 structure-detection低置信度时停下询问用户;中/高置信度继续。- 对每个用户确认的有效 sheet 分别运行
scripts/chunk_bill_rows.py,按完整记录切块。不能截断一行数据。 - 对表格 chunk 运行
scripts/normalize_table_chunks.py,输出billList + skippedItems + warnings到normalized-chunks/。 - 图片文件由支持视觉的 agent/model 识别,并输出同样的 normalized chunk JSON。可多图同批,但每条结果必须标明来源图片。
- 运行
scripts/validate_processed_bills.py校验输出。失败只重试问题 chunk/图片批次,最多 2 次。 - 运行
scripts/merge_processed_bills.py合并有效账单,并按datetime + price + type去重。 - 运行
scripts/export_bill_csv.py生成所选模板 CSV。 - 运行
scripts/build_audit_report.py生成审计报告。
输出目录
bill-output-YYYYMMDD-HHMMSS/
workflow-config.json
run-summary.json
result.csv
audit-report.md
processed-bills.jsonl
inspect/
sheet-selection/
structure-detection/
chunks/
normalized-chunks/
validation/
validation/ 默认只保留 valid-bills.jsonl、validation-summary.json,以及存在问题时生成的 issues.jsonl。chunks/ 是运行 checkpoint;成功导出并完成审计后,除非 privacy.keepFullRawChunks=true,不要把完整原始 chunk 当作必须长期保留的交付物。
禁止事项
- 不要默认 iCost。
- 不要输出 XLSX。
- 不要做汇率换算。
- 不要做二级分类。
- 不要做账户间转账抵消。
- 不要默认保留完整原始账单全文。
- 不要绑定具体模型、provider、API key 或 Web 项目代码。
- 不要做总控脚本;agent 负责编排,脚本只做单阶段确定性工作。
微信扫一扫