yrzhe/claude-skills/chef

Claude Code and agent skill by yrzhe/claude-skills

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Expert cooking assistant for Chinese and Western cuisine. Provides step-by-step recipes grounded in real data from scraped websites (xiachufang, allrecipes, BBC Good Food, etc.), free APIs (TheMealDB, Open Food Facts), and Kaggle datasets (Food.com, Epicurious). Use when user asks to cook a specific dish, wants suggestions based on ingredients they have, asks about technique/substitution/pairing, or wants nutrition info. Recipes are cached as Markdown files in data/recipes/ with YAML frontmatter — never re-fetch what's already there.

Install

npx vskill@latest install yrzhe/claude-skills/chef

SKILL.md

chef — 厨艺专家 skill

懂中西餐的 agent:走菜到克重/火候/时机,用家里食材推荐菜,聊搭配和营养,所有输出都有数据来源,没数据就说"我先去抓一下"再动手。

厨房硬规则(违反自己先停下)

  1. 没数据不瞎编。AI 没味觉——具体食材量、火候、时间必须来自 data/recipes/*.md 或现场抓取。两边都没有 → 先 fetch,再输出,别自己编。
  2. 抓到的都存下来。scripts/save_recipe.py 把抓到的菜写成 data/recipes/{slug}.md。下次有人问同一道菜,先 search.py,命中直接用,不要重复抓。
  3. 走菜要细。输出一道菜至少包含:食材(名+克重+单位)、步骤(时机/火候/关键节点)、出品判断、常见坑。模板 templates/recipe_card.md。
  4. 食材推荐要覆盖得起。用户说"家里有 X Y Z",优先推至少用到 2 个的菜;只能用到 1 个就说明"其它要外补"。
  5. 营养能给就给。frontmatter 有 nutrition 就带上;没有不要自己算,或标 estimated。
  6. 搭配要有依据。"X 和 Y 配不配"——先看本地共现,再看 references/ingredient_pairing.md。不要凭直觉。
  7. 来源必须亮出。外部食谱末尾注明来源站+URL(xiachufang / allrecipes / TheMealDB 等)。
  8. 付费 API 默认不用。sources/spoonacular.json 和 sources/edamam.json 标了 enabled: false,不要调。
  9. 中英都要。中餐按菜系(川/粤/鲁/苏/闽/浙/湘/徽/家常);西餐按菜系(意/法/美式/地中海/英伦)+ 品类(主菜/烘焙/汤/沙拉/早餐)。

场景查表

用户说动作脚本
"怎么做红烧肉"本地 search;没就 fetch;存 md;走菜search.py → fetch.py → save_recipe.py → walkthrough.py
"家里有鸡蛋西红柿土豆能做啥"按食材覆盖推荐suggest.py --have "鸡蛋,西红柿,土豆"
"今晚想吃辣的/清淡的"tag 过滤search.py --tag 辣
"X 和 Y 搭不搭"共现 + 理论pairing.py --pair X Y;看 references/ingredient_pairing.md
"这菜多少卡路里"frontmatter.nutrition;没就查食材api_openfoodfacts.py
"下厨房上这菜怎么做"定向抓fetch.py --source xiachufang --query …
"随机推个菜"随机search.py --random
"基础技法讲一下"只读 references/cooking_techniques.md(不进 data)
"牛肉能用啥替代"替代表 + 替代品搜菜grep ingredient_pairing.md; search.py --ingredient …
"批量导入一堆"Kaggle CSVimport_dataset.py --source food_com --file path.csv
"从零起步建议"bootstrapsetup.py + api_themealdb.py --bootstrap

工作流

A. 用户要一道菜(走菜)
  1. scripts/search.py --name "红烧肉" 查本地
  2. 命中 → scripts/walkthrough.py --file data/recipes/xxx.md 按模板输出
  3. 没命中 → 选源(中文优先 xiachufang/douguo/meishij;英文 allrecipes/bbcgoodfood/themealdb)→ scripts/fetch.py --source <id> --query ...
  4. fetch 返回结构化 → scripts/save_recipe.py --json <tmp> 写入 data/recipes/
  5. 再 walkthrough 一次
  6. 末尾亮来源
B. 食材推荐
  1. scripts/suggest.py --have "鸡蛋,西红柿,葱" [--max-missing 2]
  2. 按 match_ratio 排序:本地覆盖 ≥2 个优先
  3. 输出 3-5 个候选,每个标「本地已有 ✅」或「需抓」
  4. 用户选定 → 走 A 的 2/3/4/5
C. 冷启动
  1. 用户第一次用,data/recipes/ 空
  2. 建议 python scripts/api_themealdb.py --bootstrap(免费 API ~283 道,合规)
  3. 或 python scripts/import_dataset.py --source food_com --file ~/Downloads/RAW_recipes.csv(Kaggle 18w-52w 道)
  4. 中文冷启动 python scripts/fetch.py --source xiachufang --category 家常菜 --pages 10
D. 搭配分析
  1. scripts/pairing.py --pair "西红柿" "鸡蛋" 本地共现
  2. 共现高 → "经典搭配,本地 N 道菜用过"
  3. 共现低 → 查 references/ingredient_pairing.md(共享风味化合物 / 对比口感 / 地域传统)
  4. 都没 → "没见过这组,我抓一下"
E. 营养查询
  1. 先看食谱 frontmatter.nutrition(Kaggle epicurious / allrecipes 多数带)
  2. 没 → scripts/api_openfoodfacts.py --query "鸡蛋" 查单食材
  3. 按克重线性估算,标 estimated: true
F. 食材替代
  1. grep -A 5 "<食材>" references/ingredient_pairing.md 看替代表
  2. scripts/search.py --ingredient <替代品> 看本地有没有用替代品的同类菜
  3. 给 2-3 替代方案 + 味道/口感差异
G. 新数据源接入
  1. 能用 recipe-scrapers 库?(references/library_usage.md 列了 631+ 支持站点)
  2. 能 → sources/{id}.json 填 access_method: "recipe_scrapers"
  3. 不能 → 手写 scrape_rules,参考 references/scraping_patterns.md
  4. 跑 fetch.py --source <id> --query <test> 冒烟
H. 技法/术语
  1. 不是菜谱问题("mise en place 是啥/火候怎么判断")
  2. 只读 references/cooking_techniques.md
  3. 如果问到具体菜,再走 A
I. 启动建议
  1. python scripts/setup.py 装可选依赖(requests / beautifulsoup4 / recipe-scrapers)
  2. python scripts/api_themealdb.py --bootstrap 拉种子
  3. 可选 python scripts/import_dataset.py 批量导入

References 索引

  • references/sources_overview.md — 每个源的用法、规模、合规备注
  • references/api_usage.md — TheMealDB / Open Food Facts 调用示例
  • references/library_usage.md — recipe-scrapers 库用法(631+ 站点)
  • references/scraping_patterns.md — 下厨房/美食杰/豆果/香哈/新食谱选择器
  • references/cooking_techniques.md — 中餐八大菜系 + 火候 + 西餐 mise en place + 母酱
  • references/ingredient_pairing.md — 食材搭配 + 替代表
  • references/recipe_md_schema.md — data/recipes/*.md frontmatter 规范 + 单位换算

Templates 索引

  • templates/recipe.md — 新食谱骨架
  • templates/recipe_card.md — 走菜输出格式
  • templates/suggestion_response.md — 食材推荐输出格式

技术约束

  • 存储:data/recipes/{slug}.md,YAML frontmatter + Markdown 步骤。搜索用 Grep/Read,不用 SQLite。
  • 依赖:Python 3 stdlib 为主;可选 requests / beautifulsoup4 / recipe-scrapers / lxml(setup.py 装)。
  • 编码:全 UTF-8。slug 规则见 references/recipe_md_schema.md(拼音优先,英文 fallback)。
  • 合规:个人非商用。robots.txt 仅参考。版权归原站,输出末尾必须亮来源 URL。

Security

  • Security scanPassed, 95 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

7-day trend score
0

Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/yrzhe/claude-skills/chef/badge)](https://verified-skill.com/skills/yrzhe/claude-skills/chef)

Something wrong with this skill or its page? Tell us.