What problem does it solve? Closing the books each month requires the same repetitive checks — reconciling every account, verifying balance assertions, spotting missing recurring charges, and sweeping flagged entries — and skipping any of them silently corrupts the ledger's trustworthiness. ## Core Features & Use Cases - Fixed seven-phase close checklist: Scope, Reconcile, Assert, Recurring, Flags, Report, Commit — each phase reports a status line so nothing is silently skipped. - Delegated reconciliation: Per-account reconciliation is handed to the beancount-reconcile skill with its own confirm gate; accounts without statements are reported as unverified, never hidden. - Recurring-gap and flag detection: Surfaces subscription-like payees present in prior months but absent this period, and lists every !-flagged entry as resolved or carried. - Confirm-gated git commit: Produces a close report (income, expenses, net) and commits it only after explicit approval, with the report as the commit body; a red bean-check blocks the commit entirely. - Use Case: Ask to "close June 2026" with your ledger and a checking statement CSV — the skill reconciles checking, flags the Amex account as unverified, raises the missing NETFLIX charge as a question, and proposes a commit titled close: 2026-06 — 1 reconciled, 1 unverified. ## Quick Start Close June 2026 for me — my ledger is ./ledger.beancount and my checking statement is ./statement.csv.