← Back to Skills Marketplace
nicolassantos23

PicoClaw Financev

by Nicolassantos23 · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ Security Clean
46
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install picoclaw-finance
Description
Financial management for PicoClaw. Track expenses, income, budgets, and savings goals via Telegram. Import bank statement PDFs. Recurring bills, category sum...
README (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)
Usage Guidance
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.
Capability Analysis
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.
Capability Assessment
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.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install picoclaw-finance
  3. After installation, invoke the skill by name or use /picoclaw-finance
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
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.
Metadata
Slug picoclaw-finance
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is PicoClaw Financev?

Financial management for PicoClaw. Track expenses, income, budgets, and savings goals via Telegram. Import bank statement PDFs. Recurring bills, category sum... It is an AI Agent Skill for Claude Code / OpenClaw, with 46 downloads so far.

How do I install PicoClaw Financev?

Run "/install picoclaw-finance" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is PicoClaw Financev free?

Yes, PicoClaw Financev is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does PicoClaw Financev support?

PicoClaw Financev is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created PicoClaw Financev?

It is built and maintained by Nicolassantos23 (@nicolassantos23); the current version is v1.0.0.

💬 Comments