Manage YNAB budgets, accounts, categories, and transactions via CLI.
Scanned 2/12/2026
Install to Claude Code
npx -y skills add sundial-org/awesome-openclaw-skills --skill ynab --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Ynab?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/sundial-org-ynab)More formats (shields.io, HTML) on the badges page.
---
name: ynab
description: Manage YNAB budgets, accounts, categories, and transactions via CLI.
metadata: {"clawdbot":{"emoji":"💰","requires":{"bins":["ynab"],"env":["YNAB_API_KEY"]},"primaryEnv":"YNAB_API_KEY","install":[{"id":"node","kind":"node","package":"@stephendolan/ynab-cli","bins":["ynab"],"label":"Install ynab-cli (npm)"}]}}
---
# YNAB CLI
Install
```bash
npm i -g @stephendolan/ynab-cli
```
Auth
```bash
# Get API key from https://app.ynab.com/settings/developer
# Then set YNAB_API_KEY env var, or:
ynab auth login
ynab auth status
```
Budgets
```bash
ynab budgets list
ynab budgets view [id]
ynab budgets set-default <id>
```
Accounts
```bash
ynab accounts list
ynab accounts view <id>
ynab accounts transactions <id>
```
Categories
```bash
ynab categories list
ynab categories view <id>
ynab categories transactions <id>
ynab categories budget <id> --month <YYYY-MM> --amount <amount>
```
Transactions
```bash
ynab transactions list
ynab transactions list --account <id> --since <YYYY-MM-DD>
ynab transactions list --approved=false --min-amount 100
ynab transactions search --memo "coffee"
ynab transactions search --payee-name "Amazon"
ynab transactions view <id>
ynab transactions create --account <id> --amount <amount> --date <YYYY-MM-DD>
ynab transactions update <id> --amount <amount>
ynab transactions delete <id>
ynab transactions split <id> --splits '[{"amount": -50.00, "category_id": "xxx"}]'
```
Payees
```bash
ynab payees list
ynab payees view <id>
ynab payees update <id> --name <name>
ynab payees transactions <id>
```
Months
```bash
ynab months list
ynab months view <YYYY-MM>
```
Scheduled
```bash
ynab scheduled list
ynab scheduled view <id>
ynab scheduled delete <id>
```
Raw API
```bash
ynab api GET /budgets
ynab api POST /budgets/{budget_id}/transactions --data '{"transaction": {...}}'
```
Notes
- Amounts are in your budget's currency, not milliunits
- Use `--compact` for minified JSON
- Rate limit: 200 req/hour
- Cannot create categories/groups/payees via API
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!