← 返回 Skills 市场
yonghaozhao722

Diet Tracker

作者 Yonghao Zhao · GitHub ↗ · v1.2.0
cross-platform ⚠ suspicious
2850
总下载
5
收藏
7
当前安装
5
版本数
在 OpenClaw 中安装
/install diet-tracker
功能描述
Tracks daily diet and calculates nutrition information to help achieve weight loss goals. Use when user provides meal information, asks about calorie intake,...
使用说明 (SKILL.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:

## 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
安全使用建议
Before installing or enabling this skill: (1) Inspect or run the included Python scripts yourself—pay special attention to update_memory.py lines that copy files and call git. (2) If you do not want your logs uploaded, remove or disable the git subprocess calls and the obsidian-vault copy. (3) Be aware the scripts read /root/clawd/USER.md (contains personal info) and write /root/clawd/memory/*.md; ensure those paths and contents are acceptable. (4) If the host has Git credentials configured, the skill could push your diet logs to the remote repository — either remove git remotes or sandbox the skill (no network) or run only after modifying the code to remove pushes. (5) If you are unsure, treat this as untrusted: do not give it persistent access to sensitive files or credentials and test in an isolated environment first.
功能分析
Type: OpenClaw Skill Name: diet-tracker Version: 1.2.0 The skill is classified as suspicious primarily due to the use of `subprocess.run` in `scripts/update_memory.py` to execute `git` commands. These commands interact with a local Git repository (`/root/clawd/obsidian-vault`) and push user diet logs to an external GitHub remote. While the stated purpose is benign (data synchronization), this capability is high-risk as it involves external network communication and could be abused for data exfiltration if the Git remote were compromised or misconfigured. Additionally, `scripts/get_food_nutrition.py` makes external API calls to `https://api.nal.usda.gov/fdc/v1/food/search` for nutrition data, which is a network capability, though to a legitimate service using a demo key.
能力评估
Purpose & Capability
Name/description match the core functionality (logging diet, calculating nutrition). However, the shipped code performs additional actions (copying logs to an Obsidian vault and attempting to push the vault to GitHub) that are not documented in SKILL.md and are not necessary for the stated purpose. The code also hardcodes absolute paths under /root/clawd which may be unexpected.
Instruction Scope
SKILL.md describes reading USER.md and updating daily memory files (expected). The runtime scripts in the package read/write files at /root/clawd/..., copy to an obsidian-vault path, and run git add/commit/push — these network/persistence steps are not described in SKILL.md (scope creep). The scripts also call an external nutrition API (api.nal.usda.gov) which is reasonable but not fully documented (demo API key used).
Install Mechanism
No install spec or remote downloads; this is an instruction-and-scripts package only. No additional packages are installed by the skill itself. Risk from install mechanism is low.
Credentials
The skill declares no required environment variables or credentials, but the code will use any existing Git configuration/credentials on the host to push data to a remote repository. It also reads USER.md (personal profile data) and will persist logs to disk. Requesting no credentials while attempting network pushes is a mismatch and can lead to unintended data exfiltration via existing host credentials.
Persistence & Privilege
The scripts persist data under /root/clawd/memory and copy files into /root/clawd/obsidian-vault. They then attempt to commit and push the obsidian-vault to the remote 'origin' branch — this gives the skill the ability to transmit recorded personal data to a remote Git host whenever git credentials are available. The skill does not request explicit user approval for these actions in SKILL.md.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install diet-tracker
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /diet-tracker 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.2.0
- Added _meta.json file for improved metadata management. - Updated SKILL.md: replaced all Chinese instructional text with English for broader accessibility. - No changes to skill logic or functionality.
v1.0.1
强制要求记录饮食时包含完整的营养成分:热量(kcal)、蛋白质(g)、碳水化合物(g)、脂肪(g)。更新 Workflow 和 Data Format 规范,严禁只记录热量而遗漏三大营养素。
v1.1.1
- Added automatic lunch and dinner meal logging reminders using cron jobs. - Expanded skill triggers to include automated reminders and new user queries. - Improved SKILL.md documentation with detailed workflow, error handling, and data formats. - Clarified user profile requirements and meal logging steps. - Updated description for clearer use cases and reminder automation support.
v1.1.0
Added macronutrient target tracking (protein, carbs, fat)
v1.0.0
Diet Tracker skill initial release: - Track daily meals with automatic calorie and macronutrient calculations. - Pull nutrition information from the web or a built-in food database. - Uses personalized data (height, weight, age, gender, activity level) to estimate TDEE and daily calorie goals. - Updates daily summaries in memory, including calorie remaining and predicted weight changes. - Supports meal logging, progress monitoring, and reminders to log meals.
元数据
Slug diet-tracker
版本 1.2.0
许可证
累计安装 7
当前安装数 7
历史版本数 5
常见问题

Diet Tracker 是什么?

Tracks daily diet and calculates nutrition information to help achieve weight loss goals. Use when user provides meal information, asks about calorie intake,... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 2850 次。

如何安装 Diet Tracker?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install diet-tracker」即可一键安装,无需额外配置。

Diet Tracker 是免费的吗?

是的,Diet Tracker 完全免费(开源免费),可自由下载、安装和使用。

Diet Tracker 支持哪些平台?

Diet Tracker 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Diet Tracker?

由 Yonghao Zhao(@yonghaozhao722)开发并维护,当前版本 v1.2.0。

💬 留言讨论