← Back to Skills Marketplace
patello

Calorie Tracker

by Patrik Ekenberg · GitHub ↗ · v1.0.2 · MIT-0
cross-platform ✓ Security Clean
44
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install caloric-intake-tracker
Description
Log and track daily calorie intake, macronutrients, body weight, and waist measurements locally in a SQLite database. Provides granular statistics, weekly av...
README (SKILL.md)

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

  1. 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 list or stats day command, and run the update or delete command to fix it.
  2. 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).
  3. Standardized Meal Types: Every logged food entry must have a valid --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.

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 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).

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 --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.

Usage Guidance
Install only if you are comfortable keeping calorie, weight, waist, and related notes in a local SQLite file named health_data.db by default. Use --database PATH if you want to control where that sensitive file lives, back it up or delete it intentionally, and be careful with the delete command because it removes entries immediately.
Capability Assessment
Purpose & Capability
The skill's stated purpose is tracking calories, macros, weight, waist measurements, goals, and reports; the Python script implements those local SQLite-backed functions without unrelated capabilities.
Instruction Scope
The agent instructions are scoped to accurate food logging and correction workflows. There is a minor mismatch where the complete command advertises notes but does not save them.
Install Mechanism
Installation requires only Python standard libraries and no package installs, network setup, credential configuration, or background services.
Credentials
The script reads and writes only the configured SQLite database path, defaulting to ./health_data.db, which is proportionate for a local tracker.
Persistence & Privilege
It persistently stores health-related personal data locally and supports permanent deletion of entries; this is expected for the tool, but users should understand the local database file is sensitive.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install caloric-intake-tracker
  3. After installation, invoke the skill by name or use /caloric-intake-tracker
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.2
Automated release from git tag 1.0.2
Metadata
Slug caloric-intake-tracker
Version 1.0.2
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

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.

💬 Comments