fetch-bank-data
Use when the user says "fetch bank data", "pull from bank", "fetch hapoalim", "fetch cal", "fetch credit card", "pull from cal", or any morning-equivalent.…
Use when the user says "sync finance", "daily sync", "run the morning sync", "fetch my finances", "ingest new docs", "run everything", or any full financial-data update. Runs all configured sources — bank/card fetch, IBKR, Drive/manual staging — then ingests and reconciles
$ npx -y skills add ya5huk/findash --skill sync-finance-data --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/sync-finance-dataContext preview
The summary Claude sees to decide when to auto-load this skill.
Use when the user says "sync finance", "daily sync", "run the morning sync", "fetch my finances", "ingest new docs", "run everything", or any full financial-data update. Runs all configured sources — bank/card fetch, IBKR, Drive/manual staging — then ingests and reconciles
name: sync-finance-data description: Use when the user says "sync finance", "daily sync", "run the morning sync", "fetch my finances", "ingest new docs", "run everything", or any full financial-data update. Runs all configured sources — bank/card fetch, IBKR, Drive/manual staging — then ingests and reconciles SQLite, refreshes deterministic market caches, sorts Drive drops, and performs the gated backup. It writes SQLite only; the live dashboard is run separately.
Run the complete data update into local SQLite: collect every configured source, ingest and reconcile it, refresh cached reference data, and back it up when due. It writes the database only; `./run_dashboard.sh` is the separate, user-run way to look at the result.
Use judgment, not pattern-matching. Categorization, deduplication, and reconciliation across sources are your job. Run every foreground command to completion before moving on; a scheduled task cannot receive deferred-task notifications.
**External collection is best-effort; local ingest is the reliable core.** A bank, IBKR, market, or Drive failure becomes a count-only `⚠️` summary bullet and the run continues. Fail only when migration or local ingestion cannot complete safely.
Run the [`fetch-bank-data`](../fetch-bank-data/SKILL.md) skill in the foreground. Each configured source stages one private JSON + notes pair under `inbox/staging/fetched/`; missing credentials skip that source. OTP, CAPTCHA, browser, login, and provider failures add one count-only warning and do not stop the sync. Never copy raw provider errors or private financial fields into stdout.
Run `python3 scripts/migrate_db.py`, then run the [`fetch-investments`](../fetch-investments/SKILL.md) skill when an active `account_feeds.provider='ibkr'` row exists or the connector is visibly connected. Never onboarded means skip silently. Connected interactive sessions ingest trades and reconciliation snapshots directly into SQLite. Unattended or unavailable connector sessions add one warning and continue; never request trading or money-movement tools.
Pull anything new from the vault into local staging through the Google Drive connector. Every call here is best-effort: on failure, add a `⚠️` bullet (step 10) and continue — never abort.
A private, live dashboard that turns personal-finance evidence into a reconciled SQLite ledger. FinDash is a Claude Code plugin (findash) with one primary product surface: a private React dashboard running on localhost.
Repo: ya5huk/findash
Use when the user says "fetch bank data", "pull from bank", "fetch hapoalim", "fetch cal", "fetch credit card", "pull from cal", or any morning-equivalent.…
Use when the user says "fetch investments", "fetch ibkr", "fetch interactive brokers", "pull portfolio", "fetch brokerage", "snapshot ibkr", or any…
Use when the user says "doctor", "finance doctor", "check finance setup", "what's missing", or any "is everything set up?" equivalent. Audits binaries,…