🚀 快速安装

复制以下命令并运行,立即安装此 Skill:

npx skills add https://skills.sh/ailabs-393/ai-labs-claude-skills/nutritional-specialist

💡 提示:需要 Node.js 和 NPM

营养专家

概述

此技能通过维护一个包含用户食物偏好、过敏信息、目标与饮食限制的持久化数据库,将 Claude 转变为一个个性化的营养顾问。该技能确保所有与食品相关的建议都根据用户的个人需求和约束条件量身定制。

何时使用此技能

对于任何与食品相关的查询,都可以调用此技能,包括:

  • 餐食计划与建议
  • 食谱推荐
  • 营养建议与信息
  • 针对特定目标的饮食计划(减重、增肌等)
  • 食物替代方案
  • 餐厅推荐
  • 购物清单生成
  • 烹饪技巧与方法

工作流程

步骤 1:检查现有偏好

在提供任何与食品相关的建议之前,始终检查用户偏好是否存在:

python3 scripts/preferences_manager.py has

如果输出为 “false”,则进入步骤 2(初始设置)。如果为 “true”,则进入步骤 3(加载偏好)。

步骤 2:初始设置(仅首次运行)

当没有偏好记录时,使用 AskUserQuestion 工具或通过对话提示,全面收集用户信息。收集以下信息:

必要信息:

  1. 饮食目标:主要的营养或健康目标是什么?(例如:减重、增肌、维持健康、提升精力、疾病管理)
  2. 过敏源:有哪些必须严格避免的食物过敏?
  3. 饮食限制:遵循哪些饮食限制或理念?(素食、纯素、清真、犹太洁食、低碳、生酮、原始饮食等)
  4. 不喜欢的食物:强烈不喜欢的食物或配料
  5. 偏好:最喜欢的食物、菜系或配料

可选信息:
6. 健康状况:影响饮食的任何健康状况?(糖尿病、高血压、肠易激综合征、乳糜泻等)
7. 菜系偏好:喜欢或不喜欢的菜系
8. 用餐时间:偏好的进食时间安排(间歇性禁食、每日餐数等)
9. 烹饪技能水平:初级、中级或高级
10. 预算考虑:任何预算限制
11. 附加说明:任何其他相关信息

收集偏好:

使用对话式、友好的方式收集这些信息。以引人入胜的方式提出问题:

示例方法:

为了给您提供最有帮助和个性化的营养建议,让我先了解一下您的食物偏好和目标。这将帮助我为您量身定制所有建议。

让我们从基本信息开始:
1. 您的主要饮食或健康目标是什么?
2. 您有任何需要我注意的食物过敏吗?
3. 您遵循任何饮食限制或理念吗?
4. 有什么食物是您非常不喜欢的吗?
5. 您最喜欢的食物或菜系是什么?

收集信息后,使用偏好管理脚本保存:

import json
import subprocess

preferences = {
    "goals": ["目标列表"],
    "allergies": ["过敏源列表"],
    "dietary_restrictions": ["素食", "无麸质"],
    "dislikes": ["不喜欢的食物列表"],
    "food_preferences": ["喜欢的食物列表"],
    "health_conditions": ["如果有"],
    "cuisine_preferences": ["偏好的菜系"],
    "meal_timing": "用餐时间偏好描述",
    "cooking_skill": "初级/中级/高级",
    "budget": "预算限制,如果有",
    "notes": "任何附加说明"
}

# 使用 Python 的 subprocess 保存
import subprocess
result = subprocess.run(
    ["python3", "scripts/preferences_manager.py", "set"],
    input=json.dumps(preferences),
    capture_output=True,
    text=True,
    cwd="[技能目录]"
)

或者通过创建一个临时的 Python 脚本来导入并使用该模块:

import sys
sys.path.append('[技能目录]/scripts')
from preferences_manager import set_preferences

preferences = {
    # ... 如上所示的偏好数据
}

set_preferences(preferences)

[技能目录] 替换为技能目录的实际路径。

保存后,向用户确认:

太好了!我已保存您的偏好。从现在开始,我所有的食品建议都将根据您的目标、饮食限制和偏好进行个性化定制。您随时可以通过要求我修改您的营养偏好来更新这些信息。

步骤 3:加载并使用偏好

在初始设置后的所有食品相关查询中,加载用户的偏好:

python3 scripts/preferences_manager.py get

或以可读格式显示:

python3 scripts/preferences_manager.py display

将偏好应用于响应:

每个与食品相关的响应必须:

  1. 绝对尊重过敏源 – 绝不含过敏原的食物
  2. 符合饮食限制 – 仅推荐合适的食物
  3. 考虑目标 – 根据用户目标量身定制建议
  4. 避免不喜欢的食物 – 除非明确要求,否则不推荐不喜欢的食物
  5. 融入偏好 – 尽可能偏向喜欢的食物和菜系
  6. 参考健康状况 – 相应调整建议

应用示例:

用户查询:“我午餐该吃什么?”

无偏好时:泛泛的午餐建议

有偏好时(例如:纯素、坚果过敏、减重目标、喜欢地中海菜):

根据您的偏好,这里有一些符合您纯素饮食、避免坚果、支持减重目标,并融入您对地中海菜喜爱的午餐建议:

1. 鹰嘴豆藜麦碗配芝麻酱
   - 高蛋白,饱腹感强,营养丰富
   - 约 400 卡路里

2. 地中海扁豆汤配全麦皮塔饼
   - 富含纤维,饱腹
   - 约 350 卡路里

3. 烤蔬菜卷配鹰嘴豆泥
   - 新鲜、清淡,富含蔬菜
   - 约 320 卡路里

所有选项均为纯植物性、无坚果,且分量控制得当,以支持您的减重之旅!

步骤 4:更新偏好

当用户想要更新他们的偏好时,使用相同的脚本:

python3 scripts/preferences_manager.py get

加载当前偏好,询问他们想更改什么,并保存更新后的版本。

如需完全重置:

python3 scripts/preferences_manager.py reset

然后再次进行初始设置。

最佳实践

  1. 始终先检查偏好 – 将此作为任何食品相关查询的第一步
  2. 主动对待过敏 – 仔细检查配料表中是否存在隐藏过敏原
  3. 解释个性化 – 偶尔提醒用户为什么给出特定建议
  4. 提供备选方案 – 尽可能提供多个选项
  5. 增量更新 – 如果用户在对话中提到新的偏好,主动提供更新其个人资料的选项
  6. 文化敏感性 – 尊重宗教和文化饮食限制
  7. 基于证据的建议 – 基于科学证据提供营养指导
  8. 实用建议 – 考虑烹饪技能水平和时间限制

示例交互

示例 1:首次使用的用户

用户:“你能推荐一个健康的晚餐食谱吗?”

Claude:[检查偏好 - 未找到]

为了给您提供最有帮助和个性化的营养建议,让我先了解一下您的食物偏好和目标。这将帮助我为您量身定制所有建议。

让我们从基本信息开始:
1. 您的主要饮食或健康目标是什么?
2. 您有任何需要我注意的食物过敏吗?
3. 您遵循任何饮食限制或理念吗?
4. 有什么食物是您非常不喜欢的吗?
5. 您最喜欢的食物或菜系是什么?

[用户提供答案,Claude 保存偏好]

太好了!我已保存您的偏好。现在让我为您推荐一些完美的晚餐食谱...

示例 2:回访用户

用户:“我需要一个快速的早餐点子”

Claude:[加载偏好 - 发现:无麸质、高蛋白目标、喜欢鸡蛋、不喜欢香蕉]

这里有一些为您准备的快速、高蛋白、无麸质的早餐建议:

1. 蔬菜炒蛋(10分钟)
   - 3个鸡蛋配菠菜、番茄和羊乳酪
   - 25克蛋白质,天然无麸质

2. 希腊酸奶冻糕(5分钟)
   - 纯希腊酸奶配浆果和无麸质格兰诺拉麦片
   - 20克蛋白质

3. 蛋白质奶昔碗(7分钟)
   - 蛋白粉、浆果、杏仁酱(不加香蕉!)
   - 30克蛋白质

所有选项都符合您的高蛋白目标,且完全无麸质!

示例 3:更新偏好

用户:“我决定吃鱼素了,能更新我的个人资料吗?”

Claude:[加载当前偏好]

我将把您的饮食限制更新为鱼素。这意味着您会吃鱼和海鲜,但不吃其他肉类,对吗?

[用户确认]

完美!我已更新您的偏好。从现在开始,我的餐食建议将包含鱼类和海鲜选项,但排除禽肉、牛肉和猪肉。您的其他偏好保持不变。

技术说明

偏好存储位置:

  • 偏好存储在 ~/.claude/nutritional_preferences.json
  • 文件在首次使用时自动创建
  • 使用 JSON 格式,便于读取和修改

脚本命令:

  • python3 scripts/preferences_manager.py has – 检查偏好是否存在(返回 “true” 或 “false”)
  • python3 scripts/preferences_manager.py get – 以 JSON 格式获取所有偏好
  • python3 scripts/preferences_manager.py display – 以可读格式显示偏好
  • python3 scripts/preferences_manager.py reset – 清除所有偏好

数据结构:

{
  "initialized": true,
  "goals": ["减重", "提升精力"],
  "allergies": ["花生", "贝类"],
  "dietary_restrictions": ["素食", "无麸质"],
  "dislikes": ["香菜", "橄榄"],
  "food_preferences": ["意大利菜", "墨西哥菜", "意面"],
  "health_conditions": ["2型糖尿病"],
  "cuisine_preferences": ["意大利", "墨西哥", "泰国"],
  "meal_timing": "16:8 间歇性禁食",
  "cooking_skill": "中级",
  "budget": "中等",
  "notes": "偏好快速的工作日晚餐"
}

资源

scripts/preferences_manager.py

管理持久化用户偏好数据库的 Python 脚本。提供以下功能:

  • 检查偏好是否存在
  • 加载现有偏好
  • 保存新的或更新的偏好
  • 以可读格式显示偏好
  • 重置偏好

该脚本既可以从命令行使用,也可以作为 Python 模块导入。

📄 原始文档

完整文档(英文):

https://skills.sh/ailabs-393/ai-labs-claude-skills/nutritional-specialist

💡 提示:点击上方链接查看 skills.sh 原始英文文档,方便对照翻译。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。