| name | plaid-sync-recovery |
| description | Diagnose and recover Plaid banking sync failures in FlowInCash |
| version | 1.0.0 |
| tags | ["plaid","banking","sync","flowincash","finance"] |
Plaid Sync Recovery
Use this skill when FlowInCash bank account syncing fails, returns stale data,
or Plaid API calls return errors.
Applies To
FlowInCash (/media/bob/I/AI_Projects/FlowInCash) — Banking service in src/services/
Error Reference
| Plaid Error | Meaning | Action |
|---|
ITEM_LOGIN_REQUIRED | Bank credentials expired | User must re-link via Plaid Link |
INSTITUTION_NOT_RESPONDING | Bank API is down | Wait and retry (not our bug) |
RATE_LIMIT_EXCEEDED | Too many API calls | Back off, check for polling loops |
TRANSACTIONS_SYNC_MUTATION_DURING_PAGINATION | Data changed mid-sync | Retry full sync |
INVALID_ACCESS_TOKEN | Token corrupted/revoked | Re-authenticate the item |
Recovery Procedures
Stale data (sync stopped)
- Check if sync scheduler/cron is active
- Trigger manual sync for affected user's items
- Verify new transactions in DB
- Check purchase evaluation queue — stale balances affect decisions
Token expired (ITEM_LOGIN_REQUIRED)
- Requires user action — must re-authenticate through Plaid Link
- Notify Bob to reach out to user
- Verify "Re-link account" UI prompt works
Rate limiting
- Check for accidental polling loops
- Implement exponential backoff if missing
- Dev environment has lower limits than production
Downstream Impact
Failed sync affects: cash flow forecasting (stale balances), purchase evaluation (wrong signals), goal tracking (wrong progress), balance-based alerts (won't fire). Always check these after recovery.
Validation
npm test -- --grep plaid
- Verify last sync timestamp updated in DB
- Confirm downstream services reflect new data