|
| 1 | +--- |
| 2 | +name: splitwise |
| 3 | +description: Manage shared expenses via the Splitwise CLI. Use when asked to log, split, or track expenses with other people, check balances, see who owes whom, settle debts, or list recent charges. Triggers on mentions of Splitwise, shared expenses, splitting costs, "log this expense," "who owes what," roommate/partner bills, or any expense-tracking request. Also use when proactively logging bills discovered during email scans or subscription analysis. Even casual mentions like "split this with Nina" or "add the internet bill" should trigger this skill. |
| 4 | +--- |
| 5 | + |
| 6 | +# Splitwise CLI Skill |
| 7 | + |
| 8 | +Manage shared expenses, balances, and settlements through the `splitwise` CLI. |
| 9 | + |
| 10 | +## Setup |
| 11 | + |
| 12 | +The CLI is installed at `~/.local/bin/splitwise` and authenticated via OAuth 2.0. Token is at `~/.config/splitwise-cli/auth.json`. If auth expires, the CLI will tell you — run `splitwise auth` to re-authenticate (requires browser OAuth flow). |
| 13 | + |
| 14 | +The default group is configured as **Dolores** (Barron + Nina's shared expenses group). You don't need to pass `--group` for their shared expenses. |
| 15 | + |
| 16 | +## Quick Reference |
| 17 | + |
| 18 | +### Check balances |
| 19 | +```bash |
| 20 | +# Default group (Dolores) balances |
| 21 | +splitwise balances |
| 22 | + |
| 23 | +# Specific group |
| 24 | +splitwise balances --group "Aspen 23" |
| 25 | +``` |
| 26 | + |
| 27 | +### List expenses |
| 28 | +```bash |
| 29 | +# Recent expenses in default group |
| 30 | +splitwise expenses list --limit 10 |
| 31 | + |
| 32 | +# Date-filtered |
| 33 | +splitwise expenses list --after 2026-03-01 --before 2026-03-31 |
| 34 | + |
| 35 | +# Different group |
| 36 | +splitwise expenses list --group "Rome" --limit 5 |
| 37 | +``` |
| 38 | + |
| 39 | +### Create an expense |
| 40 | +```bash |
| 41 | +# Even split, you (Barron) paid — most common case |
| 42 | +splitwise expenses create "Xfinity Internet - March" 51.30 |
| 43 | + |
| 44 | +# Nina paid |
| 45 | +splitwise expenses create "Groceries" 87.50 --paid-by "Nina" |
| 46 | + |
| 47 | +# Different group |
| 48 | +splitwise expenses create "Dinner" 120.00 --group "Rome" |
| 49 | + |
| 50 | +# Different currency |
| 51 | +splitwise expenses create "Dinner in Lisbon" 45.00 --group "Rome" --currency EUR |
| 52 | +``` |
| 53 | + |
| 54 | +### Other commands |
| 55 | +```bash |
| 56 | +splitwise me # Current user info |
| 57 | +splitwise groups # List all groups |
| 58 | +splitwise group "Dolores" # Group details + member balances |
| 59 | +splitwise friends # List friends |
| 60 | +splitwise settle "Nina" # Record a settlement |
| 61 | +splitwise expenses delete 12345 # Delete an expense by ID |
| 62 | +``` |
| 63 | + |
| 64 | +## Output Modes |
| 65 | + |
| 66 | +Every command supports: |
| 67 | +- `--json` — raw JSON (for scripting or piping) |
| 68 | +- `--quiet` — minimal output, just IDs/amounts |
| 69 | +- `--no-color` — disable color (also respects `NO_COLOR` env var) |
| 70 | + |
| 71 | +## Patterns for Common Tasks |
| 72 | + |
| 73 | +### Log a recurring shared bill |
| 74 | +Include the month in the description to avoid confusion: |
| 75 | +```bash |
| 76 | +splitwise expenses create "Xfinity Internet - March 2026" 51.30 |
| 77 | +``` |
| 78 | + |
| 79 | +### Check before logging (avoid duplicates) |
| 80 | +```bash |
| 81 | +splitwise expenses list --after 2026-03-01 --limit 50 --json |
| 82 | +``` |
| 83 | +Search the output for matching descriptions before creating. |
| 84 | + |
| 85 | +### Batch-log multiple expenses |
| 86 | +Run multiple `splitwise expenses create` commands in sequence. No special syntax. |
| 87 | + |
| 88 | +## Error Handling |
| 89 | + |
| 90 | +- **"not logged in"** → Run `splitwise auth` (needs browser for OAuth) |
| 91 | +- **"group not found"** → Verify name with `splitwise groups` |
| 92 | +- **"friend not found"** → Verify name with `splitwise friends` |
| 93 | +- **Network errors** → Retry once, then report to user |
| 94 | + |
| 95 | +## Key Details |
| 96 | + |
| 97 | +- Group/friend names use case-insensitive partial matching |
| 98 | +- Default group (Dolores) means `--group` is optional for Barron & Nina expenses |
| 99 | +- Amounts are USD by default (configurable via `splitwise config set default_currency`) |
| 100 | +- `--split even` is the default — expense split equally among all group members |
| 101 | +- The `--paid-by` flag defaults to the authenticated user (Barron) |
0 commit comments