name: create-recipe description: 生成菜谱文件。当用户要求创建菜谱、提到想吃某道菜、讨论做某道菜时触发。触发短语包括"想吃"、"做一道"、"来个菜谱"、"recipe for"等。
Create Recipe
根据固定模板生成完整菜谱,保存至 .recipes/{中文菜名}.md。
Workflow
- 从用户请求中识别菜品
- 运行
scripts/check-recipes.sh检查已有菜谱
- 如果输出包含该菜品名称 → 直接读取
.recipes/{中文菜名}.md并输出给用户,流程结束 - 如果目录不存在或无匹配 → 继续下一步
- 询问用户:几人份?
- 读取
.recipes/taste.csv,分析用户历史口味偏好(各味觉评分的平均趋势、常用调味料及用量),据此调整调味料用量 - 根据人份数和口味偏好计算所有用量,生成菜谱,直接展示给用户
- 等用户确认满意后,再保存到
.recipes/{中文菜名}.md - 保存完成后,询问用户是否需要生成购物清单(调用 buy-ingredients)
Template
每份菜谱必须严格遵循 assets/template.md 中的结构,不可偏离。生成前先读取该模板文件。
Rules
Ingredients 格式
- 使用 markdown 表格,列:食材、数量、单位、备注
- 优先使用日常厨房工具作为计量单位:汤匙、茶匙、杯、片、瓣、把、根、个等
- 肉类/海鲜等按超市包装常见重量标注(如
1包 350g),备注列注明大致克数供购买参考 - 液体使用杯或毫升(常见量杯刻度)
- 避免使用克(g)作为主要计量单位 — 大部分家庭没有厨房秤
- 无单位的食材单位列留空
- 难找食材在备注列注明替代品
Steps 格式
- 编号列表,每步以
**步骤名:**开头,后接详细描述 - 每个步骤中必须引用 Ingredients 中的精确用量,不要写"适量"(除非真的是随口味调整)
Notes 格式
- 使用
**主题:**格式(中文冒号:) - 只写有实际价值的提示:食材替代、口感调整、地域适配等
- 不要写空洞的通用建议
内容规则
- 全部中文书写,外国菜名在标题保留原文
- 用量必须根据用户指定的人份计算
- Notes 中基于英国生活场景撰写实用建议(英国超市食材可得性、替代品、英文食材名等)
Anti-patterns
- 不要在步骤中省略用量 — 每个用到食材的步骤都必须标明精确数量
- 不要生成凑数的 notes — 没有实质内容的 note 不要写
- 不要跳过询问人份数 — 必须先问再生成
- 不要未经用户确认就写入文件 — 先展示,用户说可以了再保存
- 不要在文件中添加任何模板以外的结构(如 yaml frontmatter、markdown 元数据等)