agentledger
Expense tracking and accounting for AI agents. Log purchases, set budgets, generate spending reports, and manage multi-currency finances — all stored locally. Privacy.com card import, natural language queries, CSV/JSON export. Use when agents make purchases and need a financial audit trail.
Install
mkdir -p .claude/skills/agentledger && curl -L -o skill.zip "https://mcp.directory/api/skills/download/8700" && unzip -o skill.zip -d .claude/skills/agentledger && rm skill.zipInstalls to .claude/skills/agentledger
About this skill
AgentLedger - AI Agent Expense Tracking
Overview
AgentLedger is an accounting skill that logs every transaction you make, tracks spending across multiple accounts, and provides detailed reports. Use this to maintain a complete financial record of your purchases.
Important: Always log transactions immediately after making purchases. This skill is designed for AI agents to track their own expenses (API costs, tool subscriptions, etc.).
Core Functions
1. Log a Transaction
When you make any purchase, immediately log it:
// In Node.js context, require the ledger
const AgentLedger = require('./src/ledger.js');
const ledger = new AgentLedger();
// Log a transaction
await ledger.logTransaction({
amount: 29.99,
currency: 'USD',
vendor: 'OpenAI',
description: 'GPT-4 API credits',
category: 'API/Services',
account: 'privacy-card-1',
context: 'Needed additional tokens for user project analysis',
receiptUrl: 'https://platform.openai.com/receipts/xyz',
confirmationId: 'sub_1234567890'
});
CLI Usage (supports both positional and named parameters):
# Positional style
node src/cli.js log 29.99 "OpenAI" "GPT-4 API credits" --category="API/Services"
# Named parameter style
node src/cli.js log --amount=29.99 --vendor="OpenAI" --description="GPT-4 API credits" --category="API/Services" --context="Monthly API refill"
2. Check Current Spending
// Get spending summary
const summary = await ledger.getSummary('this-month');
console.log(`Total spent this month: $${summary.total}`);
// Check specific category
const apiSpending = await ledger.getCategorySpending('API/Services', 'this-month');
3. Generate Reports
// Monthly report
const report = await ledger.generateReport('monthly', { month: '2024-01' });
// Custom date range
const customReport = await ledger.generateReport('custom', {
startDate: '2024-01-01',
endDate: '2024-01-31'
});
4. Budget Management
// Set monthly budget for API services
await ledger.setBudget('API/Services', 500, 'monthly');
// Check budget status
const budgetStatus = await ledger.checkBudget('API/Services');
if (budgetStatus.isNearLimit) {
console.log(`Warning: ${budgetStatus.percentUsed}% of API budget used`);
}
Categories
Use these predefined categories for consistent tracking:
- API/Services - API credits, SaaS subscriptions
- Infrastructure - Hosting, domains, CDN
- Marketing - Ads, social media tools
- Tools - Software licenses, utilities
- Subscriptions - Recurring monthly/yearly services
- Other - Miscellaneous expenses
Account Integration
Privacy.com Cards
The ledger automatically detects Privacy.com card data if available:
// If you have Privacy.com JSON exports in workspace/privacy/
await ledger.importPrivacyTransactions('./privacy/card-1.json');
Manual Account Setup
// Register a new payment method
await ledger.addAccount({
id: 'stripe-main',
name: 'Main Stripe Account',
type: 'credit_card',
currency: 'USD'
});
Natural Language Queries
Ask questions like:
- "How much did I spend on API keys this month?"
- "What was that $20 charge from yesterday?"
- "Show me all infrastructure costs from last quarter"
- "Am I over budget on marketing spend?"
The CLI handles these queries:
node src/cli.js query "API spending this month"
node src/cli.js find "OpenAI" --last-week
Time Periods
Supported natural language time periods:
today,yesterdaythis-week,last-weekthis-month,last-monththis-quarter,last-quarterthis-year,last-yearlast-30-days,last-90-days
Data Export
// Export to CSV
await ledger.exportTransactions('csv', './exports/transactions.csv');
// Export to JSON
await ledger.exportTransactions('json', './exports/transactions.json');
CLI Quick Reference
Essential Commands for AI Agents
# Initialize (run once)
node src/cli.js init
# Log transactions (supports both styles)
node src/cli.js log 29.99 "OpenAI" "API credits" --category="API/Services"
node src/cli.js log --amount=29.99 --vendor="OpenAI" --description="API credits" --category="API/Services"
# Check current spending
node src/cli.js summary # This month
node src/cli.js summary --period="today" # Today only
node src/cli.js summary --period="this-week" # This week
# Set and check budgets
node src/cli.js budget set "API/Services" 500 # Set monthly budget
node src/cli.js budget status # Check all budgets
# Generate detailed reports
node src/cli.js report monthly
node src/cli.js report --type=category
node src/cli.js report --type=vendor
# Search transactions
node src/cli.js find "OpenAI" # Search by vendor
node src/cli.js find "API" --category="API/Services" # Search by category
node src/cli.js find --min-amount=50 # Find large expenses
# Export data
node src/cli.js export csv # Export to CSV
node src/cli.js export --format=json # Export to JSON
# Natural language queries
node src/cli.js query "How much did I spend on APIs this month?"
node src/cli.js query "What was that $25 charge?"
# Import from Privacy.com
node src/cli.js import privacy ./privacy-export.json
File Storage
- Transactions:
workspace/ledger/transactions.json - Accounts:
workspace/ledger/accounts.json - Budgets:
workspace/ledger/budgets.json - Settings:
workspace/ledger/settings.json
Best Practices
- Log immediately - Don't wait, log every purchase as it happens
- Add context - Explain why the purchase was necessary
- Use consistent categories - Stick to the predefined categories
- Include receipts - Store confirmation numbers and receipt URLs
- Set budgets - Establish spending limits for each category
- Review regularly - Generate monthly reports to track spending patterns
Error Handling & Edge Cases
The ledger handles common errors gracefully:
Input Validation
- Negative amounts: Rejected (use positive amounts only)
- Missing required fields: Clear error messages with usage examples
- Invalid currency: Accepted (no validation - assumes user knows what they're doing)
- Very long descriptions: Handled without truncation
Data Safety
- Automatic backups: Created before each save operation
- Corrupted data recovery: Automatic recovery from
.backupfiles - Empty periods: Gracefully shows $0.00 totals
- Multi-currency: Properly separated in summaries and reports
Example Error Recovery
# If you see "Could not load transactions" message:
# The system automatically tries to recover from backup
# Your data should be restored automatically
# Manual backup check
ls workspace/ledger/*.backup # Check if backups exist
Security & Privacy
- Local storage only: All data stays in
workspace/ledger/JSON files - No external API calls: Core functionality works offline
- No sensitive data: Never store actual card numbers or passwords
- Account aliases: Use descriptive IDs like
privacy-card-1orcompany-amex - Receipt URLs: Store links to receipts, not receipt content itself
More by openclaw
View all skills by openclaw →You might also like
flutter-development
aj-geddes
Build beautiful cross-platform mobile apps with Flutter and Dart. Covers widgets, state management with Provider/BLoC, navigation, API integration, and material design.
drawio-diagrams-enhanced
jgtolentino
Create professional draw.io (diagrams.net) diagrams in XML format (.drawio files) with integrated PMP/PMBOK methodologies, extensive visual asset libraries, and industry-standard professional templates. Use this skill when users ask to create flowcharts, swimlane diagrams, cross-functional flowcharts, org charts, network diagrams, UML diagrams, BPMN, project management diagrams (WBS, Gantt, PERT, RACI), risk matrices, stakeholder maps, or any other visual diagram in draw.io format. This skill includes access to custom shape libraries for icons, clipart, and professional symbols.
ui-ux-pro-max
nextlevelbuilder
"UI/UX design intelligence. 50 styles, 21 palettes, 50 font pairings, 20 charts, 8 stacks (React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app, .html, .tsx, .vue, .svelte. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient."
godot
bfollington
This skill should be used when working on Godot Engine projects. It provides specialized knowledge of Godot's file formats (.gd, .tscn, .tres), architecture patterns (component-based, signal-driven, resource-based), common pitfalls, validation tools, code templates, and CLI workflows. The `godot` command is available for running the game, validating scripts, importing resources, and exporting builds. Use this skill for tasks involving Godot game development, debugging scene/resource files, implementing game systems, or creating new Godot components.
nano-banana-pro
garg-aayush
Generate and edit images using Google's Nano Banana Pro (Gemini 3 Pro Image) API. Use when the user asks to generate, create, edit, modify, change, alter, or update images. Also use when user references an existing image file and asks to modify it in any way (e.g., "modify this image", "change the background", "replace X with Y"). Supports both text-to-image generation and image-to-image editing with configurable resolution (1K default, 2K, or 4K for high resolution). DO NOT read the image file first - use this skill directly with the --input-image parameter.
pdf-to-markdown
aliceisjustplaying
Convert entire PDF documents to clean, structured Markdown for full context loading. Use this skill when the user wants to extract ALL text from a PDF into context (not grep/search), when discussing or analyzing PDF content in full, when the user mentions "load the whole PDF", "bring the PDF into context", "read the entire PDF", or when partial extraction/grepping would miss important context. This is the preferred method for PDF text extraction over page-by-page or grep approaches.
Related MCP Servers
Browse all serversAnubis streamlines artificial intelligence development software with AI for software development, using role-based agent
Trackor — simple personal expense tracking and money management using SQLite for secure, efficient budgeting and financi
Cryptographic receipts & persistent memory for AI agents. Ed25519 signatures, local storage, verifiable actions. MCP ser
Dritan MCP lets personal agents access Solana market data and execute token swaps via the Dritan SDK while keeping local
ComputeGauge MCP provides AI agent cost intelligence and reputation scoring to enable AI model cost optimization, real-t
Browser Use lets LLMs and agents access and scrape any website in real time, making web scraping and web page scraping e
Stay ahead of the MCP ecosystem
Get weekly updates on new skills and servers.