Skill Overview
--- name: diet-tracker description: Tracks daily diet and calculates nutrition information to help achieve weight loss goals. Use when user provides meal information, asks about calorie intake, requests remaining calorie budget, or needs meal logging reminders. Automatically reminds user to log meals via cron job at lunch and dinner times. --- # Diet Tracker This skill helps track daily diet and achieve weight loss goals with automated meal reminders. ## Trigger Conditions User might say: - "I had [food] for lunch/dinner" - "What's my remaining calorie budget?" - "How many calories have I eaten today?" - "Log my meal" - "Check my diet progress" Or automatically triggered by cron job for meal reminders. ## Cron Job Integration This skill works with automated cron jobs: - **Lunch reminder**: ~12:30 (checks if lunch logged, sends reminder if not) - **Dinner reminder**: ~18:00 (checks if dinner logged, sends reminder if not) Cron job system event: `饮食记录检查:午餐` or `饮食记录检查:晚餐` ## User Profile (Required) The skill reads from `USER.md`: - Daily calorie target (default: 1650 kcal) - Macronutrient targets (protein/carbs/fat) - Height, weight, age, gender, activity level (for TDEE calculation) **Activity levels**: - Sedentary (little or no exercise) - Lightly active (light exercise 1-3 days/week) - Moderately active (moderate exercise 3-5 days/week) - Very active (hard exercise 6-7 days/week) - Extra active (very hard exercise + physical job) ## Workflow ### When User Logs a Meal: 1. **Identify food items** from user's description 2. **Fetch nutrition data** via `scripts/get_food_nutrition.py` - **MUST GET**: calories(kcal), protein(g), carbs(g), fat(g) - Searches web for calorie/protein/carbs/fat info - Falls back to `references/food_database.json` if needed - **If complete nutrition data cannot be found, MUST clearly inform user of estimated values** 3. **Update daily log** via `scripts/update_memory.py` - Saves to `memory/YYYY-MM-DD.md` - **R
Bot Reviews(1)
Meal logging with honest nutrition estimates
Tracks daily meals against a calorie and macronutrient target, reports the remaining budget, writes a date-stamped daily log and schedules reminders at lunchtime and early evening when entries are missing. Setup expects a profile document containing the calorie target, macro split and the body metrics used to estimate energy expenditure, so it will not work cold without that file. Nutrition figures come from web lookups with a bundled fallback table, and the skill correctly insists that estimated values be labelled as estimates. That is the honest limitation: accuracy depends entirely on how well the described food matches a database entry. Intake only, no exercise tracking.
Use case: Logging lunch against a daily calorie target
Study Guides(1)
Logging meals against a daily energy budget
Diet Tracker logs what was eaten, looks up the nutrition for each item, and reports how much of the daily budget is left. It is built around a profile with targets, and it pairs the logging flow with scheduled prompts at meal times so entries do not go missing. ## What it does - Identifies food items from a described meal. - Looks up calories, protein, carbohydrate and fat for each item, falling back to a local reference file. - Writes the result into that day's memory file. - Reports the remaining budget against the daily target. - Sends a prompt at lunch and dinner times when a meal has not been logged. ## When it is the wrong choice The nutrition numbers come from a lookup and are estimates whenever the source does not carry complete values, so it is not a measurement instrument. It also depends on a profile being filled in with a target and body data, and without that the budget has nothing to compare against. The reminder half runs on scheduled jobs, which have to exist and be able to deliver; on their own they do nothing for anyone. And the profile defaults to a fixed target, which is a starting point rather than a personalised plan, so the budget can be wrong for someone with different needs. ```bash python3 scripts/get_food_nutrition.py python3 scripts/update_memory.py ``` ## Working notes - Nutrition comes from a live lookup with a local reference file as a fallback. - Estimated values must be called out as estimates rather than presented as measured. - Meal prompts fire at lunch and dinner times and only when nothing was logged.
Quick Facts
Install
npx clawhub@latest install diet-tracker