Install
openclaw skills install caloric-intake-trackerLog and track daily calorie intake, macronutrients, body weight, and waist measurements locally in a SQLite database. Provides granular statistics, weekly averages, and future calorie budgets.
openclaw skills install caloric-intake-trackerTrack daily calorie intake, macronutrients, body weight, and waist measurements locally using a SQLite database.
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.
list or stats day command, and run the update or delete command to fix it.--meal type. Allowed types are: breakfast, lunch, dinner, snack, fika, drink, dessert, evening, and other. Valid meal types are loaded and validated dynamically from the database.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.When reviewing weekly averages using the stats week command, use these rules to guide the user:
All commands support a global --database PATH flag (defaulting to ./health_data.db).
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 ID
Permanently 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, or minimal) and marks completed=1 in the database.
Check Day Completion:
python scripts/tracker.py check-complete [DATE]
Exits with code 0 if the date is fully completed (completeness == 'full' and completed == 1), otherwise exits with 1.
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).
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 --compact is 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.