← 返回 Skills 市场
nicolassantos23

PicoClaw Financev

作者 Nicolassantos23 · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ 安全检测通过
46
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install picoclaw-finance
功能描述
Financial management for PicoClaw. Track expenses, income, budgets, and savings goals via Telegram. Import bank statement PDFs. Recurring bills, category sum...
使用说明 (SKILL.md)

picoclaw-finance

Complete personal financial management for PicoClaw via Telegram. Track every expense, monitor budgets, set savings goals, and import bank statement PDFs — all through natural conversation.

Storage

All data is stored as JSON in finance/ inside the agent workspace:

workspace/finance/
├── transactions.json
├── budgets.json
├── goals.json
└── config.json

Data Schemas

transactions.json

{
  "transactions": [
    {
      "id": "20260511-001",
      "date": "2026-05-11",
      "type": "expense",
      "amount": 35.00,
      "currency": "BRL",
      "category": "transporte",
      "description": "Uber ate o escritorio",
      "source": "manual"
    }
  ]
}

budgets.json

{
  "budgets": [
    {
      "month": "2026-05",
      "categories": {
        "alimentacao": 800,
        "transporte": 300,
        "moradia": 1200,
        "saude": 200,
        "lazer": 400,
        "educacao": 300,
        "assinaturas": 150,
        "mercado": 600,
        "roupas": 200,
        "outros": 300
      },
      "total": 4450
    }
  ]
}

goals.json

{
  "goals": [
    {
      "id": "viagem",
      "name": "Viagem para Europa",
      "target": 8000,
      "saved": 3200,
      "created": "2026-01-10",
      "deadline": "2026-12-01"
    }
  ]
}

config.json

{
  "default_currency": "BRL",
  "categories": [
    "alimentacao", "transporte", "moradia", "saude",
    "lazer", "educacao", "assinaturas", "mercado",
    "roupas", "outros"
  ],
  "currency_symbol": "R$",
  "recurring": [
    {
      "id": "netflix",
      "description": "Netflix",
      "amount": 59.90,
      "category": "assinaturas",
      "day": 10,
      "active": true
    }
  ]
}

Commands

The agent recognizes these intents from natural language and executes them using read_file, write_file, and exec tools.

Add Expense

When user says things like:

  • "gastei 35 reais em uber"
  • "comprei pizza por 45 reais"
  • "gastei 150 no mercado"
  • "150 reais de gasolina"

Agent should:

  1. Extract amount and description from message
  2. Infer category from description (use map below)
  3. Save to transactions.json via write_file
  4. Format reply with Telegram template

Category inference:

  • alimentacao → restaurante, pizza, lanche, almoco, cafe, ifood
  • transporte → uber, taxi, gasolina, onibus, metro, estacionamento
  • moradia → aluguel, condominio, agua, luz, internet
  • saude → farmacia, remedio, medico, dentista, plano
  • lazer → cinema, show, festa, jogo, bar, cerveja
  • educacao → curso, faculdade, livro, udemy
  • assinaturas → netflix, spotify, streaming, mensalidade
  • mercado → supermercado, mercado, acougue, feira
  • roupas → roupa, sapato, camisa, tenis
  • outros → anything else

Add Income

When user says things like:

  • "recebi 5000 de salario"
  • "entrou 2000 de freela"
  • "recebi 150 de dividendos"

Agent should:

  1. Extract amount and description
  2. Save as type "income" with category "salario", "freela", "investimentos", or "outros"
  3. Confirm with Telegram template

Add Recurring Expense

When user says things like:

  • "adicionar netflix 59,90 todo mes"
  • "assinatura spotify 21,90 por mes"
  • "adicionar conta de agua 80 todo mes"

Agent should:

  1. Extract description, amount, day
  2. Save to config.json under recurring array
  3. On 1st of each month (via heartbeat), process all active recurring items as transactions

Monthly Summary

When user asks:

  • "qual meu saldo?"
  • "resumo do mes"
  • "como estao minhas financas?"

Agent should:

  1. Read transactions.json
  2. Filter current month
  3. Calculate totals per category
  4. Apply formatting template

Category Breakdown

When user asks:

  • "quanto gastei em alimentacao?"
  • "gastos por categoria"
  • "onde estou gastando mais?"

Agent should:

  1. Read and filter transactions
  2. Group by category
  3. Sort by amount descending
  4. Format with progress bars

Goals

When user says:

  • "quero juntar 5000 pra viagem em dezembro"
  • "adicionei 500 na meta do notebook"
  • "quais minhas metas?"

Agent should:

  1. Create, update, or list goals in goals.json
  2. Show progress bars

Set Budget

When user says:

  • "definir orcamento de 3000"
  • "meu orcamento esse mes e 4000"
  • "mudar orcamento para 3500"

Agent should:

  1. Save total budget for current month
  2. If user specifies per-category, save those too
  3. Alert when spending exceeds budget

Import PDF

When user sends a PDF file or says:

  • "ler esse extrato"
  • "importar esse pdf"
  • "extrair desse extrato bancario"

Agent should:

  1. Save attached PDF to finance/imports/ via write_file
  2. Run: pdftotext finance/imports/extrato.pdf - via exec
  3. Parse the output text to identify each transaction
  4. Present preview to user with formatted template
  5. On confirmation, save all transactions
  6. On rejection, discard

Telegram Formatting Templates

Transaction Confirmation

💰 *Picoclaw Finance* — Transacao Registrada
────────────────────────
🔴 *Despesa*   R$ 35,00
📂 Categoria   Transporte
📝 Descricao   Uber ate o escritorio
📅 Data        11/05/2026
────────────────────────
📊 *Resumo do Mes*
  Receitas    R$ 5.000,00
  Despesas    R$ 1.230,00
  Saldo       R$ 3.770,00
  Orcamento   41% utilizado

Monthly Summary

💰 *Resumo Financeiro — Maio/2026*
────────────────────────
📌 *Receitas*     R$ 5.000,00
💳 *Despesas*     R$ 1.230,00
📊 *Saldo*       +R$ 3.770,00
────────────────────────
📂 *Por Categoria:*
  🍔 Alimentacao    R$ 480,00  ████████░░  60%
  🚌 Transporte     R$ 320,00  █████░░░░░ 106%
  🏠 Moradia        R$ 0,00    ░░░░░░░░░░   0%
  🎮 Lazer          R$ 150,00  ██░░░░░░░░  38%
────────────────────────
💡 *Metas:*
  🎯 Viagem     R$ 3.200 / R$ 5.000  ██████░░░░  64%

Category Breakdown

📂 *Gastos por Categoria — Maio/2026*
────────────────────────
  1. 🍔 Alimentacao     R$ 480,00
  2. 🚌 Transporte      R$ 320,00
  3. 🏠 Moradia         R$ 250,00
  4. 🎮 Lazer           R$ 150,00
  5. 📺 Assinaturas     R$ 89,90
  6. 🏪 Mercado         R$ 0,00
────────────────────────
🔝 *Top 3:* Alimentacao, Transporte, Moradia

Last Transactions

📋 *Ultimos 5 Lancamentos*
────────────────────────
🟢 10/05  +R$ 5.000,00    Salario
🔴 10/05  -R$ 89,90       Netflix
🔴 09/05  -R$ 250,00      Jantar no centro
🔴 08/05  -R$ 35,00       Uber
🔴 07/05  -R$ 480,00      Mercado
────────────────────────

PDF Import Preview

📄 *Extrato Bancario Encontrado*
────────────────────────
🆕 02/05  R$ 150,00  🛒 Mercado
🆕 03/05  R$ 35,00   🚌 Uber
🆕 05/05  R$ 89,90   📺 Netflix
🆕 07/05  R$ 480,00  🛒 Mercado
🆕 08/05  R$ 250,00  🍔 Restaurante
🆕 10/05  R$ 5.000   📌 Salario
────────────────────────
*6 transacoes encontradas*
Deseja importar todas? (sim / nao / editar)

Goal Progress

🎯 *Meta: Viagem para Europa*
────────────────────────
💰 Meta:       R$ 8.000,00
💵 Guardado:   R$ 3.200,00
📊 Progresso:  ████░░░░░░  40%
📅 Prazo:      Dezembro 2026
────────────────────────
💡 Faltam R$ 4.800,00 em 7 meses
   (~R$ 686/mes para atingir)

Bank Statement Parsing (PDF)

Required System Dependency

apt install poppler-utils

Extraction Pipeline

1. User sends PDF or requests import
2. Agent saves file to: finance/imports/statement_YYYYMMDD_HHMMSS.pdf
3. Agent runs: pdftotext "finance/imports/statement_*.pdf" -
4. LLM parses the raw text output
5. Agent extracts structured transactions from the text

Parsing Strategy

Common bank statement formats contain:

  • Date columns: 02/05 or 02 Mai or 2026-05-02
  • Description: merchant name, transaction type
  • Amount: positive for credits, negative for debits, or in separate columns
  • Balance: running balance (should be ignored)

The agent should:

  1. Recognize date patterns in the text
  2. Extract each transaction line
  3. Separate description from amount
  4. Identify debits (negative) vs credits (positive)
  5. Infer categories from descriptions
  6. Filter out header/footer lines and balance rows
  7. Present to user for confirmation before saving

Safety Rules

  • Never save transactions without user confirmation
  • Show preview with count and total amount
  • Allow user to cancel or edit before import
  • Avoid importing duplicate transactions (check existing by date+amount+description)

Heartbeat Integration

Add to HEARTBEAT.md in the workspace:

## Financeiro (todo dia as 20:00)
Se houver transacoes hoje, pergunte se o usuario quer o resumo do dia.

## Financeiro Mes (todo dia 1 as 09:00)
1. Processar despesas recorrentes de config.json
2. Enviar relatorio mensal do mes anterior

Usage Examples

Adding expenses

User: "gastei 35 reais em uber" Agent:

💰 Picoclaw Finance — Transacao Registrada
────────────────────────
🔴 Despesa   R$ 35,00
📂 Categoria Transporte
📝 Descricao Uber
📅 Data      11/05/2026
────────────────────────
💡 Dica: Para ver seu resumo, digite "resumo do mes"

Importing PDF

User: sends bank_statement.pdf Agent:

📄 Processando extrato bancario...

Agent processes via pdftotext, then:

📄 Extrato Bancario Encontrado
────────────────────────
🆕 01/05  R$ 5.000,00  📌 Salario
🆕 02/05  R$ 350,00    🛒 Mercado
🆕 03/05  R$ 45,00     🚌 Uber
🆕 05/05  R$ 89,90     📺 Netflix
🆕 07/05  R$ 120,00    🍔 Restaurante
🆕 10/05  R$ 200,00    🎮 Lazer
────────────────────────
*6 transacoes encontradas*
Total: R$ 5.804,90 (R$ 5.000 credito / R$ 804,90 debito)
Deseja importar? (sim / nao / editar)

User: "sim" Agent:

✅ 6 transacoes importadas com sucesso!

📊 Saldo atual do mes: R$ 4.195,10

Monthly check

User: "resumo do mes" Agent:

💰 Resumo Financeiro — Maio/2026
────────────────────────
📌 Receitas     R$ 5.000,00
💳 Despesas     R$ 1.230,00
📊 Saldo       +R$ 3.770,00
────────────────────────
📂 Por Categoria:
  🍔 Alimentacao    R$ 480,00  ████████░░
  🚌 Transporte     R$ 320,00  █████░░░░░
  🎮 Lazer          R$ 150,00  ██░░░░░░░░
  📺 Assinaturas    R$ 89,90   █░░░░░░░░░
────────────────────────
📈 Orcamento: 41% utilizado (R$ 1.230 / R$ 3.000)

Budget alert

When a new expense pushes a category over budget or total over 80%:

⚠️ *Alerta de Orcamento*
────────────────────────
Voce ja gastou 85% do orcamento deste mes!
R$ 3.825 de R$ 4.500 utilizados.
Ainda faltam 20 dias para acabar o mes.

Error Handling

Scenario Response
No transactions yet "Nenhuma transacao encontrada. Comece adicionando: 'gastei 35 reais em uber'"
PDF not readable "Nao foi possivel ler o PDF. Verifique se o poppler-utils esta instalado."
No amount found "Nao consegui identificar o valor. Exemplo: 'gastei 35 reais em uber'"
Budget not set "Nenhum orcamento definido para este mes. Use: 'definir orcamento de 3000'"

Telegram Markdown Formatting Rules

  • Use *text* for bold (headings, labels, currency amounts)
  • Use _text_ for italic (optional notes)
  • Use backticks for inline code (IDs, technical info)
  • Use emoji as visual cues (💰 📊 🔴 🟢 🎯 ⚠️ 💡)
  • Use ──────────────────────── (unicode) as dividers
  • Keep lines under 40 characters when possible for mobile
  • Progress bars: use █ filled + ░ empty (10 blocks = 100%)
  • Currency format: R$ 1.234,56 (BRL standard)
安全使用建议
Before installing, make sure you are comfortable storing personal finance data in the agent workspace and discussing it through Telegram. If you enable heartbeat automation, review the recurring expenses and scheduled reports so the agent only records or sends what you expect.
功能分析
Type: OpenClaw Skill Name: picoclaw-finance Version: 1.0.0 The picoclaw-finance skill bundle provides a comprehensive financial management system for the OpenClaw agent, including expense tracking, budgeting, and bank statement processing. It utilizes the 'exec' tool to run 'pdftotext' (from poppler-utils) for PDF parsing and stores data locally in JSON format within the workspace. While it handles sensitive financial information and uses high-risk tools like 'exec', its behavior is strictly aligned with its stated purpose, and it includes safety instructions such as requiring user confirmation before importing data.
能力评估
Purpose & Capability
The finance-tracking purpose matches the requested behaviors, including expenses, budgets, goals, PDF bank statement import, and Telegram-formatted summaries, but those workflows inherently handle sensitive financial information.
Instruction Scope
The skill instructs the agent to use file read/write tools and a specific exec command for PDF extraction. This is disclosed and purpose-aligned, with PDF imports requiring a preview and confirmation before saving transactions.
Install Mechanism
There is no install spec, but the README documents manual setup including installing poppler-utils and adding heartbeat entries. No remote installer or hidden script is shown.
Credentials
Local JSON storage under workspace/finance is proportionate to the stated purpose, but users should understand that financial records and imported statement data may remain in the workspace.
Persistence & Privilege
The skill documents optional heartbeat-based recurring expense processing and reports. This is disclosed and aligned with recurring-bill functionality, but it means finance actions can occur on a schedule once configured.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install picoclaw-finance
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /picoclaw-finance 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
picoclaw-finance v1.0.0 - Initial release with full-featured personal finance tracking for PicoClaw via Telegram. - Track expenses, income, and savings goals; set budgets and recurring bills. - Import transactions from bank statement PDFs using pdftotext. - Provides detailed monthly summaries, category breakdowns, and progress bars for goals—all formatted elegantly for Telegram. - Data stored in JSON files under workspace/finance/ for easy backup and portability.
元数据
Slug picoclaw-finance
版本 1.0.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

PicoClaw Financev 是什么?

Financial management for PicoClaw. Track expenses, income, budgets, and savings goals via Telegram. Import bank statement PDFs. Recurring bills, category sum... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 46 次。

如何安装 PicoClaw Financev?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install picoclaw-finance」即可一键安装,无需额外配置。

PicoClaw Financev 是免费的吗?

是的,PicoClaw Financev 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

PicoClaw Financev 支持哪些平台?

PicoClaw Financev 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 PicoClaw Financev?

由 Nicolassantos23(@nicolassantos23)开发并维护,当前版本 v1.0.0。

💬 留言讨论