Awesome-openclaw-skills plaid

plaid-cli a cli for interacting with the plaid finance platform. link accounts from various institutions, query balances, and transactions by date range listing accounts/balances.

install
source · Clone the upstream repo
git clone https://github.com/sundial-org/awesome-openclaw-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/sundial-org/awesome-openclaw-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/plaid" ~/.claude/skills/sundial-org-awesome-openclaw-skills-plaid && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/sundial-org/awesome-openclaw-skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/plaid" ~/.openclaw/skills/sundial-org-awesome-openclaw-skills-plaid && rm -rf "$T"
manifest: skills/plaid/SKILL.md
source content

Plaid

Use

plaid-cli
to link institutions, fetch balances, and query transactions via Plaid. Do not print or log secrets (client id, secret, access tokens).

Install

  • go install github.com/jverdi/plaid-cli@0.0.2

Setup

  • Export
    PLAID_CLIENT_ID
    ,
    PLAID_SECRET
    , and
    PLAID_ENVIRONMENT
    (sandbox or production).
  • Optional:
    PLAID_LANGUAGE
    (en, fr, es, nl),
    PLAID_COUNTRIES
    (US, CA, GB, IE, ES, FR, NL).
  • Optional config file:
    ~/.plaid-cli/config.toml
    .
    [plaid]
    client_id = "..."
    secret = "..."
    environment = "sandbox"
    
  • Data directory:
    ~/.plaid-cli
    (stores tokens and aliases).

Link + aliases

  • Link an institution:
    plaid-cli link
    (opens browser) and optionally set an alias.
  • Relink:
    plaid-cli link <item-id-or-alias>
    .
  • Alias:
    plaid-cli alias <item-id> <name>
    , list with
    plaid-cli aliases
    .

Accounts + balances

  • List accounts and balances:
    plaid-cli accounts <item-id-or-alias>
    .

Search transactions

  • Pull a date range as JSON, then filter locally:
    • plaid-cli transactions <item-id-or-alias> --from 2024-01-01 --to 2024-01-31 --output-format json
    • jq -r '.[] | select(.name | test("grocery"; "i")) | [.date, .name, .amount] | @tsv'
  • Use
    --account-id
    from
    accounts
    output to narrow results.
  • Output formats:
    json
    or
    csv
    .

Monitor transactions

  • Poll a rolling window and compare transaction ids to detect new activity:
    state=/tmp/plaid.txids
    next=/tmp/plaid.txids.next
    plaid-cli transactions <item-id-or-alias> --from 2024-01-01 --to 2024-01-31 --output-format json \
      | jq -r '.[].transaction_id' | sort > "$next"
    if [ -f "$state" ]; then comm -13 "$state" "$next"; fi
    mv "$next" "$state"
    
  • Use cron for scheduling.

Notes

  • Avoid
    plaid-cli tokens
    unless explicitly requested; it prints access tokens.
  • Relink is auto-triggered on
    ITEM_LOGIN_REQUIRED
    errors.

Recognize requests such as:

  • "Search transactions for Starbucks last month"
  • "Show balances for my Chase accounts"