Community研究與資料分析github.com

食譜轉換

從網址或純文字匯入食譜,並轉換為 Cooklang 格式。

食譜轉換 是什麼?

這是一個 AI 助手技能,專門用於將各種來源的食譜轉換為標準化的 Cooklang 格式。它支援從常見的食譜網站(透過 CookCLI 工具)匯入、從純文字手動解析,以及從 JSON、YAML、Markdown 等其他格式轉換。使用者只需提供食譜來源,AI 會依序進行來源識別、匯入或解析、生成 Cooklang、補全缺失資訊(如份量、烹調時間),最後審查並儲存。此技能適用於 Claude Code、Codex 等支援技能檔案的 AI 代理平台,能有效數位化紙本食譜或從網站保存食譜,產生的 .cook 檔案可與 Cooklang 生態工具相容。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add 999Fritsch/Skills

Installed? Explore more 研究與資料分析 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

轉換食譜

概述

將現有食譜轉換為 Cooklang 格式,轉換來源包括:

  • 網址 - 透過 CookCLI 從食譜網站匯入
  • 純文字 - 手動解析貼上的食譜
  • 其他格式 - JSON、YAML、Markdown 食譜

適合使用此技能的時機:

  • 從網站儲存食譜
  • 將手寫食譜數位化
  • 從其他格式轉換食譜

流程

步驟 1:識別來源

詢問:「您想要轉換什麼?」

  • 網址 - 要匯入的網站連結
  • 貼上的文字 - 從其他地方複製的食譜
  • 檔案 - 現有其他格式的檔案

步驟 2:匯入或解析

對於網址(使用 CookCLI):

cook import "https://example.com/recipe"

如果 CookCLI 匯入失敗(不支援的網站),則改用手動轉換。

對於貼上的文字或不支援的網站:

  1. 擷取標題
  2. 識別份量/產量
  3. 解析食材列表(尋找數量、單位)
  4. 將步驟分開
  5. 記下提及的烹調時間
  6. 識別所需設備

步驟 3:生成 Cooklang

建立格式正確的 .cook 檔案:

  1. 中繼資料 - 帶有擷取資訊的 YAML frontmatter
  2. 食材 - 使用 @ 標記,並加上適當的數量格式
  3. 炊具 - 使用 # 標記設備
  4. 計時器 - 擷取時間並使用 ~ 標記
  5. 步驟 - 每個步驟一個段落

步驟 4:補全缺失資訊

提示使用者提供缺少的資訊:

  • 「食譜未指定份量。這是幾人份?」
  • 「未提及烹調時間。大約需要多久?」

步驟 5:審查與儲存

顯示轉換後的食譜並詢問:

  • 「這個轉換看起來正確嗎?」
  • 「要儲存在哪裡?」

範例

使用者:「轉換 https://example.com/banana-bread」

執行:

cook import "https://example.com/banana-bread"

如果成功,輸出已儲存。如果不成功,進行手動轉換:

使用者:「轉換這個食譜: 香蕉麵包 製作 1 條 3 根熟香蕉、1/3 杯融化奶油、3/4 杯糖、1 顆蛋、1 茶匙香草精、1 茶匙小蘇打粉、少許鹽、1.5 杯麵粉 烤箱預熱至華氏 350 度。將香蕉搗成泥,加入奶油、糖、蛋、香草精拌勻。加入乾性材料。倒入烤模。烘烤 60 分鐘。」

生成結果:

---
title: 香蕉麵包
servings: 8
time: 1 小時 15 分鐘
prep time: 15 分鐘
cook time: 60 分鐘
source: (如有已知來源請加上)
tags: [烘焙, 早餐, 甜點]
calories: 280 kcal
carbohydrates: 52 g
protein: 4 g
fat: 7 g
fiber: 2 g
---

將 #烤箱{} 預熱至 350°F。

在一個 #大攪拌碗{} 中,將 @熟香蕉{3} 搗成泥,直到光滑。

加入 @融化奶油{1/3%杯}、@糖{3/4%杯}、@蛋{1} 和 @香草精{1%茶匙},拌勻。

加入 @小蘇打粉{1%茶匙}、@鹽{少許} 和 @中筋麵粉{1.5%杯}。攪拌至剛好混合。

將麵糊倒入一個抹油的 #烤模{} 中。

在 ~烤箱{60%分鐘} 中烘烤,或直到插入中心的牙籤取出時乾淨。

切片前先冷卻。

參考資料

CookCLI 匯入

# 基本匯入
cook import "https://example.com/recipe"

# 指定名稱儲存
cook import "https://example.com/recipe" -o "我的食譜.cook"

支援的網站: CookCLI 使用 recipe-scrapers 函式庫。大多數主要食譜網站都可以運作。如果匯入失敗,請使用手動轉換。

手動轉換模式

需識別的食材模式:

  • "3 顆大蛋" → @大蛋{3}
  • "1 杯麵粉" → @麵粉{1%杯}
  • "鹽適量" → @鹽
  • "2-3 瓣大蒜" → @大蒜{2-3%瓣}
  • "1/2 茶匙香草精" → @香草精{1/2%茶匙}

時間模式:

  • "烘烤 30 分鐘" → ~烤箱{30%分鐘}
  • "燉煮 1 小時" → ~{1%小時}
  • "靜置 10-15 分鐘" → ~{10-15%分鐘}

設備模式:

  • "大碗" → #大攪拌碗{}
  • "9x13 烤盤" → #9x13 烤盤{}
  • "在平底鍋中" → #平底鍋{}

中繼資料擷取

尋找這些常見欄位:

  • 標題: 食譜名稱,通常是標題
  • 份量: "4 人份"、"製作 12 個"、"產量 2 杯"
  • 時間: "總時間:45 分鐘"、"準備:15 分鐘,烹調:30 分鐘"
  • 來源: 原始網址或 "改編自..."
  • 作者: 食譜創作者(如有標註)

營養成分(每份)— 如果有,務必擷取:

  • calories — 大卡
  • carbohydrates — 克
  • protein — 克
  • fat — 克
  • fiber — 克
  • sugar — 克
  • saturated_fat — 克
  • sodium — 毫克

對於透過 JavaScript 呈現營養資訊的網站(例如 lidl-kochen.de),請務必擷取 /print/ 網址變體——它會回傳包含所有數值的靜態 PDF。

Cooklang 語法提醒

  • YAML frontmatter 使用 ---(不要使用 >>)
  • 多字食材:@黑胡椒粉{}
  • 帶單位的數量:{500%g},而不是 {500g}
  • 步驟之間用空白行分隔

相關技能