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
- 参考文档_meta.json623 B
- 脚本scripts/validate-skill.sh3.5 KB
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
- Packages:
@firela/billclaw-core,@firela/billclaw-cli,@firela/billclaw-openclaw - Repository: https://github.com/fire-la/billclaw
- Version: 0.0.1
- License: MIT
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 Plaidgmail_fetch- Fetch bills from Gmailbill_parse- Parse bill documentsconversational_sync- Natural language sync interfaceconversational_status- Check sync statusconversational_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 addedtransaction.updated- Existing transactions updatedsync.started- Sync operation startedsync.completed- Sync operation completedsync.failed- Sync operation failedaccount.connected- Account successfully connectedaccount.disconnected- Account disconnectedaccount.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
- Documentation: https://github.com/fire-la/billclaw
- npm packages: https://www.npmjs.com/org/fire-zu
- Issues: https://github.com/fire-la/billclaw/issues
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
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.
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).
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.
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.
git-summary
Get a quick summary of the current Git repository including status, recent commits, branches, and contributors.
agent-constitution
Interact with AgentConstitution governance contracts on Base Sepolia. Check compliance, read rules, log actions, query governance state.