Community연구 & 데이터 분석github.com

레시피 변환

URL 또는 일반 텍스트에서 레시피를 가져와 Cooklang 형식으로 변환합니다.

레시피 변환란 무엇인가요?

이 스킬은 웹사이트 URL, 일반 텍스트, JSON, YAML, 마크다운 등 다양한 소스에서 레시피를 가져와 Cooklang 형식으로 변환하는 AI 에이전트를 위한 전문 도구입니다. CookCLI를 사용하여 인기 요리 사이트의 레시피를 자동으로 가져오거나, 지원되지 않는 사이트나 텍스트 입력의 경우 수동 파싱을 통해 레시피 구조(제목, 인분, 재료, 조리 시간, 장비 등)를 식별하고 Cooklang 마크다운 파일(.cook)을 생성합니다. 변환 과정에서 누락된 정보(예: 인분 수, 조리 시간)를 사용자에게 질문하여 채우고, 최종 결과를 검토한 후 저장할 위치를 묻습니다. Cooklang 구문(예: @재료, #조리기구, ~타이머)을 정확히 적용하며, 특히 JS로 렌더링되는 영양 정보가 있는 사이트(lidl-kochen.de 등)는 `/print/` URL을 사용하여 정적 PDF에서 값을 추출합니다. 이 스킬은 Claude Code, Cursor, 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. 단계 - 각 단계를 하나의 문단으로

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: 바나나 브레드
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%꼬집}, @중력 밀가루{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"
  • 출처: 원본 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 머리말
  • 여러 단어 재료: @간 흑후추{}
  • 단위가 있는 수량: {500%g} 이렇게, {500g} 아님
  • 빈 줄로 단계 구분

관련 스킬