Expense Tracker
v1.0.0Track daily expenses in structured markdown files organized by month. Use when the user wants to log spending, view expense summaries, analyze spending patte...
Security Scan
OpenClaw
Benign
high confidencePurpose & Capability
The name/description (expense logging, summaries, categories) match the included script and SKILL.md instructions. The skill asks for no unrelated credentials or binaries and only needs filesystem access to store markdown files under a workspace — this is proportionate to the stated purpose.
Instruction Scope
Runtime instructions only run the bundled Python script (scripts/log_expense.py) to log or summarize expenses. The script reads/writes files under a workspace (default ~/.openclaw/workspace/expenses) and does not access network, other system configuration, or unrelated files. The SKILL.md and script explicitly document the optional --workspace override.
Install Mechanism
There is no install specification (instruction-only plus a small bundled script). Nothing is downloaded or executed from external URLs, so installation risk is low.
Credentials
The skill requests no environment variables or credentials. The script does not read secrets or external config; it only accepts an optional --workspace path argument. This is proportional to logging and summarizing expenses.
Persistence & Privilege
always:false and no special privileges are requested. The only persistent effect is creating/updating markdown files in the chosen workspace directory (default under the user's home). The skill does not modify other skills or global agent configuration.
Assessment
This skill appears coherent and low-risk, but consider the following before installing: 1) The script stores expense data as plaintext markdown under a workspace (default: ~/.openclaw/workspace/expenses) — avoid storing sensitive account numbers. 2) You can pass --workspace to confine files to a project or sandbox; consider doing so. 3) The source/owner is unknown — you can manually review the short Python script (included) and run it locally to confirm behavior before allowing any automated invocation. 4) Because the agent can invoke skills autonomously by default, decide whether you want the agent to log expenses without explicit confirmation; otherwise invoke the skill manually. 5) Back up or protect the expenses directory if you care about privacy. Overall the code is short, readable, and consistent with the stated purpose.Like a lobster shell, security has layers — review code before you run it.
latest
Expense Tracker
Log and track daily expenses in markdown files organized by month.
Quick Start
Log an expense
python3 scripts/log_expense.py log <amount> <category> [--description "text"] [--tags "tag1,tag2"] [--date YYYY-MM-DD]
Examples:
# Simple expense
python3 scripts/log_expense.py log 45000 Coffee
# With description
python3 scripts/log_expense.py log 250000 Dining --description "Lunch with team"
# With tags
python3 scripts/log_expense.py log 500000 Shopping --tags "clothes,sale" --description "New shirt"
# Specify date (for backdating)
python3 scripts/log_expense.py log 1200000 Vehicle --description "Gas" --date 2026-02-15
View monthly summary
# Current month
python3 scripts/log_expense.py summary
# Specific month
python3 scripts/log_expense.py summary 2026-02
# JSON output (for parsing)
python3 scripts/log_expense.py summary 2026-02 --json
File Organization
Expenses are stored in expenses/ directory at workspace root:
expenses/
├── 2026-01.md
├── 2026-02.md
└── 2026-03.md
Each file contains a markdown table:
# Expenses - 2026-02
| Date | Category | Amount (VND) | Description | Tags |
|------|----------|-------------|-------------|------|
| 2026-02-17 | Coffee | 45,000 | | |
| 2026-02-17 | Dining | 250,000 | Lunch with team | |
| 2026-02-17 | Shopping | 500,000 | New shirt | clothes,sale |
Categories
See references/categories.md for common expense categories. Use existing categories or create custom ones as needed.
Common categories:
- Housing - Rent, utilities, home expenses
- Vehicle - Gas, maintenance, parking
- Dining - Restaurants, food delivery
- Coffee - Cafes, coffee shops
- Shopping - Clothes, electronics, general purchases
- Entertainment - Movies, games, hobbies
- Healthcare - Medicine, doctor visits
- Subscriptions - Netflix, Spotify, gym, apps
- Savings - Investments, emergency fund
- Debt Payment - Loans, credit cards
- Miscellaneous - Other expenses
Workflow Examples
Log daily expenses from conversation
When the user mentions spending money:
# User: "Just paid 35k for coffee"
python3 scripts/log_expense.py log 35000 Coffee
# User: "Grabbed lunch for 120k at Phở 24"
python3 scripts/log_expense.py log 120000 Dining --description "Phở 24"
# User: "Filled up gas, 400k"
python3 scripts/log_expense.py log 400000 Vehicle --description "Gas"
Monthly review
# Get summary
python3 scripts/log_expense.py summary 2026-02
# Read the expense file to see details
cat expenses/2026-02.md
Analyze spending patterns
# Get JSON for analysis
python3 scripts/log_expense.py summary 2026-02 --json
# Compare multiple months
python3 scripts/log_expense.py summary 2026-01 --json > jan.json
python3 scripts/log_expense.py summary 2026-02 --json > feb.json
Tips
- Batch logging: User can tell you multiple expenses at once, log them all
- Category consistency: Use the same category names to enable accurate summaries
- Tags for filtering: Use tags for subcategories (e.g., "work", "weekend", "urgent")
- Descriptions: Add context that helps identify the expense later
- Regular reviews: Suggest monthly summaries to track spending patterns
Integration with Financial Goals
When tracking expenses, consider:
- Budget tracking: Compare monthly totals to target budget
- Spending patterns: Identify high-spend categories
- Emergency fund: Track savings progress
- Debt reduction: Monitor debt payment progress
- Financial ratios: Calculate expenses as % of income
Script Reference
log_expense.py
Commands:
log- Add an expense entrysummary- View monthly summary
Arguments (log):
amount- Amount in VND (required)category- Category name (required)--description/-d- Optional description--tags/-t- Optional comma-separated tags--date- Optional date (YYYY-MM-DD, defaults to today)--workspace- Optional workspace path (defaults to ~/.openclaw/workspace)
Arguments (summary):
year_month- Optional YYYY-MM (defaults to current month)--json- Output as JSON--workspace- Optional workspace path
Output:
- Creates/updates markdown files in
expenses/directory - Prints confirmation with file location
- Summary shows total, count, and breakdown by category
Comments
Loading comments...
