Skill 名称:
how-to-cook-skill
一句话说明:不知道吃什么?告诉我人数、口味偏好,自动推荐菜品搭配,附营养信息、辣度标注、购物清单,还能教烹饪技法。
解决什么问题
相信每个人都经历过这个灵魂拷问:今天吃什么?
- 下班路上刷手机,翻了半小时外卖不知道点什么
- 周末想自己做,但脑袋空空想不出菜单
- 想吃低脂餐但不知道哪些菜合适
- 家里有鸡蛋豆腐,能做几道菜?
- 想买菜但没灵感,买回来又做不成一顿饭
- 炒菜时突然忘了"焯水是冷水还是热水下锅"
这个 Skill 就是为了解决这些问题而生的。它基于开源项目 HowToCook(收录了数百道家常菜谱),通过智能推荐引擎,让你:
按人数自动搭配(2人2道菜,4人4道菜)
标注卡路里、蛋白质、碳水、脂肪
标注辣度(0-5级)
根据家中食材反推能做什么菜
一键生成分类购物清单
内置烹饪技法教程(焯水、炒煎、油温判断等)
支持低脂餐、不吃辣等筛选
核心功能一览
1. 智能推荐菜单卡片
一句话告诉它你的需求,返回精心搭配的菜单:
今日推荐(2 人份)
========================================
1. 荷兰豆炒腊肠
卡路里: 1365kcal | 蛋白质: 19.6g | 碳水: 14.5g | 脂肪: 136.5g
难度: ★★ | 预计时间: 15-25 分钟
类型: 荤菜 | 不辣 | 口味: 快手/低脂/清淡
2. 蒜香黄油虾
卡路里: 0kcal | 蛋白质: 0g | 碳水: 0g | 脂肪: 0g
难度: ★★ | 预计时间: 15-25 分钟
类型: 水产 | 不辣 | 口味: 快手/清淡
2. 菜谱详情(含做法和分量估算)
原始菜谱很多没有精确分量?Skill 会根据用餐人数智能估算参考值:
【蒜蓉虾】
========================================
难度: ★★ | 辣度: 不辣 | 卡路里: 959kcal/份
预计时间: 15-25 分钟
类型: 水产
食材(2 人份):
- 海虾: 约 200g (海虾约 8-12 只)
- 蒜蓉酱: 约 30g (约 5-6 瓣蒜)
- 食用油: 适量 (约 10-15ml)
- 生抽: 约 15ml (约 1 汤匙)
* 注:原始菜谱未标注精确用量,以上为参考估算值,可根据口味自行调整
步骤:
1. 用刀从虾头中间切开,切到距离虾尾 1cm
2. 将蒜蓉酱铺在虾身中间,放在盘子中
3. 锅中倒入热水,将盘子放入锅中,大火蒸 3 分钟
4. 烧热油,倒入虾盘中,倒入生抽
3. 分类购物清单
推荐菜品后,一键生成按类别整理的购物清单:
🛒 购物清单(蒜香黄油虾 + 荷兰豆炒腊肠)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
海鲜水产
海虾
肉禽蛋
鸡蛋、腊肠
蔬菜菌菇
荷兰豆、大蒜
辅料调味
黄油、蒜蓉酱
调料
食用油
4. 食材反推
告诉 Skill 家里有什么,它能推荐出能做的菜:
家里食材:鸡蛋、西红柿、豆腐
可以做的菜(共找到 8 道):
- 西红柿炒鸡蛋
匹配度: 80% | 匹配食材: 鸡蛋, 西红柿 | 450kcal
- 豆腐蒸蛋
匹配度: 60% | 匹配食材: 鸡蛋, 豆腐 | 320kcal
5. 营养信息查询
快速查询每道菜的卡路里和三大营养素:
【宫保鸡丁】
卡路里: 380kcal | 蛋白质: 28g | 碳水: 15g | 脂肪: 22g
辣度: ★★★/5 | 类型: 荤菜
6. 烹饪技法教程
内置 HowToCook 的 tips/ 教程文档,烹饪新手不用到处搜:
【油温判断技巧】
分类: 高级技巧
关键词: 油温, 炸, 煎, 炒
三四成热:油面平静,适合滑炒
五六成热:油面有波纹,适合煎炸
七八成热:油面翻腾,适合爆炒、复炸
7. 一日三餐推荐
☀️ 早餐
- 苏格兰蛋 | 卡路里: 887kcal | 预计时间: 25-40 分钟
🌤️ 午餐(工作日快手菜)
1. 蒜蓉虾 | 卡路里: 959kcal | 水产 | 难度: ★★
2. 荷兰豆炒腊肠 | 卡路里: 1365kcal | 荤菜 | 难度: ★★
🌙 晚餐(清淡搭配)
1. 鳊鱼炖豆腐 | 卡路里: 458kcal | 水产 | 难度: ★★★
2. 牛排 | 卡路里: 717kcal | 荤菜 | 难度: ★★★★
🛒 购物清单(按类别分行展示)
使用方式
CLI 命令行模式
# 推荐菜式(2 人份)
python chef_skill.py recommend --people 2
# 低脂餐 + 不吃辣
python chef_skill.py recommend --diet low_fat --no-spicy
# 根据家中食材推荐
python chef_skill.py recommend --ingredients 鸡蛋 豆腐 --people 2
# 搜索菜谱
python chef_skill.py search 宫保
# 菜谱详情(含做法)
python chef_skill.py detail 宫保鸡丁 --servings 4
# 食材反推
python chef_skill.py ingredients 鸡蛋 西红柿 豆腐
# 烹饪教程
python chef_skill.py tutorial 焯水
python chef_skill.py tutorial 油温
# 生成购物清单
python chef_skill.py recommend --people 3 --shopping-list
AI 对话模式
安装为 SOLO Skill 后,直接用自然语言对话:
| 你说 | AI 自动触发 |
|---|---|
| “今天吃什么” | 智能推荐菜单 |
| “想吃点简单的” | 推荐快手菜 |
| “宫保鸡丁怎么做” | 展示菜谱详情 |
| “家里有鸡蛋能做什么” | 食材反推 |
| “怎么焯水” | 展示烹饪教程 |
| “推荐几个菜我要去买菜” | 推荐 + 购物清单 |
制作过程
想法来源
最开始只是单纯想解决"今天吃什么"的问题。看到 HowToCook 这个开源项目,里面收录了几百道家常菜谱,格式规范、内容清晰。但它只是一个文档仓库,不能"智能推荐"——于是决定把它变成一个会思考的烹饪助手。
开发思路
作为开发者,拿到 HowToCook 的菜谱 Markdown 文件后,第一件事是数据建模——把非结构化的菜谱文本解析成结构化的 JSON 索引。难点在于原始菜谱没有统一的分量标注和难度标签,所以设计了营养估算模型和辣度推断规则,让每道菜自动带上卡路里、蛋白质、碳水、脂肪和 0-5 级辣度。
推荐引擎是核心。设计时考虑了几个维度:按人数决定搭配数量(2人2道、4人4道)、按场景过滤(工作日推荐快手菜)、按季节调整权重(夏天偏凉拌、冬天偏炖汤)、按饮食模式筛选(低脂/不吃辣)。搭配时还要做菜品去重,避免一顿饭出现两道主食材重复的菜。
食材反推模块通过别名归一化处理"番茄=西红柿"这类问题,计算用户家中食材与菜谱所需食材的覆盖率,按匹配度排序返回。购物清单则把所有食材按"海鲜水产、肉禽蛋、蔬菜菌菇"等类别自动分组,方便超市采购。
最后,用 argparse 封装了 CLI 入口,写了 19 个单元测试覆盖核心逻辑,并把整个项目打包成符合 SOLO Skill 规范的独立技能包。
项目结构
how-to-cook-skill/
├── SKILL.md # SOLO Skill 描述文件
├── chef_skill.py # CLI 入口脚本
├── requirements.txt # Python 依赖
├── README.md # 使用说明
├── scripts/ # 核心模块
│ ├── index_builder.py # 索引构建(菜谱 + 教程抓取)
│ ├── recommender.py # 推荐引擎
│ ├── nutrition_calculator.py # 营养计算
│ ├── ingredient_matcher.py # 食材匹配与反推
│ └── recipe_sync.py # 同步服务
├── data/ # 数据文件
│ ├── recipes_index.json # 86 道菜谱索引
│ ├── tutorials_index.json # 14 篇教程索引
│ ├── nutrition_db.json # 80+ 食材营养数据库
│ ├── ingredient_aliases.json # 食材别名映射
│ └── user_preferences.json # 用户偏好
├── tests/ # 单元测试(19 个)
└── examples/ # 功能示例输出(10 个)
未来可以做的
这个 Skill 现在是个"实用型 MVP",还有很多可以优化的方向。
功能优化
- 口味偏好学习:记住用户爱吃什么、不爱吃什么,推荐越来越准
- 季节性推荐:根据当前月份推荐当季食材做的菜
- 菜品去重:一顿饭不会推荐两道都用大量鸡蛋的菜
- 热量累计:一天吃了多少卡路里,帮你控制摄入
- 更多菜谱来源:接入下厨房、美食杰等更多数据源
场景畅想
- 智能家居联动:推荐完菜谱后自动打开厨房灯光、启动抽油烟机、通过智能音箱播报烹饪步骤。做饭时"动口不动手",喊一声"下一步"就告诉你该做什么
- 冰箱食材管理:接入智能冰箱或摄像头,实时识别冰箱里有什么食材,过期前自动提醒你"这块豆腐明天要坏了,今晚做个麻婆豆腐吧"
- 健康数据打通:同步 Apple Health / 小米手环的运动消耗数据,今天跑了 5 公里,自动推荐高蛋白低脂的恢复餐
- 多人家庭模式:区分家庭成员口味偏好,老公爱吃辣、老婆不吃香菜、孩子要清淡,一键生成全家都能接受的组合菜单
- 社交分享:一键生成精美的今日菜单卡片分享到朋友圈,附带营养标签和烹饪难度,让做饭也变成一种社交货币
安装使用
方式一:独立使用(CLI)
# 克隆或下载技能
cd how-to-cook-skill
# 安装依赖
pip install -r requirements.txt
# 构建索引(首次使用)
python chef_skill.py build
# 开始使用!
python chef_skill.py recommend --people 2
方式二:作为 AI Agent 技能安装
本技能遵循 superpowers 规范,可安装到 SOLO AI Agent 中使用。
安装步骤:
# 将技能克隆到 AI Agent 的 skills 目录
git clone <repo-url> <skills-root>/how-to-cook-skill
# 进入技能目录安装依赖
cd <skills-root>/how-to-cook-skill
pip install -r requirements.txt
# 构建菜谱和教程索引(首次使用必须执行)
python chef_skill.py build
安装完成后:
- AI Agent 启动时会自动扫描
skills/目录,读取SKILL.md识别该技能 - 当用户输入烹饪相关意图(如"今天吃什么"、“怎么焯水”)时,AI 会自动触发该技能
- AI 会主动询问用餐人数、口味偏好、家中食材等信息,返回结构化推荐结果
注意事项:
SKILL.md是 AI Agent 的技能描述文件,定义了触发条件和交互流程,不可删除- 索引文件(
data/recipes_index.json、data/tutorials_index.json)必须在首次使用前构建完成,否则 AI 无法执行推荐 - 如后续菜谱有更新,可运行
python chef_skill.py sync同步最新数据
感谢阅读!如果你也觉得"今天吃什么"是个世界难题,欢迎试用这个 Skill。
PS: 这篇文档也是 SOLO 帮我总结并完成的 ![]()
![]()
所以准确来说,这道"菜"是 AI 掌勺、我负责点单 ![]()
![]()
![]()