Agent Skills
返回列表
吃出来的饮食教练

吃出来的饮食教练

生活服务 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @org-a2bwkolr/meal 到当前 AI 助手。

技能介绍

它在解决什么问题

把一句话描述的饮食变成可核对的营养结论,难点不在「算」,而在「别算错」。模型自己估算热量和蛋白质,数字看着合理却无法复现,用户也无从校验。这个技能把这件事拆成两段:确定性计算交给本地脚本,语义翻译交给模型,所有数字只认脚本输出。

它是怎么工作的

核心是一次包内本地计算,流程如下:

  • scripts/review-meal.mjs 从 stdin 读 JSON,结果 JSON 写 stdout;参数或输入错误退出码 2,未预期错误退出码 1,失败信息写 stderr。
  • 计算模块在 lib/workbuddy/,食物数据在 data/food-database.json(373 条)。运行时不依赖网络、Token、环境变量、外部后端或本机仓库路径,部署后端不是前置条件。
  • 输入分两部分:profile 只需最少字段(gender、age、heightCm、weightKg、activityLevel、goal),缺项时用最少追问补齐;mealText 保留用户原话中的份量词(碗、份、克、两)。
  • 提供了 todayBefore 才按全天累计评估(scope = "day"),否则只评价当前这一餐(scope = "meal")。
  • 输出解读只转述 assessment.mainIssue 这一条主要问题和 action.principle 这一个行动重点,示例取自 action.examples,并交代 assumptions 与 confidence;unrecognizedSegments 非空时说明哪些部分没算进去。

适用边界

不处理图片识别,也不做诊断治疗、用药或减重处方。儿童、孕哺、进食障碍等专业场景一律按 safety.level = "refer" 转介,此时 dailyTargets、assessment.status 为 null,action.examples 为空,需停止营养建议。meal scope 下 proteinG/carbsG/fiberG 为 null 表示「单餐不评估不足」,不要当成数据缺失后自行补判。

使用场景

  • 午餐后用文字记录「牛肉面加一个鸡蛋」,想知道这餐热量和蛋白质是否过量。
  • 想了解自己每日热量、蛋白质等营养目标,但只提供性别、年龄、身高体重等最少信息。
  • 当天前几餐已经吃完,想知道按全天目标下一餐该怎么吃。
  • 份量记不清时保留原话中的碗、克、两,想确认哪些食物未被识别、没有计入。

适合人员

  • 关注体重管理的上班族,想确认午餐那碗牛肉面热量是否超标
  • 不愿上传饮食照片的隐私敏感用户,只想用文字记录三餐
  • 开始增肌训练的健身爱好者,想算出每日热量和蛋白质目标
  • 为离线应用选型的技术负责人,要验证脚本无网络也能返回结果