diet-tracker

TotalClaw 作者 totalclaw

追踪每日饮食并计算营养信息,帮助实现减肥目标。当用户提供膳食信息、询问卡路里摄入量、请求剩余卡路里预算或需要膳食记录提醒时使用。在午餐和晚餐时间自动提醒用户通过 cron 作业记录膳食。

安装 / 下载方式

TotalClaw CLI推荐
totalclaw install totalclaw:totalclaw~yonghaozhao722-diet-tracker
cURL直接下载,无需登录
curl -fsSL https://skills.taituai.com/api/skills/totalclaw%3Atotalclaw~yonghaozhao722-diet-tracker/file -o yonghaozhao722-diet-tracker.md
# 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`
   - **RECORD FORMAT**: `Food Name - XX kcal (P: XXg, C: XXg, F: XXg)`
   - Calculates meal totals
   - Updates daily running totals
4. **Report to user**:
   - **MUST REPORT**: calories + protein/carbs/fat grams
   - Today's consumed / remaining calories
   - **MUST REPORT**: Remaining macronutrient budgets
   - Predicted weight change based on deficit/surplus

### When User Asks for Status:

1. Read current day's memory file
2. Calculate totals consumed
3. Report:
   - Remaining calorie budget
   - Remaining protein/carbs/fat (if targets set)
   - Weight change prediction

## Scripts

- `scripts/get_food_nutrition.py`: Fetches nutrition info + calculates TDEE
- `scripts/update_memory.py`: Updates daily memory file with meal data
- `references/food_database.json`: Fallback database of common foods

## Error Handling

### Common Issues

**Issue**: "Cannot read USER.md" or missing user data
- **Cause**: User profile not configured
- **Solution**: Ask user for height, weight, age, gender, activity level, and calorie target

**Issue**: Nutrition lookup fails for uncommon foods
- **Cause**: Food not found in online databases
- **Solution**: Ask user for approximate calorie count or use similar food from database

**Issue**: Multiple food items in one meal
- **Cause**: User says "I had pizza, salad, and coke"
- **Solution**: Process each item separately, sum the nutrition values

## Data Format

### Daily Memory Entry (memory/YYYY-MM-DD.md)

**REQUIRED FORMAT** — Must include calories + macronutrients:

```markdown
## Diet Log

**Breakfast**: [food] - [X] kcal (P: [X]g, C: [X]g, F: [X]g)
**Lunch**: [food] - [X] kcal (P: [X]g, C: [X]g, F: [X]g)
**Dinner**: [food] - [X] kcal (P: [X]g, C: [X]g, F: [X]g)

**Daily Total**: [X] / [target] kcal
- Protein: [X] / [target]g (remaining: [X]g)
- Carbs: [X] / [target]g (remaining: [X]g)
- Fat: [X] / [target]g (remaining: [X]g)
**Predicted weight change**: [-/+ X] kg
```

**⚠️ Strictly prohibited to record only calories while omitting macronutrient grams!**

## Progressive Disclosure

- **Level 1 (frontmatter)**: Skill activation criteria
- **Level 2 (SKILL.md)**: Full workflow instructions (this file)
- **Level 3 (references/)**: Food database and nutrition guidelines