Cashflow
by @ckchzh
Track personal cash flow with simple terminal commands and local storage. Use when logging daily expenses, reviewing balance, or exporting records.
clawhub install cashflowπ About This Skill
name: CashFlow version: "2.0.0" author: "BytesAgain" homepage: https://bytesagain.com source: https://github.com/bytesagain/ai-skills tags: ["finance","money","budget","cashflow","expense","income","tracker","personal-finance"] categories: ["Finance", "Personal Management", "Productivity"] description: "Track personal cash flow with simple terminal commands and local storage. Use when logging daily expenses, reviewing balance, or exporting records."
CashFlow
CashFlow is a multi-purpose utility tool for tracking and managing data entries from the terminal. It provides a simple log-based system for adding, listing, searching, and exporting entries with timestamped records.
Commands
| Command | Description |
|---------|-------------|
| cashflow run | Execute the main function with given arguments |
| cashflow config | Show configuration file location (config.json) |
| cashflow status | Show current status (ready/not ready) |
| cashflow init | Initialize the data directory |
| cashflow list | List all entries in the data log |
| cashflow add | Add a new dated entry to the data log |
| cashflow remove | Remove an entry |
| cashflow search | Search entries (case-insensitive grep) |
| cashflow export | Export all data to stdout |
| cashflow info | Show version and data directory path |
| cashflow help | Show all available commands |
| cashflow version | Show version number |
How It Works
CashFlow uses a flat-file approach. All entries are stored in data.log as dated lines (YYYY-MM-DD ). Every command also appends a timestamped record to history.log for auditing.
add appends a new line with today's datelist prints the full data logsearch performs case-insensitive matching via grepexport dumps the raw data log to stdout for piping/redirectionData Storage
All data is stored locally in ~/.local/share/cashflow/ by default:
data.log β Main data file with all entries (one per line, date-prefixed)history.log β Timestamped audit trail of every command executedconfig.json β Configuration file (referenced by cashflow config)Override the storage location by setting the CASHFLOW_DIR environment variable:
export CASHFLOW_DIR="$HOME/my-data/cashflow"
Alternatively, XDG_DATA_HOME is respected if CASHFLOW_DIR is not set.
Requirements
set -euo pipefail for strict mode)grep, date, cat)When to Use
1. Quick data logging β Use cashflow add to rapidly log entries (expenses, tasks, notes) with automatic date stamps
2. Reviewing stored entries β Run cashflow list to see everything you've logged, or cashflow search to find specific entries
3. Exporting data for analysis β Use cashflow export > data.csv to dump all entries for import into spreadsheets or other tools
4. Project initialization β Run cashflow init to set up the data directory on a new machine or project
5. Checking tool status β Use cashflow status and cashflow info to verify the tool is ready and see version/path information
Examples
# Initialize the data directory
cashflow initAdd entries
cashflow add "Monthly rent payment 2500"
cashflow add "Freelance invoice received 8000"
cashflow add "Grocery shopping 350"List all entries
cashflow list
# Search for specific entries
cashflow search rent
cashflow search invoiceExport data to a file
cashflow export > my-records.txtCheck status and info
cashflow status
cashflow info
# Run a custom operation
cashflow run process-monthlyView configuration location
cashflow configRemove an entry
cashflow remove "old entry"Show version
cashflow version
Output
All command output goes to stdout. The history log is always written to $DATA_DIR/history.log. Redirect output as needed:
cashflow list > all-entries.txt
cashflow export | grep "2026-03" > march-data.txt
Configuration
| Variable | Purpose | Default |
|----------|---------|---------|
| CASHFLOW_DIR | Override data/config directory | ~/.local/share/cashflow/ |
| XDG_DATA_HOME | Fallback base directory | ~/.local/share/ |
Powered by BytesAgain | bytesagain.com | hello@bytesagain.com
β‘ When to Use
π‘ Examples
# Initialize the data directory
cashflow initAdd entries
cashflow add "Monthly rent payment 2500"
cashflow add "Freelance invoice received 8000"
cashflow add "Grocery shopping 350"List all entries
cashflow list
# Search for specific entries
cashflow search rent
cashflow search invoiceExport data to a file
cashflow export > my-records.txtCheck status and info
cashflow status
cashflow info
# Run a custom operation
cashflow run process-monthlyView configuration location
cashflow configRemove an entry
cashflow remove "old entry"Show version
cashflow version
βοΈ Configuration
| Variable | Purpose | Default |
|----------|---------|---------|
| CASHFLOW_DIR | Override data/config directory | ~/.local/share/cashflow/ |
| XDG_DATA_HOME | Fallback base directory | ~/.local/share/ |
Powered by BytesAgain | bytesagain.com | hello@bytesagain.com