Community研究&データ分析github.com

レシピ変換

URLやプレーンテキストからレシピをインポートし、Cooklang形式に変換します。

レシピ変換 とは?

このスキルは、様々なソースからレシピを取得し、構造化されたCooklang形式に変換するAIエージェント用スキルです。対応ソースは、人気レシピサイトからのURLインポート(CookCLI使用)、手動で貼り付けられたプレーンテキスト、JSON、YAML、マークダウンなどの他の形式です。抽出されたメタデータ(タイトル、分量、調理時間、栄養情報など)はYAMLフロントマターとして保持され、材料は「@」、調理器具は「#」、タイマーは「~」でマークアップされます。変換後は不足情報の補完を促し、ユーザーの確認を得てからファイルを保存します。このスキルはClaude CodeやCodexなどのAIエージェントで動作し、レシピのデジタル化や形式変換を自動化できます。

対応✓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に質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

レシピ変換 は何をしますか?

概要

既存のレシピをCooklang形式に変換します:

  • URL - CookCLIを使用してレシピサイトからインポート
  • プレーンテキスト - 貼り付けられたレシピを手動で解析
  • その他の形式 - JSON、YAML、マークダウンのレシピ

このスキルは以下の場合に使用します:

  • ウェブサイトからレシピを保存する
  • 手書きレシピをデジタル化する
  • 他の形式から変換する

プロセス

ステップ1: ソースの特定

質問: 「何を変換しますか?」

  • URL - インポートするウェブサイトのリンク
  • 貼り付けテキスト - どこかからコピーしたレシピ
  • ファイル - 別の形式の既存ファイル

ステップ2: インポートまたは解析

URLの場合(CookCLIを使用):

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

CookCLIのインポートが失敗した場合(未対応サイト)は、手動変換にフォールバックします。

貼り付けテキストまたは未対応サイトの場合:

  1. タイトルを抽出
  2. 分量/出来上がり数を特定
  3. 材料リストを解析(数量、単位を探す)
  4. 手順をステップに分割
  5. 記載されている調理時間を記録
  6. 必要な調理器具を特定

ステップ3: Cooklangを生成

適切にフォーマットされた .cook ファイルを作成:

  1. メタデータ - 抽出した情報を含むYAMLフロントマター
  2. 材料 - @ と適切な数量形式でマーク
  3. 調理器具 - 機器を # でマーク
  4. タイマー - 時間を抽出し ~ でマーク
  5. 手順 - 各ステップを1段落ずつ

ステップ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°Fに予熱。バナナをつぶし、バター、砂糖、卵、バニラを混ぜる。乾燥材料を加える。パン型に流し入れる。60分焼く。」

生成結果:

---
title: Banana Bread
servings: 8
time: 1 hour 15 minutes
prep time: 15 minutes
cook time: 60 minutes
source: (add original source if known)
tags: [baking, breakfast, dessert]
calories: 280 kcal
carbohydrates: 52 g
protein: 4 g
fat: 7 g
fiber: 2 g
---

#oven{} を350°Fに予熱する。

#large mixing bowl{} で @ripe bananas{3} が滑らかになるまでつぶす。

@melted butter{1/3%cup}、@sugar{3/4%cup}、@egg{1}、@vanilla extract{1%tsp} を混ぜ合わせる。

@baking soda{1%tsp}、@salt{1%pinch}、@all-purpose flour{1.5%cups} を加え、混ざるまでかき混ぜる。

生地を油を塗った #loaf pan{} に流し入れる。

~oven{60%minutes} 焼く、または中心に竹串を刺して何もついてこなくなるまで焼く。

冷ましてから切る。

リファレンス

CookCLI インポート

# 基本インポート
cook import "https://example.com/recipe"

# 名前を指定して保存
cook import "https://example.com/recipe" -o "My Recipe.cook"

対応サイト: CookCLIはrecipe-scrapersライブラリを使用します。ほとんどの主要レシピサイトで動作します。インポートが失敗した場合は手動変換を使用します。

手動変換パターン

材料パターンの認識:

  • "3 large eggs" → @large eggs{3}
  • "1 cup flour" → @flour{1%cup}
  • "salt to taste" → @salt
  • "2-3 cloves garlic" → @garlic{2-3%cloves}
  • "1/2 tsp vanilla" → @vanilla{1/2%tsp}

時間パターン:

  • "bake for 30 minutes" → ~oven{30%minutes}
  • "simmer 1 hour" → ~{1%hour}
  • "rest 10-15 min" → ~{10-15%minutes}

調理器具パターン:

  • "large bowl" → #large mixing bowl{}
  • "9x13 pan" → #9x13 baking pan{}
  • "in a skillet" → #skillet{}

メタデータ抽出

以下の一般的なフィールドを探します:

  • タイトル: レシピ名、通常は見出し
  • 人数: 「4人分」「12個分」「2カップ分」
  • 時間: 「合計時間: 45分」「準備: 15分、調理: 30分」
  • ソース: 元のURLまたは「...を参考に」
  • 作者: クレジットされているレシピ作成者

栄養情報(1食あたり) — 存在する場合は必ず抽出:

  • calories — kcal
  • carbohydrates — g
  • protein — g
  • fat — g
  • fiber — g
  • sugar — g
  • saturated_fat — g
  • sodium — mg

栄養情報がJSで動的にレンダリングされるサイト(例:lidl-kochen.de)の場合は、常に /print/ URLバリアントを取得してください。すべての値が含まれた静的なPDFが返されます。

Cooklang構文の注意点

  • YAMLフロントマターは --- で囲む(>> は不可)
  • 複数単語の材料: @ground black pepper{}
  • 単位付き数量: {500%g} ({500g} ではない)
  • 各ステップは空白行で区切る

関連スキル