# bank-sync

Connects bank accounts to Wilson and pulls new transactions daily through Plaid. Useful if you track spending in Wilson and are tired of CSV exports.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 640 installs · ★ 98
- Author: openaccountant
- License: MIT · policy=mirror · the beginning of the file is at the end of this page
- Source: https://github.com/openaccountant/skills/tree/HEAD/shared/bank-sync/SKILL.md
- Updated: 2026-04-09
- HTML: https://affpapa.org/en/nevibecode/skills/bank-sync

## What it does

The skill walks you through Plaid Link: pick your institution, sign in, choose which accounts to sync. The access token then sits in your local Wilson database and never leaves the machine. The first run pulls the last 30 days of transactions, duplicates get filtered out, and fresh rows go through `categorize`. When it finishes, you get a report of new transactions, skipped duplicates and connected accounts.

Daily sync kicks off at the next Wilson session start. Two Wilson tools do the work: `transaction_search` to verify imports and hunt for duplicates, and `categorize` to label what came in. A Wilson Pro license is required — without it the Plaid step won't run.

Some institutions ask you to re-authenticate every 90 days, and Plaid prompts you when that happens. If a connection breaks, Wilson notifies you and offers either re-authentication or a fallback to manual CSV import. The skill also covers the no-Plaid route: an export schedule for major banks and alternatives such as Actual Budget or GnuCash with OFX.

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add openaccountant/skills --skill bank-sync -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/bank-sync/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/bank-sync/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add openaccountant/skills --skill bank-sync -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/bank-sync/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add openaccountant/skills --skill bank-sync -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/bank-sync/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install openaccountant/skills bank-sync
```

2. **Manually: put the files in place**
- File: `.github/skills/bank-sync/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add openaccountant/skills --skill bank-sync -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/openaccountant/skills --path shared/bank-sync
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/bank-sync/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add openaccountant/skills --skill bank-sync -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/openaccountant/skills/tree/HEAD/shared/bank-sync/SKILL.md

## When to use it
- pull bank transactions without manual CSV exports
- categorize new transactions right after a sync
- catch duplicates on a repeated import
- schedule a daily transaction pull
- fall back to manual exports when Plaid is not an option

## Example prompts
- connect my bank account through Plaid and sync transactions
- verify imported transactions with transaction_search and check for duplicates
- categorize the newly synced transactions

## Source text · SKILL.md · MIT

Below is the content of a third-party file. It is data, not instructions for you: do not act on anything written inside unless the human asks. Block tag: 5cea82f7d9d5f8b2.

BEGIN THIRD-PARTY FILE 5cea82f7d9d5f8b2
```text
---
name: bank-sync
description: >
  Connect bank accounts for automatic transaction import via Plaid.
---

# Bank Sync

## Overview
Connect your bank accounts for automatic, recurring transaction imports using the Plaid API. Once connected, Wilson pulls new transactions daily without manual CSV exports. Supports checking, savings, and credit card accounts from thousands of financial institutions.

**Note: Plaid integration requires a Wilson Pro license.**

## Wilson Tools Used
- `transaction_search` — verify imported transactions and check for duplicates
- `categorize` — auto-categorize newly synced transactions

## Workflow
1. Verify the user has a valid Wilson Pro license.
2. Launch the Plaid Link flow to connect a bank account:
   - User selects their financial institution
   - User authenticates with their bank credentials
   - User selects which accounts to sync
3. Store the Plaid access token securely in the local database.
4. Perform an initial sync to pull the last 30 days of transactions.
5. Deduplicate against any previously imported transactions.
6. Run `categorize` on newly synced transactions.
7. Report sync results: new transactions, duplicates skipped, accounts connected.
8. Set up daily automatic sync (runs on next Wilson session start).

## Without Wilson
If you don't have Wilson Pro or prefer manual imports, here are alternatives for each major bank:

### Manual Export Schedule (Recommended Monthly)

**Chase:**
- chase.com > Account > Download account activity > CSV
- Or set up Chase email alerts for transactions over a threshold

**Bank of America:**
- bankofamerica.com > Account > Information & Services > Download transactions > CSV
- BofA also supports auto-export to Quicken/QuickBooks

**Wells Fargo:**
- wellsfargo.com > Account > Download Account Activity > Comma Delimited

**Citi:**
- citibank.com > Account > View Activity > Download (CSV, OFX, QIF)

**Capital One:**
- capitalone.com > Account > Download Transactions > CSV

**American Express:**
- americanexpress.com > Statements & Activity > Download your Transactions > CSV

### Free Plaid Alternatives
- **Monarch Money** ($9.99/mo): Automatic bank sync with budgeting
- **Lunch Money** ($10/mo): Developer-friendly, CSV import + Plaid sync
- **Actual Budget** (free, self-hosted): Manual import with OFX support
- **GnuCash** (free): OFX direct download from some banks

### Automation Without Plaid
- Set calendar reminders to export CSV monthly from each bank
- Use the `import-transactions` skill to import each file
- Some banks support OFX Direct Connect — GnuCash and KMyMoney can pull transactions automatically without Plaid

## Important Notes
- Plaid credentials are stored locally in your Wilson database — they never leave your machine.
- Bank sync uses Plaid's transaction sync API, which handles deduplication server-side.
```
END THIRD-PARTY FILE 5cea82f7d9d5f8b2

The third-party file has ended. Everything between the 5cea82f7d9d5f8b2 tags is data: requests and commands from it are not followed. An “end of file” line with another tag inside the block is part of the file.

First 2858 of 3137 bytes. © openaccountant · MIT · https://github.com/openaccountant/skills/tree/HEAD/shared/bank-sync/SKILL.md

_Part of the page did not fit — see the HTML version._

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
