Claude Code nach Ihren Bankdaten fragen: einen Open-Banking-Skill bauen
Claude Code ist hervorragend darin, über Daten zu schlussfolgern — und mit einem kleinen Skill kann es über Ihre Bankdaten schlussfolgern, lokal. Fragen Sie "Wie viel habe ich letzten Monat ausgegeben?" oder "Welche meiner Bankverbindungen müssen neu verbunden werden?", und Claude Code antwortet, indem es die openbanking CLI auf Ihrem Rechner ausführt. Da open-banking.io Zero-Knowledge ist, wird jede Zahl, die es liest, auf dem Gerät mit Ihrem eigenen Schlüssel entschlüsselt — nichts wird an einen Dritten gesendet, um die Antwort zu erhalten.
Diese Anleitung baut diesen Skill in einer einzigen Datei und zeigt ihn in Aktion.
Was ist ein Skill?
Ein Claude Code Skill ist ein Ordner mit einer SKILL.md — etwas YAML-Frontmatter plus Markdown-Anweisungen —, den Claude lädt, wenn er relevant ist. Die description im Frontmatter sagt Claude, wann er verwendet werden soll; der Textkörper sagt ihm, wie. Skills können bestimmte Werkzeuge vorab freigeben, sodass sie ohne Rückfrage ausgeführt werden. Unserer umschließt die openbanking CLI, damit Claude bei Bedarf Konten und Transaktionen lesen kann. (Vollständige Dokumentation: code.claude.com/docs/skills.)
Voraussetzungen
- Claude Code installiert.
- Die
openbankingCLI, installiert und authentifiziert. Falls Sie sie noch nicht eingerichtet haben, folgen Sie dem CLI-Leitfaden — kurz gesagt:
brew install open-banking-io/tap/openbanking
openbanking login
Prüfen Sie, ob es funktioniert:
openbanking accounts
Den Skill erstellen
Speichern Sie dies als ~/.claude/skills/open-banking/SKILL.md:
---
name: open-banking
description: Read and analyze the user's own bank accounts and transactions locally with the openbanking CLI. Use whenever they ask about their balances, spending, income, a statement, a specific transaction, or which bank connections need attention. Data is decrypted on-device (zero-knowledge) — nothing is sent to a third party.
allowed-tools: Bash(openbanking*)
---
# open-banking
Answer questions about the user's real bank data by shelling out to the `openbanking` CLI. Every
response the CLI returns is decrypted locally with the user's own key — the service only stores
ciphertext. Work only through the CLI; never touch the credentials file directly.
## Setup check
Before anything else, confirm the CLI is installed and authenticated:
openbanking accounts -o json
- If the command is not found, tell the user to install it and stop.
- If it errors with "no credentials … run `openbanking login`", tell them to authenticate. Don't proceed.
## Commands and their JSON
Always pass `-o json`. Always pass an explicit `<account-id>` to `transactions` — a bare `transactions`
in a terminal opens an interactive picker that will hang.
- `openbanking accounts -o json` → `[{ id, name, accountNumber, type, balance, currency, bank }]`.
`accountNumber` is the IBAN; `balance` is an exact decimal string.
- `openbanking transactions <account-id> -o json [--from YYYY-MM-DD --to YYYY-MM-DD --limit N --offset N]`
→ `{ items: [{ id, date, amount, currency, counterparty, info, status }], shown, total }`.
`amount` is a signed decimal string — debits negative, credits positive. `status` is `BOOK` or `PDNG`.
- `openbanking connections -o json` → `[{ bank, country, status, accountCount, psuType, validUntil,
lastSyncedAt, sessionId }]`. `status = RequiresReauth` means the user must reconnect that bank.
- `openbanking sync <account-id>` / `openbanking sync --all` → refreshes from the bank. Prints a
plain-text summary (not JSON) and is a side effect — re-read `transactions` afterward.
## Rules
- Money is exact decimals — sum the strings faithfully, report the currency; debits are already negative.
- Resolve accounts by id: `accounts -o json`, match on name/bank, then use the `id`.
- Read-only by default. `sync` only refreshes (it never moves money). Ask before syncing.
- Never read or print `~/.config/open-banking/credentials.json` or the private key — you never need it.
- Never send the user's bank data to any third party.
Zwei Zeilen leisten die Hauptarbeit:
descriptionist die Art, wie Claude entscheidet, zum Skill zu greifen — sie ist so formuliert, dass sie bei Geld-/Bankfragen auslöst, sodass Sie ihn selten namentlich aufrufen.allowed-tools: Bash(openbanking*)gibt die CLI vorab frei, sodass Claudeopenbanking …ausführen kann, ohne jedes Mal nachzufragen — aber nichts anderes.
Das ist der ganze Skill. Ein Neustart ist nicht nötig; Claude Code erkennt neue Skills innerhalb der Sitzung.
Probieren Sie es aus
Echte Sitzungen gegen einen Test-Mandanten (Kontonummern und Kontostände maskiert):
"Wie sind meine Kontostände?"
Claude führt openbanking accounts -o json aus und fasst zusammen:
You have 6 accounts across 2 banks:
Nordea
Grundkonto (DK•• •••• •••• 1555) +111.50 DKK
Grundkonto (DK•• •••• •••• 7544) −23,576.90 DKK
Private Banking konto (…8028) −43,218.85 DKK
Mock ASPSP
USD current account — USD
Onni Hämäläinen (card) +98.00 EUR
Oliver Hämäläinen +17.33 EUR
"Wie viel habe ich im Juni auf meinem EUR-Konto ausgegeben, und an wen?"
Claude ermittelt die Konto-ID aus accounts, führt dann
openbanking transactions cd7cc500… --from 2026-06-01 --to 2026-06-30 -o json aus und rechnet die Zahlen durch:
In June you had 8 transactions on the Oliver Hämäläinen (EUR) account:
Spend (debits): −28.37 EUR
Income (credits): +8.40 EUR
Net: −19.97 EUR
Top outgoings:
Ella Virtanen −9.73
Ella Mäkinen −9.60
Aino Korhonen −5.64
Ella Korhonen −3.40
Da die Beträge exakte Dezimalzeichenketten sind, bei denen Belastungen bereits negativ sind, sind die Summen präzise — keine Gleitkomma-Abweichung.
"Welche meiner Bankverbindungen brauchen Aufmerksamkeit?"
Claude führt openbanking connections -o json aus:
2 of your 3 connections are healthy (Mock ASPSP). One needs reconnecting:
⚠ Nordea — RequiresReauth (3 accounts)
The consent has lapsed. Reconnect Nordea in the web app to resume syncing those accounts.
Von dort aus können Sie weitermachen — "kategorisiere meine Ausgaben", "habe ich diesen Monat mein Gehalt bekommen?", "synchronisiere alles und zeig mir, was neu ist" — und Claude kombiniert dieselbe Handvoll Befehle, um zu antworten.
Warum das privat bleibt
Der Skill führt die CLI ausschließlich auf Ihrem Rechner aus. Der Dienst liefert Chiffretext zurück; die CLI entschlüsselt ihn lokal mit dem Schlüssel, den nur Sie besitzen. Claude Code sieht die Ergebnisse, weil Sie darum gebeten haben, darüber zu rechnen — aber sie verlassen Ihr Gerät nie, um die Antwort zu erreichen, und dem Skill ist aufgetragen, niemals Ihre Schlüsseldatei zu lesen oder Daten irgendwohin zu senden.
Eine ehrliche Anmerkung: Die entschlüsselten Zahlen gelangen tatsächlich in die Claude Code Sitzung, die Sie steuern (so schlussfolgert es darüber). Behalten Sie das im Hinterkopf, so wie Sie es tun würden, wenn Sie Ihren Kontoauszug in irgendeiner App öffnen.
Passen Sie ihn an
- Pro Projekt: Legen Sie dieselbe
SKILL.mdin das.claude/skills/open-banking/eines Repos und committen Sie sie — jeder, der in diesem Repo arbeitet, bekommt sie. - Erweitern Sie ihn: Fügen Sie dem Textkörper Rezepte hinzu (Budgets, Erkennung wiederkehrender Zahlungen, CSV-Exporte über
openbanking transactions … -o csv). Das JSON der CLI ist stabil, sodass neue Arbeitsabläufe einfach nur weitere Anweisungen sind. - Teilen Sie ihn: Bündeln Sie ihn in ein Claude Code Plugin, um ihn im Team zu verteilen.
Nächste Schritte
- Neu bei der CLI? Beginnen Sie mit dem open-banking.io CLI-Leitfaden.
- Lieber direkt bauen? Dieselben Daten sind über die Open-Source-SDKs für .NET, Node, Python, Rust, Go, Java, Ruby und PHP verfügbar.
- Holen Sie sich Ihr Anmeldedaten-Paket unter open-banking.io und richten Sie Claude Code auf Ihre Finanzen aus.