finance

Manage 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.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "finance" with this command: npx skills add spotsccc/spotsccc-finance

Finance Skill

Record and query personal financial data stored in PostgreSQL via the assistant CLI.

Commands Reference

All commands: assistant <command> [json-args] Output: JSON to stdout on success, error to stderr with exit code 1.

CommandArgumentsDescription
create-expenseamount, walletId, currencyCode, categoryId, description?Record an expense
create-incomeamount, walletId, currencyCode, description?Record income
create-transferamount, walletId, currencyCode, toWalletId, toCurrencyCode, toAmount, description?Transfer between wallets
list-transactionswalletId?, categoryId?, type?, limit?, offset?, dateFrom?, dateTo?List transactions
delete-transactionidDelete a transaction
get-walletsGet all wallets with balances
get-wallet-balancewalletIdGet wallet balance
create-walletnameCreate a wallet
get-categoriesGet all categories
create-categorynameCreate a category
delete-categoryidDelete a category
spending-reportgroupBy, walletId?, dateFrom?, dateTo?Spending report

Transaction Types

1. Expense (Трата)

  • Use assistant create-expense '{"amount":"100","walletId":"...","currencyCode":"ARS","categoryId":"..."}'
  • Amount is always positive — the system negates it automatically
  • Requires: amount, walletId, currencyCode, categoryId
  • Optional: description

2. Income (Пополнение)

  • Use assistant create-income '{"amount":"5000","walletId":"...","currencyCode":"ARS"}'
  • Amount is positive
  • Requires: amount, walletId, currencyCode
  • Optional: description

3. Transfer (Перевод)

  • Use assistant create-transfer '{"amount":"100","walletId":"...","currencyCode":"USD","toWalletId":"...","toCurrencyCode":"USD","toAmount":"100"}'
  • The system creates two linked transactions automatically
  • Requires: amount, walletId, currencyCode, toWalletId, toCurrencyCode, toAmount
  • Optional: description
  • For same-currency transfers, toAmount equals amount

Workflow

Step 1: Parse the Request

Extract from the user's message:

  • Amount — number (always positive)
  • Currency — currency code (e.g. ARS, RUB, USDT)
  • Description — what was bought / reason for transaction (optional)
  • Wallet — which wallet to use
  • Category — spending category (required for expenses only)
  • Type — expense, income, or transfer (infer from context)

Step 2: Resolve References

Before creating a transaction:

  1. Run assistant get-wallets to find the correct wallet ID
  2. Run assistant get-categories to find the correct category ID
  3. If category doesn't exist, ask the user or create it with assistant create-category '{"name":"..."}'

Step 3: Handle Ambiguity

If any required field is unclear or missing, ask the user one concise clarifying question. Common cases:

  • Wallet not specified and user has multiple wallets
  • Category is ambiguous
  • Amount is missing
  • Transfer destination unclear

Do NOT guess — ask. But do NOT over-ask if the context is obvious.

Step 4: Create the Transaction

Run the appropriate command (assistant create-expense, assistant create-income, or assistant create-transfer) with the resolved data as a JSON argument.

Step 5: Report Back

After creating the transaction, run assistant get-wallet-balance '{"walletId":"..."}' and reply with a concise confirmation including:

  • What was created (description, amount, wallet, category)
  • Updated wallet balance

Example reply format for an expense:

Записал: Булочка -200 ARS (Наличка ARS, Продукты)
Баланс Наличка ARS: 15 300 $

Example reply format for a transfer:

Перевод: 100 USD Tinkoff → Наличка
Баланс Tinkoff: 500 $
Баланс Наличка: 300 $

Constraints

  • NEVER create transactions without confirming ambiguous details first
  • Always respond in the same language as the user's message (default: Russian)
  • Keep responses short and action-oriented — no unnecessary explanations

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

通义晓蜜 - 智能外呼

触发阿里云晓蜜外呼机器人任务,自动批量拨打电话。适用于批量外呼、客户回访、满意度调查、简历筛查约面试等场景。可从前置工具或节点获取外呼名单。

Registry SourceRecently Updated
General

Letterboxd Watchlist

Scrape a public Letterboxd user's watchlist into a CSV/JSONL list of titles and film URLs without logging in. Use when a user asks to export, scrape, or mirror a Letterboxd watchlist, or to build watch-next queues.

Registry SourceRecently Updated
General

Seedance Video Generation

Generate AI videos using ByteDance Seedance. Use when the user wants to: (1) generate videos from text prompts, (2) generate videos from images (first frame, first+last frame, reference images), or (3) query/manage video generation tasks. Supports Seedance 1.5 Pro (with audio), 1.0 Pro, 1.0 Pro Fast, and 1.0 Lite models.

Registry SourceRecently Updated
4.2K17jackycser
General

Universal Skills Manager

The master coordinator for AI skills. Discovers skills from multiple sources (SkillsMP.com, SkillHub, and ClawHub), manages installation, and synchronization...

Registry SourceRecently Updated