# Lzheng Nutrition System

> 建立、校验和复盘与当前训练计划联动的通用营养系统，包括建档、重训练/普通训练/休息日目标、餐食估算候选、用户确认入账和趋势调整；不用于疾病营养治疗、过敏原诊断或把照片估算包装成精确事实。

- Skill: `lzheng0411/lzheng-nutrition-system` (Agent Skill, multi-file: 8 files)
- Install (CLI): `npx skillmds@latest add lzheng0411/lzheng-nutrition-system`
- Raw SKILL.md: https://api.skillmd.com/api/skills/lzheng0411/lzheng-nutrition-system/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: LZheng0411 (https://skillmd.com/u/lzheng0411)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/lzheng0411/lzheng-nutrition-system

---


# Lzheng 通用营养系统

本 Skill 只负责营养建档、`nutrition_contract`、日型目标和复盘候选。训练计划决定日型，不按单次训练手表消耗临时补吃；工作台负责展示和记录，不能反向发明处方。

## 开始前

1. 完整读取 [营养协议](references/nutrition-contract.md)。
2. 读取当前训练计划的真实日期排程、最近体重/腰围趋势、执行率、训练表现和已确认餐食；缺失或过期时标为待校准。
3. 营养变量按需读取 `../lzheng-training-expert-library` 的 Alan Aragon 模块。
4. 先确认目标、年龄、身高、当前体重、饮食环境、预算、医生已确认限制和主要执行障碍；未收敛前不输出精确热量。

## 用户流程

`建档 → 得到当天目标 → 拍照或文字记录 → 查看区间估算 → 饭后反馈 → 用户确认入账 → 查看剩余 → 两周复盘`

- 照片输出只能是候选区间、置信度和误差来源。
- `estimate` 是上桌总量，`consumed_estimate` 是实际摄入候选，`confirmed_nutrition` 才是正式入账。
- 只有用户主动创建任务并显式运行一次 Agent 才允许识别；空队列不调用模型，网页不自动轮询。
- 用户可以在候选区间内做确定性微调并保留 `agent_best` / `user_adjusted` / `user_manual` 来源。
- 已确认记录的更正必须留痕；不能静默覆盖原值。

## 固定边界

- 热量公式只是起点，至少用两周同条件体重趋势、腰围、训练表现和执行率校准。
- 当前体重未知时保留 `awaiting_profile`，不生成伪精确目标。
- 蛋白质和脂肪保持相对稳定，训练日型主要调整碳水；七日加权平均必须符合周目标。
- 食堂、外卖和照片估算始终保留范围；压力进食后不使用禁食或惩罚性有氧补偿。
- 医疗、肾脏疾病、糖尿病、进食障碍、孕期、过敏或药物相关需求转交合格专业人员；急性严重症状立即就医。
- 个人照片、账号、密钥、环境 ID、Notion 地址和真实餐食数据不得进入公开模板或示例。

## 生成与交接

验证结构化协议：

```powershell
python scripts/validate_nutrition_contract.py <nutrition-contract-vNN.json>
```

协议通过且用户确认后，保存为当前系统的营养主源，并创建 `nutrition_contract_updated` 交接给 `lzheng-fitness-workbench-builder`。交接只传相对路径和确认状态；工作台刷新、发布副本、部署和线上验证必须分别报告。

## 完成闸门

1. validator 与 `test_nutrition_system.py` 通过；
2. 当天日型来自真实日期排程，未知日期不猜测；
3. 周平均、宏量换算和调整上限通过测试；
4. 估算、实际摄入候选与确认入账三段没有混用；
5. 默认无自动触发器、无后台空查、无自动确认；
6. 示例保持匿名且体重为 `null`，不得出现虚构处方或私人配置。

## 视频学习与三餐报餐

用户要把学到的饮食方法用于三餐、文字/照片报餐或标签复用时，读取 [学习与报餐](references/learning-and-meals.md)。保留用户接受的方法和目标版本，不用新的菜单替换计算依据。

