AGENT SKILL

billclaw

This skill should be used when managing financial data, syncing bank transactions via Plaid/GoCardless, fetching bills from Gmail, or exporting to Beancount/Ledger formats. Provides local-first data sovereignty for OpenClaw users.

License 许可
MIT
最近更新
2026-08-23
Stars
★ 1
Forks
0

01 前言 Front Matter

name
billclaw
tags
[ "finance", "banking", "plaid", "gocardless", "gmail", "beancount", "ledger", "transactions" ]
description
This skill should be used when managing financial data, syncing bank transactions via Plaid/GoCardless, fetching bills from Gmail, or exporting to Beancount/Ledger formats. Provides local-first data sovereignty for OpenClaw users.

02 资源文件 2

03 SKILL.md 正文

BillClaw - Financial Data Sovereignty for OpenClaw

Complete financial data management skill for OpenClaw with local-first architecture. Sync bank transactions, fetch bills from email, and export to accounting formats.

When to Use This Skill

Use this skill when:

  • Syncing bank transactions from Plaid (US/Canada) or GoCardless (Europe)
  • Fetching and parsing bills from Gmail
  • Exporting financial data to Beancount or Ledger formats
  • Managing local transaction storage with caching and indexing
  • Running financial data operations with full data sovereignty

Package Information

Installation

Via npm

# Core package (framework-agnostic)
npm install @firela/billclaw-core

# CLI application
npm install @firela/billclaw-cli

# OpenClaw plugin
npm install @firela/billclaw-openclaw

Via pnpm

pnpm add @firela/billclaw-core
pnpm add @firela/billclaw-cli
pnpm add @firela/billclaw-openclaw

CLI Usage

Setup Wizard

billclaw setup

Interactive wizard for:

  • Linking Plaid accounts
  • Configuring Gmail bill fetching
  • Setting up local storage path

Sync Transactions

# Sync all accounts
billclaw sync

# Sync specific account
billclaw sync --account <account-id>

# Sync with date range
billclaw sync --from 2024-01-01 --to 2024-12-31

Status & Configuration

# View account status
billclaw status

# List all accounts
billclaw config accounts

# View storage statistics
billclaw status --storage

Export Data

# Export to Beancount
billclaw export --format beancount --output transactions.beancount

# Export to Ledger
billclaw export --format ledger --output transactions.ledger

# Export with date filter
billclaw export --from 2024-01-01 --format beancount

OpenClaw Plugin Usage

When installed in OpenClaw, this skill provides:

Tools

  • plaid_sync - Sync bank transactions from Plaid
  • gmail_fetch - Fetch bills from Gmail
  • bill_parse - Parse bill documents
  • conversational_sync - Natural language sync interface
  • conversational_status - Check sync status
  • conversational_help - Get help with commands

Commands

  • /billclaw-setup - Configure accounts
  • /billclaw-sync - Sync transactions
  • /billclaw-status - View status
  • /billclaw-config - Manage configuration

OAuth Providers

  • Plaid Link integration for bank account linking
  • Gmail OAuth for bill fetching

Features

Data Sources

Source Description Regions
Plaid Bank transaction sync US, Canada
GoCardless European bank integration Europe
Gmail Bill fetching via email Global

Storage Architecture

  • Location: ~/.billclaw/ (configurable)
  • Format: Monthly partitioned JSON files
  • Caching: TTL-based in-memory cache
  • Deduplication: 24-hour window based on transaction ID
  • Streaming: Efficient handling of large datasets

Export Formats

  • Beancount: Double-entry accounting format
  • Ledger: CLI accounting tool format
  • CSV: Spreadsheet-compatible format

Security

  • Platform keychain storage for credentials (keytar)
  • Audit logging for all credential access
  • Optional AES-256-GCM encryption
  • Local-first architecture - your data never leaves your control

Configuration

Configuration is stored in ~/.billclaw/config.yaml:

accounts:
  - id: plaid-checking
    type: plaid
    name: "My Checking Account"
    enabled: true
    syncFrequency: daily

  - id: gmail-bills
    type: gmail
    name: "Bill Email Fetcher"
    enabled: true
    syncFrequency: daily

storage:
  path: "~/.billclaw"
  format: json

sync:
  defaultFrequency: daily
  retryOnFailure: true
  maxRetries: 3

Runtime Abstractions

The core package is framework-agnostic and uses runtime abstractions:

  • Logger: Abstract logging interface
  • ConfigProvider: Configuration management
  • EventEmitter: Event system for sync operations

This allows BillClaw to work across different environments (CLI, OpenClaw plugin, future platforms).

Event System

BillClaw emits events for important operations:

  • transaction.added - New transactions added
  • transaction.updated - Existing transactions updated
  • sync.started - Sync operation started
  • sync.completed - Sync operation completed
  • sync.failed - Sync operation failed
  • account.connected - Account successfully connected
  • account.disconnected - Account disconnected
  • account.error - Account error occurred

Scripts

Validate Skill

Run validation before publishing:

./skills/billclaw/scripts/validate-skill.sh skills/billclaw

This checks:

  • SKILL.md format and required fields
  • File size limits
  • Directory structure
  • Description quality

Troubleshooting

Issue: Plaid Link fails

Solution: Ensure Plaid credentials are configured:

billclaw config plaid --client-id <id> --secret <secret>

Issue: Gmail fetch returns no bills

Solution: Check Gmail filters and sender whitelist:

billclaw config gmail --filters "from:billing@service.com"

Issue: Export format incorrect

Solution: Verify account mappings:

billclaw export --format beancount --show-mappings

Resources

Contributing

Contributions are welcome! Please see CONTRIBUTING.md in the repository.

License

MIT License - See LICENSE file for details.

Changelog

0.0.1 (2025-02-07)

Initial release:

  • Plaid integration for US/Canada banks
  • GoCardless integration for European banks
  • Gmail bill fetching and parsing
  • Local token storage with keychain
  • Beancount and Ledger export
  • CLI with setup wizard
  • OpenClaw plugin with tools and commands
  • GitHub Actions publishing workflow

04 同仓库更多 Skills

kbarbel640-del
kbarbel640-del/skills

crowd-prompting

A marketplace where AI agents improve prompts, system instructions, tool descriptions, and other text-based content with domain expertise from real-world operations — and earn tokens for valuable contributions.

内容创作者
★ 1
kbarbel640-del
kbarbel640-del/skills

dilemm-ai

Compete in DilemmAI, the prisoner's dilemma AI arena at dilemm.ai. Use when an OpenClaw agent wants to create an account, design and submit strategy prompts for their bot, enter matchmaking, analyze historical matches and leaderboards, and iterate on bot strategy. Requires headless browser automation (no API available yet).

Skill与智能体开发
★ 1
kbarbel640-del
kbarbel640-del/skills

arxiv-paper-reviews

Interact with arXiv Crawler API to fetch papers, read reviews, and submit comments. Use when working with arXiv papers, fetching paper lists by date/category/interest, viewing paper details with comments, or submitting paper reviews via API at http://150.158.152.82:8000.

资料检索与研究
★ 1
kbarbel640-del
kbarbel640-del/skills

arxiv-paper-reviews

Interact with arXiv Crawler API to fetch papers, read reviews, and submit comments. Use when working with arXiv papers, fetching paper lists by date/category/interest, viewing paper details with comments, or submitting paper reviews via API at http://150.158.152.82:8000.

资料检索与研究
★ 1
kbarbel640-del
kbarbel640-del/skills

git-summary

Get a quick summary of the current Git repository including status, recent commits, branches, and contributors.

★ 1
kbarbel640-del
kbarbel640-del/skills

agent-constitution

Interact with AgentConstitution governance contracts on Base Sepolia. Check compliance, read rules, log actions, query governance state.

律师与法务Skill与智能体开发
★ 1