Install
openclaw skills install spotsccc-financeManage personal finances: record expenses, income, transfers, check balances, and generate reports. TRIGGER when: user asks to record a transaction, expense, income, transfer between wallets, check balance, or get a spending report. Keywords: трата, расход, доход, перевод, баланс, отчёт, потратил, заработал, купил, оплатил, списание, пополнение, кошелёк, expense, income, transfer, balance, report. Do NOT trigger for: creating/modifying database structure.
openclaw skills install spotsccc-financeRecord and query personal financial data stored in PostgreSQL via the assistant CLI.
All commands: assistant <command> [json-args]
Output: JSON to stdout on success, error to stderr with exit code 1.
| Command | Arguments | Description |
|---|---|---|
create-expense | amount, walletId, currencyCode, categoryId, description? | Record an expense |
create-income | amount, walletId, currencyCode, description? | Record income |
create-transfer | amount, walletId, currencyCode, toWalletId, toCurrencyCode, toAmount, description? | Transfer between wallets |
list-transactions | walletId?, categoryId?, type?, limit?, offset?, dateFrom?, dateTo? | List transactions |
delete-transaction | id | Delete a transaction |
get-wallets | — | Get all wallets with balances |
get-wallet-balance | walletId | Get wallet balance |
create-wallet | name | Create a wallet |
get-categories | — | Get all categories |
create-category | name | Create a category |
delete-category | id | Delete a category |
spending-report | groupBy, walletId?, dateFrom?, dateTo? | Spending report |
assistant create-expense '{"amount":"100","walletId":"...","currencyCode":"ARS","categoryId":"..."}'assistant create-income '{"amount":"5000","walletId":"...","currencyCode":"ARS"}'assistant create-transfer '{"amount":"100","walletId":"...","currencyCode":"USD","toWalletId":"...","toCurrencyCode":"USD","toAmount":"100"}'toAmount equals amountExtract from the user's message:
Before creating a transaction:
assistant get-wallets to find the correct wallet IDassistant get-categories to find the correct category IDassistant create-category '{"name":"..."}'If any required field is unclear or missing, ask the user one concise clarifying question. Common cases:
Do NOT guess — ask. But do NOT over-ask if the context is obvious.
Run the appropriate command (assistant create-expense, assistant create-income, or assistant create-transfer) with the resolved data as a JSON argument.
After creating the transaction, run assistant get-wallet-balance '{"walletId":"..."}' and reply with a concise confirmation including:
Example reply format for an expense:
Записал: Булочка -200 ARS (Наличка ARS, Продукты)
Баланс Наличка ARS: 15 300 $
Example reply format for a transfer:
Перевод: 100 USD Tinkoff → Наличка
Баланс Tinkoff: 500 $
Баланс Наличка: 300 $