Personal Finance Tracker — Personal Finance 追踪er
v0.5.0Manage personal finances: record expenses, income, transfers, 检查 balances, and 生成 报告s. TRIGGER when: user asks to record a transaction, expense, income, transfer between wallets, 检查 balance, or 获取 a spending 报告. Keywords: трата, расход, доход, перевод, баланс, отчёт, потратил, заработал, купил, оплатил, списание, пополнение, кошелёк, expense, income, transfer, balance, 报告. Do NOT trigger for: creating/modifying database structure.
运行时依赖
安装命令
点击复制技能文档
Finance 技能
Record and 查询 personal financial data stored in PostgreSQL via the 助手 命令行工具.
Commands Reference
All commands: 助手 [json-args] 输出: JSON to stdout on 成功, error to stderr with exit code 1.
Command Arguments Description 创建-expense amount, walletId, currencyCode, categoryId, description? Record an expense 创建-income amount, walletId, currencyCode, description? Record income 创建-transfer amount, walletId, currencyCode, toWalletId, toCurrencyCode, toAmount, description? Transfer between wallets 列出-transactions walletId?, categoryId?, type?, limit?, off设置?, dateFrom?, dateTo? 列出 transactions 删除-transaction id 删除 a transaction 获取-wallets — 获取 all wallets with balances 获取-wallet-balance walletId 获取 wallet balance 创建-wallet name 创建 a wallet 获取-categories — 获取 all categories 创建-category name 创建 a category 删除-category id 删除 a category spending-报告 groupBy, walletId?, dateFrom?, dateTo? Spending 报告 Transaction Types
- Expense (Трата)
- Income (Пополнение)
- Transfer (Перевод)
提取 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 上下文) Step 2: Resolve References
Before creating a transaction:
运行 助手 获取-wallets to find the correct wallet ID 运行 助手 获取-categories to find the correct category ID If category doesn't exist, ask the user or 创建 it with 助手 创建-category '{"name":"..."}' Step 3: Handle Ambi图形界面ty
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 上下文 is obvious.
Step 4: 创建 the Transaction
运行 the 应用ropriate command (助手 创建-expense, 助手 创建-income, or 助手 创建-transfer) with the resolved data as a JSON argument.
Step 5: 报告 Back
After creating the transaction, 运行 助手 获取-wallet-balance '{"walletId":"..."}' and reply with a concise confirmation including:
What was 创建d (description, amount, wallet, category) 更新d wallet balance
Example reply 格式化 for an expense:
Записал: Булочка -200 ARS (Наличка ARS, Продукты) Баланс Наличка ARS: 15 300 $
Example reply 格式化 for a transfer:
Перевод: 100 USD Tinkoff → Наличка Баланс Tinkoff: 500 $ Баланс Наличка: 300 $
ConstrAInts NEVER 创建 transactions without confirming ambiguous detAIls first Always 响应 in the same language as the user's message (default: Russian) Keep 响应s short and action-oriented — no unnecessary explanations