Calorie Tracker
/install caloric-intake-tracker
Local Calorie Tracker Skill
Track daily calorie intake, macronutrients, body weight, and waist measurements locally using a SQLite database.
Installation & Setup
This is a standalone, skill-first OpenClaw skill. It runs out-of-the-box using standard Python libraries.
The default SQLite database file is named health_data.db and is resolved relative to the current working directory (Cwd) of the running agent. To override the database path, pass the --database PATH option to any command.
Operational Instructions for the Agent
- No Compensatory Entries: If a food entry was logged incorrectly (e.g. wrong calorie or protein count), do not log a new positive or negative "balancing" or "corrective" entry. Instead, identify the incorrect entry's ID using the
listorstats daycommand, and run theupdateordeletecommand to fix it. - No Bogus Logs: Every logged entry's description must contain only the actual name of the food or drink consumed. Do not store summaries, calorie calculations, or meta-data in the food description (e.g., do not name an entry "1875 kcal, 72g protein" to force-balance a day).
- Standardized Meal Types: Every logged food entry must have a valid
--mealtype. Allowed types are:breakfast,lunch,dinner,snack,fika,drink,dessert,evening, andother. Valid meal types are loaded and validated dynamically from the database.
Day Completeness Quality Levels
When marking a day as complete using the complete command, use one of the following completeness quality levels:
full: Default. All meals and drinks consumed for the target day were fully tracked.partial: Some meals are missing, or the day relies heavily on rough estimates.minimal: Only sporadic entries were logged; most of the day's intake is unknown.
Interpreting Weekly Averages & Budgets
When reviewing weekly averages using the stats week command, use these rules to guide the user:
- If Today is Incomplete: Ignore the Monday-to-Today average (as it will be skewed downwards by today's missing meals). Instead, look at the Monday-to-Yesterday Average for a true picture of progress, and use the Daily Budget Remaining (Starting Tomorrow) to plan subsequent days.
- If Today is Complete: Focus on the Monday-to-Today Average and use the Daily Budget Remaining (Starting Now) for any remaining snack/beverage limits.
CLI Reference
All commands support a global --database PATH flag (defaulting to ./health_data.db).
1. Configuration & Logging
-
Configure Daily Goal & Height:
python scripts/tracker.py goal CALORIES [PROTEIN] [--height HEIGHT_CM]Sets target calories, optional protein goals (in grams), and optional height in cm (used dynamically by SQLite views to compute BMI and Waist-to-Height Ratio). Example:
python scripts/tracker.py goal 1800 120 --height 180.0 -
Log Food Entry:
python scripts/tracker.py add "food description" CALORIES [protein] [carbs] [fat] --meal TYPE [--date YYYY-MM-DD]Example:
python scripts/tracker.py add "Oatmeal with blueberries" 350 12 --meal breakfast -
List Entries by ID:
python scripts/tracker.py list [DATE]Lists all entries for
DATE(defaults to today) with their database IDs. Use this to find IDs for updates/deletions. -
Update Food Entry:
python scripts/tracker.py update ID [--name NAME] [--cal CALORIES] [--p PROTEIN] [--c CARBS] [--f FAT] [--meal TYPE]Modifies an existing entry by ID. Only the specified flags are updated.
-
Delete Food Entry:
python scripts/tracker.py delete IDPermanently deletes a specific entry.
-
Mark Day as Complete:
python scripts/tracker.py complete DATE [--completeness QUALITY] [--notes NOTES]Sets the completeness status (
full(default),partial, orminimal) and markscompleted=1in the database. -
Check Day Completion:
python scripts/tracker.py check-complete [DATE]Exits with code
0if the date is fully completed (completeness == 'full'andcompleted == 1), otherwise exits with1. -
Log Body Weight:
python scripts/tracker.py weight KG [DATE]Logs weight for the specified date (defaults to today).
-
Log Waist Circumference:
python scripts/tracker.py waist CM [DATE]Logs waist circumference for the specified date (defaults to today).
2. Statistics & Reports
-
Show Daily Breakdown:
python scripts/tracker.py stats day [DATE]Prints the chronological list of entries (with IDs), meal-type breakdowns, and progress compared to daily goals.
-
Show Weekly Summary:
python scripts/tracker.py stats week [DATE] [--weeks N] [--compact]Summarizes the Mon-Sun week containing
DATE(or N preceding weeks). If--compactis passed, it outputs a single-line summary of metrics for each week (including weekly totals and daily averages) instead of printing a daily breakdown table. Displays the completed-day average, Mon-yesterday average, Mon-today average, future daily budget limits, and a breakdown table:Day | Date | Kcal | Protein | Target Diff | Completeness -
Show Macronutrient Trends:
python scripts/tracker.py stats trend [--days N]Displays 7-day, 30-day, and 90-day rolling averages of calorie and protein intake (resolved dynamically from rolling trends view).
-
Show Weight logs:
python scripts/tracker.py stats weight [--days N]Displays logged weights, calculates current BMI dynamically using height, and shows weight change from the previous log.
-
Show Waist logs:
python scripts/tracker.py stats waist [--days N]Displays logged waist measurements, calculates Waist-to-Height Ratio (WHtR) dynamically, and shows waist change from the previous log.
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install caloric-intake-tracker - After installation, invoke the skill by name or use
/caloric-intake-tracker - Provide required inputs per the skill's parameter spec and get structured output
What is Calorie Tracker?
Log and track daily calorie intake, macronutrients, body weight, and waist measurements locally in a SQLite database. Provides granular statistics, weekly av... It is an AI Agent Skill for Claude Code / OpenClaw, with 44 downloads so far.
How do I install Calorie Tracker?
Run "/install caloric-intake-tracker" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Calorie Tracker free?
Yes, Calorie Tracker is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does Calorie Tracker support?
Calorie Tracker is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Calorie Tracker?
It is built and maintained by Patrik Ekenberg (@patello); the current version is v1.0.2.