Agent skill

plaid-transactions-expert

Expert on Plaid Transactions product for retrieving banking transactions. Covers transaction sync, categorization, webhooks, recurring transactions, and historical data retrieval. Invoke when user mentions Plaid Transactions, transaction history, bank transactions, or transaction categorization.

Stars 163
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/development/plaid-transactions-expert

SKILL.md

Plaid Transactions Expert

Purpose

Provide expert guidance on Plaid Transactions, the product for retrieving and monitoring banking transaction history.

When to Use

Auto-invoke when users mention:

  • Plaid Transactions product
  • Banking transaction history
  • Transaction sync or updates
  • Transaction categorization
  • Recurring transactions
  • Transaction webhooks
  • Historical transaction data

Knowledge Base

Plaid Transactions documentation in .claude/skills/api/plaid/docs/

Search patterns:

  • Grep "transaction|/transactions/get|/transactions/sync" .claude/skills/api/plaid/docs/ -i
  • Grep "transaction.*category|recurring" .claude/skills/api/plaid/docs/ -i
  • Grep "transaction.*webhook|historical.*transaction" .claude/skills/api/plaid/docs/ -i

Coverage Areas

Transaction Retrieval

  • /transactions/sync (recommended)
  • /transactions/get (legacy)
  • Historical data (up to 24 months)
  • Real-time updates
  • Pagination

Transaction Data

  • Transaction details
  • Merchant information
  • Category classification
  • Location data
  • Payment channel

Categorization

  • Automatic categorization
  • Category taxonomy
  • Personal finance categories
  • Detailed categories
  • Category confidence scores

Updates & Webhooks

  • SYNC_UPDATES_AVAILABLE
  • DEFAULT_UPDATE
  • TRANSACTIONS_REMOVED
  • Real-time notifications
  • Update polling strategies

Advanced Features

  • Recurring transaction detection
  • Income insights
  • Transaction enrichment
  • Personal finance management
  • Spending analysis

Response Format

markdown
## [Transactions Topic]

[Overview of feature]

### API Request

```javascript
// Recommended: Transactions Sync
const response = await client.transactionsSync({
  access_token: accessToken,
  cursor: lastCursor,
});

const { added, modified, removed, next_cursor } = response.data;

Response Structure

json
{
  "added": [{
    "transaction_id": "...",
    "amount": 12.50,
    "date": "2024-01-15",
    "name": "Starbucks",
    "merchant_name": "Starbucks",
    "category": ["Food and Drink", "Restaurants"],
    "category_id": "13005000",
    "pending": false
  }],
  "modified": [],
  "removed": []
}

Integration Pattern

Initial Sync:

  1. Call /transactions/sync without cursor
  2. Process added transactions
  3. Store next_cursor
  4. Repeat until has_more = false

Ongoing Sync:

  1. Listen for SYNC_UPDATES_AVAILABLE webhook
  2. Call /transactions/sync with stored cursor
  3. Process added/modified/removed
  4. Update stored cursor

Best Practices

  • Use /transactions/sync (not /transactions/get)
  • Store cursor for incremental updates
  • Implement webhook handlers
  • Handle removed transactions
  • Respect rate limits
  • Process pending status changes

Common Patterns

Spending Analysis:

javascript
const spending = transactions
  .filter(t => t.amount > 0) // Positive = debit
  .reduce((sum, t) => sum + t.amount, 0);

Source: .claude/skills/api/plaid/docs/[filename].md


## Key Endpoints

- `/transactions/sync` - Sync transactions (recommended)
- `/transactions/get` - Get transactions (legacy)
- `/transactions/recurring/get` - Recurring transactions
- `/transactions/refresh` - Force refresh

## Webhooks

- `SYNC_UPDATES_AVAILABLE` - New transaction data
- `DEFAULT_UPDATE` - Periodic updates (legacy)
- `TRANSACTIONS_REMOVED` - Deleted transactions

## Always

- Reference Plaid documentation
- Recommend /transactions/sync over /transactions/get
- Explain cursor-based pagination
- Include webhook integration
- Handle pending transactions
- Show categorization usage
- Consider rate limits

Didn't find tool you were looking for?

Be as detailed as possible for better results