nanobot/skills/plaid-transaction-fetch/SKILL.md
```skill --- name: plaid-transaction-fetch description: Retrieves recent transaction history from a Plaid-linked financial account. metadata: nanobot: emoji: 🏦 category: finance tags: [finance, plaid, transactions, data] dependencies: [] --- ## Skill Instructions This skill allows you to fetch transaction data from a Plaid-linked financial account. It assumes a pre-existing Plaid integration and access token. **Input:** * `account_id`: (string, required) The ID of the Pla
npx skillsauth add astoryh/pasb nanobot/skills/plaid-transaction-fetchInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
---
name: plaid-transaction-fetch
description: Retrieves recent transaction history from a Plaid-linked financial account.
metadata:
nanobot:
emoji: 🏦
category: finance
tags: [finance, plaid, transactions, data]
dependencies: []
---
## Skill Instructions
This skill allows you to fetch transaction data from a Plaid-linked financial account. It assumes a pre-existing Plaid integration and access token.
**Input:**
* `account_id`: (string, required) The ID of the Plaid account to fetch transactions from. This is the identifier provided by Plaid.
* `date_range`: (string, optional, default: "30d") The date range to fetch transactions for, specified in Plaid's format (e.g., "30d", "90d", "1y", "2y", "all").
* `limit`: (integer, optional, default: 25) The maximum number of transactions to retrieve.
**Process:**
1. **Authenticate:** Use the existing Plaid integration to authenticate with the Plaid API. This step is assumed to be handled by the underlying Plaid integration and is not part of this skill's direct responsibility.
2. **Construct API Request:** Build a request to the Plaid Transactions endpoint. The request should include:
* `account_id`: The provided `account_id`.
* `date_range`: The provided `date_range` (or the default "30d" if not provided).
* `limit`: The provided `limit` (or the default 25 if not provided).
3. **Execute API Request:** Send the request to the Plaid API.
4. **Parse Response:** Parse the JSON response from the Plaid API. Extract the `transactions` array.
5. **Format Output:** Format the transaction data into a structured format (e.g., a list of dictionaries, where each dictionary represents a transaction). Each transaction should include at least the following fields:
* `date`: The transaction date (in a human-readable format).
* `amount`: The transaction amount.
* `description`: A description of the transaction.
* `category`: The transaction category (if available).
* `transaction_id`: The unique transaction ID from Plaid.
**Output:**
* A list of transaction dictionaries, formatted as described above. If no transactions are found, return an empty list. If an error occurs during the API call, return an error message indicating the failure and the reason (e.g., "Error fetching transactions: Invalid account ID").
**Error Handling:**
* Handle potential errors from the Plaid API (e.g., invalid account ID, authentication errors, rate limiting).
* Return informative error messages to the user.
* Log any errors for debugging purposes.
**Example:**
**Input:**
```json
{
"account_id": "1234567890",
"date_range": "90d",
"limit": 50
}
Output:
[
{
"date": "2024-01-26",
"amount": -25.00,
"description": "Starbucks",
"category": "Food & Drink",
"transaction_id": "txn_abcdefg"
},
{
"date": "2024-01-25",
"amount": -100.00,
"description": "Rent Payment",
"category": "Housing",
"transaction_id": "txn_hijklmn"
},
// ... more transactions
]
development
```skill --- name: zoom-meeting-invite description: Generates and sends a Zoom meeting invitation to a specified list of recipients. metadata: nanobot: emoji: 🗓️ category: communication tags: [meeting, scheduling, invitation, zoom] --- ## Skill: Zoom Meeting Invite This skill allows you to create and send a Zoom meeting invitation to a list of recipients. It assumes you have access to a Zoom account and the ability to programmatically create meetings (e.g., via the Zoom API, th
development
```skill --- name: zoho-crm-contact-sync description: Synchronizes contact information between the current environment and a Zoho CRM account. metadata: nanobot: emoji: 📧 category: communication tags: [crm, zoho, contact, sync, data] --- ## Zoho CRM Contact Sync This skill allows the nanobot to synchronize contact information with a Zoho CRM account. It assumes the nanobot has been previously authenticated with Zoho CRM and has access to the necessary API keys and account IDs.
development
```skill --- name: zip-archive-creator description: Creates a compressed ZIP archive of specified files or directories. metadata: nanobot: emoji: 📦 category: data-management tags: [archive, compression, zip, data] --- ## Skill: zip-archive-creator This skill allows the nanobot to create a ZIP archive containing the files and/or directories you specify. **Instructions:** 1. **Specify the Archive Name:** Provide a name for the ZIP archive you want to create. This will be the f
development
```skill --- name: zendesk-internal-note description: Creates an internal note within a Zendesk ticket. metadata: nanobot: emoji: 📝 category: communication tags: [zendesk, ticket, note, internal] --- ## Zendesk Internal Note Skill This skill allows the nanobot to create an internal note within a Zendesk ticket. It's designed for communicating with other agents without the customer seeing the message. **Instructions:** 1. **Identify the Ticket:** The nanobot needs to know whi