data-reconcilelisted
Install: claude install-skill moonlight-lupin/data-toolkit
# Finance Reconciliation
Reconcile **A (ours) against B (theirs)** and — the point of the skill — **triage** the
differences: every unreconciled item is *classified*, not just listed, so finance can act on
the few that matter. Produces a reconciliation **working paper** for a qualified person to
review and sign off.
> **Working paper, not a posting.** It matches and flags; it does **not** adjust the ledger,
> post a correction, or write to any system. Unmatched items stay flagged — **never
> force-fitted** into a match. Matching and triage are computed **on your machine** (the engine
> makes no external calls) — though the AI agent driving it does send whatever it reads into its
> context to your AI provider; see `../../PRINCIPLES.md#data-handling--pii-policy`.
## Workflow
```python
import sys; sys.path.insert(0, "scripts")
from reconcile import (reconcile_files, propose_aggregations, apply_aggregations,
finalize, render_proposals, write_workpaper, render_report, PRESETS)
```
> **Run from the skill directory** (`skills/data-reconcile/`). The `scripts` path resolves
> to this skill's `scripts/` subdirectory where `reconcile.py` lives.
### 1. Intent first — what are we reconciling, and against what?
Establish **A** (e.g. our invoice tracker / cashbook / internal records) and **B** (e.g. the
ledger / bank statement / fund administrator). Pick the **preset** if it's a recurring one
(`python scripts/reconcile.py --catalogue`), else go generic.
### 2. P