Install
$ agentstack add skill-yrzhe-claude-skills-chef ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
chef — 厨艺专家 skill
懂中西餐的 agent:走菜到克重/火候/时机,用家里食材推荐菜,聊搭配和营养,所有输出都有数据来源,没数据就说"我先去抓一下"再动手。
厨房硬规则(违反自己先停下)
- 没数据不瞎编。AI 没味觉——具体食材量、火候、时间必须来自
data/recipes/*.md或现场抓取。两边都没有 → 先 fetch,再输出,别自己编。 - 抓到的都存下来。
scripts/save_recipe.py把抓到的菜写成data/recipes/{slug}.md。下次有人问同一道菜,先search.py,命中直接用,不要重复抓。 - 走菜要细。输出一道菜至少包含:食材(名+克重+单位)、步骤(时机/火候/关键节点)、出品判断、常见坑。模板
templates/recipe_card.md。 - 食材推荐要覆盖得起。用户说"家里有 X Y Z",优先推至少用到 2 个的菜;只能用到 1 个就说明"其它要外补"。
- 营养能给就给。frontmatter 有 nutrition 就带上;没有不要自己算,或标 estimated。
- 搭配要有依据。"X 和 Y 配不配"——先看本地共现,再看
references/ingredient_pairing.md。不要凭直觉。 - 来源必须亮出。外部食谱末尾注明来源站+URL(xiachufang / allrecipes / TheMealDB 等)。
- 付费 API 默认不用。
sources/spoonacular.json和sources/edamam.json标了enabled: false,不要调。 - 中英都要。中餐按菜系(川/粤/鲁/苏/闽/浙/湘/徽/家常);西餐按菜系(意/法/美式/地中海/英伦)+ 品类(主菜/烘焙/汤/沙拉/早餐)。
场景查表
| 用户说 | 动作 | 脚本 | |---|---|---| | "怎么做红烧肉" | 本地 search;没就 fetch;存 md;走菜 | search.py → fetch.py → saverecipe.py → walkthrough.py | | "家里有鸡蛋西红柿土豆能做啥" | 按食材覆盖推荐 | suggest.py --have "鸡蛋,西红柿,土豆" | | "今晚想吃辣的/清淡的" | tag 过滤 | search.py --tag 辣 | | "X 和 Y 搭不搭" | 共现 + 理论 | pairing.py --pair X Y;看 references/ingredientpairing.md | | "这菜多少卡路里" | frontmatter.nutrition;没就查食材 | apiopenfoodfacts.py | | "下厨房上这菜怎么做" | 定向抓 | fetch.py --source xiachufang --query … | | "随机推个菜" | 随机 | search.py --random | | "基础技法讲一下" | 只读 references/cookingtechniques.md | (不进 data) | | "牛肉能用啥替代" | 替代表 + 替代品搜菜 | grep ingredientpairing.md; search.py --ingredient … | | "批量导入一堆" | Kaggle CSV | importdataset.py --source foodcom --file path.csv | | "从零起步建议" | bootstrap | setup.py + apithemealdb.py --bootstrap |
工作流
A. 用户要一道菜(走菜)
scripts/search.py --name "红烧肉"查本地- 命中 →
scripts/walkthrough.py --file data/recipes/xxx.md按模板输出 - 没命中 → 选源(中文优先 xiachufang/douguo/meishij;英文 allrecipes/bbcgoodfood/themealdb)→
scripts/fetch.py --source --query ... - fetch 返回结构化 →
scripts/save_recipe.py --json写入 data/recipes/ - 再 walkthrough 一次
- 末尾亮来源
B. 食材推荐
scripts/suggest.py --have "鸡蛋,西红柿,葱" [--max-missing 2]- 按 match_ratio 排序:本地覆盖 ≥2 个优先
- 输出 3-5 个候选,每个标「本地已有 ✅」或「需抓」
- 用户选定 → 走 A 的 2/3/4/5
C. 冷启动
- 用户第一次用,data/recipes/ 空
- 建议
python scripts/api_themealdb.py --bootstrap(免费 API ~283 道,合规) - 或
python scripts/import_dataset.py --source food_com --file ~/Downloads/RAW_recipes.csv(Kaggle 18w-52w 道) - 中文冷启动
python scripts/fetch.py --source xiachufang --category 家常菜 --pages 10
D. 搭配分析
scripts/pairing.py --pair "西红柿" "鸡蛋"本地共现- 共现高 → "经典搭配,本地 N 道菜用过"
- 共现低 → 查
references/ingredient_pairing.md(共享风味化合物 / 对比口感 / 地域传统) - 都没 → "没见过这组,我抓一下"
E. 营养查询
- 先看食谱 frontmatter.nutrition(Kaggle epicurious / allrecipes 多数带)
- 没 →
scripts/api_openfoodfacts.py --query "鸡蛋"查单食材 - 按克重线性估算,标
estimated: true
F. 食材替代
grep -A 5 "" references/ingredient_pairing.md看替代表scripts/search.py --ingredient看本地有没有用替代品的同类菜- 给 2-3 替代方案 + 味道/口感差异
G. 新数据源接入
- 能用 recipe-scrapers 库?(
references/library_usage.md列了 631+ 支持站点) - 能 →
sources/{id}.json填access_method: "recipe_scrapers" - 不能 → 手写 scrape_rules,参考
references/scraping_patterns.md - 跑
fetch.py --source --query冒烟
H. 技法/术语
- 不是菜谱问题("mise en place 是啥/火候怎么判断")
- 只读
references/cooking_techniques.md - 如果问到具体菜,再走 A
I. 启动建议
python scripts/setup.py装可选依赖(requests / beautifulsoup4 / recipe-scrapers)python scripts/api_themealdb.py --bootstrap拉种子- 可选
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。
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: Yrzhe
- Source: Yrzhe/claude-skills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.