Manage individual finance transactions one at a time. Use this skill when the user wants to record a single income or expense, query transactions, get summaries, delete a record, or when a new query type is needed that the CLI doesn't yet support. For bulk imports from Excel or image files, use the finance-bulk-import skill instead.
~/codespace/personal-finance-tracker/cli.py~/codespace/personal-finance-tracker/database.py~/codespace/personal-finance-tracker/constants.py~/codespace/personal-finance-tracker/finance.dbcd ~/codespace/personal-finance-tracker
python cli.py insert --amount <amount> --type <income|expense> --category "<category>" [--subcategory "<subcategory>"] [--note "<note>"] [--date YYYY-MM-DD]
Examples:
python cli.py insert --amount 50000 --type expense --category "food" --subcategory "gofood" --note "lunch"
python cli.py insert --amount 5000000 --type income --category "salary" --note "blibli"
python cli.py insert --amount 120000 --type expense --category "transport" --subcategory "flazz" --date 2025-02-15
python cli.py insert --amount 35000 --type expense --category "groceries" --note "alfamart"
cd ~/codespace/personal-finance-tracker
# By period
python cli.py query --period today
python cli.py query --period this-week
python cli.py query --period this-month
python cli.py query --period last-month
python cli.py query --period all
# By category
python cli.py query --category food
# Summary only
python cli.py query --period this-month --summary
python cli.py delete --id <id>
python cli.py categories
If the user asks for a query type not yet supported (e.g., "show by date range", "top 5 categories"):
database.py following the existing patterns--flag to the query subparser in cli.pyelif args.command == "query": blockAlways confirm with the user before writing to files.
Parse the JSON output and present it in a readable format. For summaries, show income, expense, and balance. For lists, group by date or category as appropriate. Use IDR (Rp) for currency.
Common categories: food, groceries, transport, salary, freelance, bills, health, entertainment, shopping, savings, other
Food subcategories: dine, gofood, grabfood, snack Transport subcategories: gojek, grab, flazz, krl, parkir Bills subcategories: electricity, internet, phone, water Health subcategories: medicine, doctor, gym Entertainment subcategories: netflix, spotify, games, cinema Shopping subcategories: clothes, electronics, tokopedia, shopee