Skip to content
Back to skills

George

ASecurity

Automate George online banking (Erste Bank / Sparkasse Austria) using Playwright: login/session (phone approval), list accounts + balances, and download statements/exports/transactions (CAMT53, MT940, CSV/JSON/OFX/XLSX). Use when the user mentions George, Erste/Sparkasse, account statements, CAMT53/MT940, or transaction exports.

  • 665 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added February 8, 2026
toolspythongobashdebugginggitsecurity

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned February 12, 2026

npx -y skills add openclaw/skills --skill george --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of George?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for George
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/openclaw-george/badge)](https://www.skillsdirectory.com/skills/openclaw-george)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: george
description: "Automate George online banking (Erste Bank / Sparkasse Austria) using Playwright: login/session (phone approval), list accounts + balances, and download statements/exports/transactions (CAMT53, MT940, CSV/JSON/OFX/XLSX). Use when the user mentions George, Erste/Sparkasse, account statements, CAMT53/MT940, or transaction exports."
summary: "George (Erste/Sparkasse Austria) banking automation: login, accounts/balances, statements and transaction exports."
version: 1.0.7
homepage: https://github.com/odrobnik/george-skill
metadata: {"clawdbot":{"emoji":"🏦","requires":{"bins":["python3","playwright"]}}}
---

# George Banking Automation

Modular automation for **George (Erste Bank / Sparkasse Austria)**.

**Entry point:** `{baseDir}/scripts/george.py`

## Setup

### Quick setup (recommended)

```bash
python3 {baseDir}/scripts/george.py setup

# First account sync (auto-fetches if config has none):
python3 {baseDir}/scripts/george.py accounts
```

What `setup` does:
- Prompts for your **George user number / username** (`user_id`)
- Writes `~/.clawdbot/george/config.json` (accounts stored as an array)
- Ensures Playwright is installed and installs Chromium

### Manual setup (alternative)

```bash
pipx install playwright
playwright install chromium

mkdir -p ~/.clawdbot/george
cat > ~/.clawdbot/george/config.json <<EOF
{
  "user_id": "YOUR_USER_ID",
  "accounts": {}
}
EOF

python3 {baseDir}/scripts/george.py accounts
```

## Commands

### Session management

```bash
python3 {baseDir}/scripts/george.py login
python3 {baseDir}/scripts/george.py logout
```

Session is persisted in `~/.clawdbot/george/.pw-profile/` (or `--dir`).

### Accounts

```bash
python3 {baseDir}/scripts/george.py accounts          # list from config; if empty, fetch + save into config.json
python3 {baseDir}/scripts/george.py accounts --fetch  # refresh from George and update config.json
```

### Balances

```bash
python3 {baseDir}/scripts/george.py balances
```

### Statements (PDF)

```bash
python3 {baseDir}/scripts/george.py statements -a main -y 2025 -q 4
```

Note: currently only the **Q4 statement ID mapping** is validated.

### Data exports (bookkeeping)

```bash
python3 {baseDir}/scripts/george.py export              # CAMT53 (default)
python3 {baseDir}/scripts/george.py export --type mt940
```

### Transactions

```bash
python3 {baseDir}/scripts/george.py transactions -a main                  # CSV (default)
python3 {baseDir}/scripts/george.py transactions -a main -f json
python3 {baseDir}/scripts/george.py transactions -a main -f ofx
python3 {baseDir}/scripts/george.py transactions -a main -f xlsx

python3 {baseDir}/scripts/george.py transactions -a main --from 01.01.2025 --to 31.01.2025
```

Supported formats: `csv` (default), `json`, `ofx`, `xlsx`

## Global options

```
--visible          Show browser window (debugging)
--dir DIR          State directory (default: ~/.clawdbot/george; override via GEORGE_DIR)
--login-timeout N  Seconds to wait for phone approval (default: 60)
--user-id ID       Override user number/username (or set GEORGE_USER_ID)
```

You can also put `GEORGE_USER_ID=...` in `~/.clawdbot/george/.env`.

## Output / state locations

- **Config:** `~/.clawdbot/george/config.json` (or `--dir`)
- **Session:** `~/.clawdbot/george/.pw-profile/` (or `--dir`)
- **Downloads:** `~/.clawdbot/george/data/` (or `--dir`)

## Security notes

- This skill downloads **banking documents and transaction exports** to disk. Treat the state dir as sensitive.
- Login requires **phone approval** in the George app; credentials are **not** stored in the skill folder.
- Never log OAuth tokens (George sometimes returns tokens in URL fragments).

Files in this skill

  • SKILL.md3.6 KB
  • _meta.json284 B
  • scripts/george.py60.1 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…