fetch-bank-datalisted
Install: claude install-skill ya5huk/findash
# fetch-bank-data
You pull fresh data from the user's customer-facing bank + credit-card sites and stage reasoned files in local `inbox/staging/fetched/`. **Sync owns ingestion** — your job ends when the pairs are staged; sync ingests them into SQLite and deletes them after commit. Fetched data never goes to Drive: SQLite is its only persistence. You do not touch SQLite (beyond read-only queries), do not call the dashboard. Adding more issuers later (`max`, `isracard`, `amex`) is just one more `[section]` in `.secrets/findash` + one more mapping line below.
## Where things live
- Scraper wrapper: `scripts/fetch_bank.js` (parameterized by `--company`)
- Node deps: `scripts/package.json` + lockfile (`israeli-bank-scrapers` + `puppeteer`; run `scripts/install_node_deps.sh` once)
- Credentials: the `[hapoalim]` / `[cal]` sections of `.secrets/findash` (chmod 600)
- Per-company Chromium profile (persists trusted-device cookies + soft anti-bot state): `~/.cache/findash/chromium-profile/<companyId>/`
- Staging dir — the fetch→sync handoff: `inbox/staging/fetched/`
- Ephemeral raw capture: `inbox/staging/captures/<company>-latest.json`
(mode 600; delete after the per-account pairs are safely staged)
- SQLite (read-only here, for date-range + own-account vocabulary): `data/finance.db`
- Safe read gateway: [`docs/database-operations.md`](../../docs/database-operations.md). Put each shown query in a private request file and run `python3 scripts/findash_db.py query`; delete the requ