ynab-reviewlisted
Install: claude install-skill luutuankiet/bank-statement-wrangler
# YNAB Transaction Review Skill
## Purpose
Batch-review unapproved YNAB transactions: auto-approve matched, detect cross-account duplicates, classify by memo patterns, and present ambiguous items for user decision. Designed for Vietnamese bank statements (TCB, SCB, MoMo) imported via bank-statement-wrangler pipeline.
## Architecture
```
ynab-dump CLI → staging/transactions.json → DuckDB queries (READ)
↓
classify + present
↓
YNAB MCP (WRITE only)
```
**DuckDB for reads** — query `staging/transactions.json` via `fs:query_duckdb` tool. Full SQL: JOINs, GROUP BY, window functions, CTEs. No 80KB truncation, no narrow date windows.
**YNAB MCP for writes** — `utils:ynab__updateTransactions` via `call_tool_destructive` for approvals, categorization, memo updates, transfer conversion.
## Prerequisites
- Staging data: user runs `ynab-dump --since <window>` before invoking this skill
- YNAB MCP tools on `utils` server, prefix `ynab__`, use `call_tool_destructive`
- DuckDB query tool on `fs` server: `fs:query_duckdb` via `call_tool_read`
- Discover tools with: `retrieve_tools("ynab budget transactions")` and `retrieve_tools("duckdb query")`
## Staging JSON Path
```
scripts/bank-statement-wrangler/staging/transactions.json
```
All DuckDB queries use this path. Shorthand in examples below: `TXN_