Communitygithub.com

레스토랑 음식 이미지 스튜디오

실제 레스토랑 요리 사진을 수집, 재구성, 조화 및 검증하여 독립 레스토랑 웹사이트 데모에 사용할 일관된 사진 세트를 만듭니다. Codex가 Apify Google Maps 또는 Masa를 통해 실제 요리 사진을 검색하고, 혼합된 스마트폰 스냅샷을 통합된 카메라 및 조명 시스템으로 변환하며, 노출을 개선하고 식욕을 돋우는 단서를 제공하며, AI 인공물을 방지하고, 각 설계 이미지를 실제 제공 요리 소스에 바인딩하며, 소스 대 출력 증거 및 시간 기록을 보존해야 할 때 사용합니다. 텍스트 전용 음식 생성, 일반 스톡 이미지 요청, 전체 메뉴 일러스트레이션 또는 실제 레스토랑 사진이 없는 사실적인 요리 이미지에는 사용하지 마십시오.

레스토랑 음식 이미지 스튜디오란 무엇인가요?

이 스킬은 실제 레스토랑 요리 사진을 수집, 감사, 재구성 및 생성하여 웹사이트 데모에 사용할 일관된 고품질 이미지 세트를 만듭니다. Apify Google Maps 또는 Masa 수집기를 사용하여 실제 요리 사진을 검색하고, SHA-256 해시로 출처를 기록하며, 후보 이미지를 분류하고, 설계된 사진 시스템(예: 3/4 탁상)을 잠급니다. 그런 다음 Claude Code 또는 Codex의 이미지 생성 기능을 사용하여 실제 사진을 참조(source)로, 설계된 시스템을 표현(presentation) 권위자로 사용하여 각 요리에 대해 하나의 설계 사진을 생성합니다. 생성 후 5가지 게이트(충실도, 스타일 일관성, 식욕 최적화, AI 인공물, 웹사이트 준비)를 통과하는지 확인하고, 소스 대 출력 증거를 자동으로 기록합니다. 주요 목표는 AI가 생성한 인공물 없이 사실적이고 식욕을 돋우는 이미지를 만들되, 실제 사진의 요리 사실(재료, 양, 조리 상태 등)을 변경하지 않는 것입니다. 변경이 필요할 경우 `reference-restage` 모드를 사용하여 잠긴 카메라 시스템에 맞게 재구성하지만, 요리 사실은 그대로 유지합니다. 스킬은 Manifest V3 계약을 적용하여 각 이미지가 실제 요리 사진에 바인딩되고, 추적 가능하며, 검증 가능하도록 보장합니다.

지원 대상~Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/LucasH1225/restaurant-website-skills/tree/HEAD/skills/restaurant-food-image-studio

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

레스토랑 음식 이미지 스튜디오은(는) 무엇을 하나요?

실제 레스토랑 스냅샷을 작고 일관된 웹사이트 사진 세트로 변환합니다. 실제 사진을 요리의 사실적 권위자로 사용합니다. 레스토랑 사진 시스템을 카메라 앵글, 구도, 조명, 배경, 색상, 크롭 및 고객 대상 프레젠테이션의 권위자로 사용합니다.

실제라는 이유만으로 약한 소스 앵글을 유지하지 마십시오. 오버헤드, 지저분하거나 일관성 없는 스냅샷이 웹사이트 시스템에 맞지 않는 경우 reference-restage를 사용하여 잠긴 고객 대상 카메라로 동일한 요리를 프레젠테이션하십시오. 재구성이 요리 사실을 변경하지 않도록 하십시오.

수집, 계획, 프롬프트, 생성 또는 검토하기 전에 references/food-image-playbook.md를 읽으십시오. 작업 지시서를 직접 만들지 말고 번들된 Manifest V3 및 Style Lock 구조를 복사하십시오.

모드 선택

  • 수집(Collect): 실제 단일 레스토랑 후보를 검색하고 출처를 저장합니다.
  • 감사(Audit): 레스토랑 신원, 요리 가시성, 소스 앵글 및 재구성 위험을 확인합니다. 생성하지 마십시오.
  • 생성(Create): 하나의 사진 시스템을 잠그고, 각 소스를 라우팅하며, 실제 소스당 하나의 설계 사진을 생성하고 시간을 기록합니다.
  • 수리(Repair): 실패한 게이트를 진단한 후 실제 소스와 잠긴 사진 시스템에서 재생성합니다.
  • 검토(Review): 표준 소스/출력 아티팩트와 다섯 가지 QA 결정을 자동으로 보존합니다.

$restaurant-demo-builder가 완전한 데모에 대한 비즈니스 증거, 대상 고객, 웹사이트 레이아웃 및 이미지 슬롯을 설정하도록 하십시오. 음식 사진 시스템 및 자산에는 이 스킬을 사용하십시오.

증거 검토를 비차단으로 유지

표준 후보, 소스 및 소스-대-출력 시트를 승인 요청이 아닌 자동 증거 기록으로 취급하십시오. 표준 소스 시트가 존재하면 status: recorded, reviewer: workflow로 모든 적격 소스를 기록하고 generate 단계를 검증한 후 사용자 승인을 기다리지 않고 이미지 생성을 계속하십시오. 출력 QA 후 동일한 방식으로 표준 비교를 기록하고 비공개 데모 게이트로 계속 진행하십시오.

증거 또는 검증이 실패하거나, 현재 changes-requested 레코드가 존재하거나, 소스가 제안된 이미지를 진실되게 지원할 수 없거나, 사용자가 현재 실행을 일시 중지하도록 명시적으로 요청하는 경우에만 중지하십시오. 인간 검사는 나중에 계속 사용할 수 있으며 changes-requested를 생성할 수 있습니다. 생성의 전제 조건이 아닙니다. 소유자 사실 확인 및 게시 권한은 별도의 런칭 게이트로 유지하십시오.

Manifest V3 계약 적용

모든 데모 음식 이미지가 다음 규칙을 모두 충족하도록 요구하십시오:

  1. 동일한 레스토랑의 정확히 하나의 고유한 served-dish-photo 시각적 기본 요소를 바인딩합니다.
  2. 플랫폼 ID, 원본 URL 및 SHA-256과 함께 변경되지 않은 소스를 로컬에 저장합니다.
  3. 실제 소스를 imagegen에 제공합니다. 프롬프트 전용 음식 생성을 절대 사용하지 마십시오.
  4. source_assessment.camera_view, 고객 대상 적합성 및 숨겨진 세부 사항 위험을 기록합니다.
  5. 생성 전에 하나의 레스토랑 수준 photography_system을 완료합니다.
  6. 소스가 이미 해당 시스템에 적합한 경우에만 constrained-edit를 사용합니다.
  7. 카메라, 구도 또는 고객 대상 프레젠테이션을 변경해야 하는 경우 reference-restage를 사용합니다.
  8. 숨겨진 세부 사항 위험이 높은 앵글 변경 재구성을 다른 실제 뷰를 사용할 수 있을 때까지 차단합니다.
  9. 동일한 레스토랑의 다른 실시간 감사된 served-dish-photo이고 정확한 동일 요리 일치 기록이 있는 경우에만 확인 보조 뷰를 수락합니다.
  10. 요리별 변환 계획과 허용된 식욕 조정을 기록합니다.
  11. imagegen 시작, 완료 및 지속 시간을 기록합니다.
  12. 출력을 완전히 디코딩하고 실제 너비와 높이를 기록하며 사진 시스템에 대한 픽셀 비율을 확인합니다.
  13. 다섯 가지 별도 게이트(충실도, 스타일 일관성, 식욕 최적화, AI 특성, 웹사이트 준비)를 통과합니다.
  14. 표준 실제 소스 및 소스-대-설계-사진 아티팩트를 저장합니다.
  15. 출력을 웹사이트에 복사하기 전에 Manifest demo 단계를 통과합니다.

신뢰할 수 있는 실제 요리 사진이 없으면 슬롯을 텍스트 중심으로 유지하고, 별도로 승인된 비음식 이미지를 사용하거나, 다른 촬영된 요리를 선택하거나, 소유자 사진을 요청하십시오.

소유자 사진은 구현된 수집기 기록, 완전한 픽셀 디코드, 표준 후보 시트 및 Apify/Masa와 동등한 후보 감사가 있을 때까지 시각적 기본 요소가 아닌 향후 수집 후보로 취급하십시오. Manifest V3는 현재 감사된 Apify Google Maps 및 Masa 사진만 시각적 기본 요소로 허용합니다.

작업 지시서 준비

output/food-image-studio/<restaurant-slug>/를 sources/, prompts/, drafts/, selected/ 및 review/ 하위 디렉토리와 함께 생성하십시오. 다음을 사용하십시오:

소문자 ASCII 파일 이름을 사용하십시오. API 토큰, 개인 키 또는 계정 비밀을 이러한 파일에 절대 넣지 마십시오.

명령에서 <food-image-skill>을 이 스킬의 사용 가능한 스킬 로케이터로 확인하십시오.

실제 요리 참조 수집

선택한 레스토랑에 대해서만 수집기를 실행하십시오:

APIFY_TOKEN=... python3 <food-image-skill>/scripts/collect_real_references.py apify \
  --place-id <google-place-id> \
  --max-images 20 \
  --output-dir <work-order>

python3 <food-image-skill>/scripts/collect_real_references.py masa \
  --store-id <masa-store-id> \
  --item-name <exact-menu-item-name> \
  --output-dir <work-order>

Maps URL의 경우 독립적으로 알려진 장소 ID도 제공하십시오. 반환된 레코드가 일치해야 합니다:

APIFY_TOKEN=... python3 <food-image-skill>/scripts/collect_real_references.py apify \
  --maps-url <exact-google-maps-place-url> \
  --expected-place-id <google-place-id> \
  --output-dir <work-order>

수집기는 JPEG, PNG 및 WebP 픽셀을 완전히 디코딩하고 300px 짧은 모서리 또는 150,000 총 픽셀 미만의 소스를 거부합니다. Apify가 잠긴 장소 ID를 반환하고 Masa가 응답 또는 메뉴 항목 컨텍스트에서 요청된 StoreID를 반환하도록 요구합니다. 요청된 식별자만 증거로 취급하지 않습니다.

오프라인 JSON 가져오기는 재현 가능한 감사 자료일 뿐입니다. 입력 해시 및 offline-audit-only 계층을 유지하지만 승격되거나 데모에 들어갈 수 없습니다.

독립적인 후보 감사 기록

표준 미분류 후보 시트를 렌더링하십시오:

python3 <food-image-skill>/scripts/make_candidate_sheet.py \
  --source-index <work-order>/source-index.json \
  --out <work-order>/review/candidate-sources.svg

view_image와 보존된 시트를 사용하여 모든 로컬 후보를 검사하십시오. 스크린샷, 메뉴, 플레이스홀더, 스톡 이미지, 합성 이미지, 가려진 음식 및 잘못된 목록을 거부하십시오. 분류를 자동 감사 단계로 기록하고 사용자 승인을 위해 일시 중지하지 마십시오:

python3 <food-image-skill>/scripts/record_candidate_review.py \
  --source-index <work-order>/source-index.json \
  --candidate-sheet <work-order>/review/candidate-sources.svg \
  --candidate-id <candidate-id> \
  --out <work-order>/review/<candidate-id>.json \
  --status recorded \
  --reviewer workflow \
  --classification served-dish-photo \
  --restaurant-match verified \
  --restaurant-match-notes <identity-evidence> \
  --dish-visibility served-dish-visible \
  --visual-notes <visible-served-dish-evidence> \
  --notes <audit-summary>

감사 기록은 후보 ID, 변경되지 않은 소스 해시, 소스 인덱스 해시, 표준 후보 시트 해시, 검토자, 타임스탬프, 분류 및 시각적 결과를 잠급니다. 비음식 후보는 실제 분류로 기록하고 승격하지 마십시오. 이후 changes-requested 레코드는 즉시 승격 및 데모 검증을 차단합니다.

모드 선택 전 스냅샷 평가

소스 카메라 뷰를 overhead, near-overhead, three-quarter, low-angle, straight-on 또는 unknown으로 기록하십시오. 그런 다음 다음을 기록하십시오:

  • fit: 소스가 이미 사진 시스템과 일치합니다. constrained-edit를 허용합니다.
  • restage-required: 요리는 사실적이지만 앵글 또는 구도가 고객 대상에 적합하지 않습니다. reference-restage가 필요합니다.
  • unusable: 음식이 너무 가려져 있거나 불확실합니다. 생성을 차단합니다.

잠긴 고객 대상 시스템이 3/4 탁상인 경우 오버헤드 스냅샷을 fit이라고 부르지 마십시오. Sake Sushi 실패는 표준 안티 패턴입니다. 실제 오버헤드 소스는 편집이 동일한 오버헤드 구도를 유지한다는 이유만으로 통과할 수 없습니다.

검증기는 카메라군 호환성을 강제합니다. overhead 및 near-overhead 소스는 three-quarter-tabletop, low-tabletop 또는 straight-on에 대해 fit으로 표시될 수 없습니다. 호환되지 않는 뷰는 restage-required여야 하며 angle_change_required: true를 설정하고 reference-restage를 사용해야 합니다.

제안된 출력당 하나의 후보를 승격하십시오:

python3 <food-image-skill>/scripts/promote_candidate.py \
  --source-index <work-order>/source-index.json \
  --candidate-review <work-order>/review/<candidate-id>.json \
  --manifest <work-order>/image-manifest.json \
  --candidate-id <candidate-id> \
  --dish-id <dish-id> \
  --dish-name <dish-name> \
  --restaurant-name <restaurant-name> \
  --restaurant-slug <restaurant-slug> \
  --location <location> \
  --google-place-id <place-id> \
  --dish-match-status <exact-or-category-only> \
  --dish-match-notes <name-or-category-evidence> \
  --source-camera-view overhead \
  --customer-facing-fit restage-required \
  --hidden-detail-risk medium \
  --composition-notes <why-the-snapshot-needs-restaging> \
  --angle-change-required yes \
  --generation-mode reference-restage

Masa의 경우 --google-place-id 대신 --masa-store-id를 사용하십시오.

승격은 live-verified 컬렉션에서 served-dish-photo로 분류된 현재 recorded / audit-record만 허용합니다. 완전한 원본 출처 및 소스 메타데이터를 Manifest에 복사합니다. 소스 인덱스 및 후보 검토 파일은 해시에 바인딩된 상태로 유지되며 모든 이후 단계에서 재검증됩니다.

live-verified를 Apify 또는 Masa의 암호화 서명이 아닌 워크플로우 증명 증거로 취급하십시오. 작업 지시서에 대한 쓰기 액세스 권한이 있는 사람은 로컬 JSON을 편집하고 로컬 해시를 다시 계산할 수 있습니다. 출처가 분쟁 중이거나 공개 출시가 해당 자산에 의존하는 경우 라이브 제공자 수집을 다시 실행하고 반환된 레스토랑 ID 및 이미지 해시를 비교하거나 향후 소유자 수집 감사를 통과한 승인된 소유자 자산으로 교체하십시오. 로컬 체인을 변조 방지라고 설명하지 마십시오.

하나의 설계된 사진 시스템 잠금

생성 전에 구조화된 photography_system 및 style-lock.md를 모두 완료하십시오. 레스토랑 세트에 대해 하나의 기본 카메라군을 잠급니다. 일반적으로 고객 대상 캐주얼 음식 사진을 위해 약 35~45도의 반복 가능한 three-quarter-tabletop 시스템입니다. 15도보다 넓지 않은 앵글 허용 오차를 기록하십시오.

다음 모든 변수를 잠급니다:

  • 대상 앵글, 카메라 높이, 렌즈 느낌 및 피사체 스케일;
  • 종횡비, 크롭 및 웹사이트 네거티브 공간;
  • 표면, 배경군 및 소품 제한;
  • 조명 방향, 조명 품질 및 그림자 특성;
  • 노출, 화이트 밸런스, 채도 및 대비;
  • 식욕 처리 및 허용 가능한 실제 불완전성;
  • AI 렌더링된 모양을 피하는 데 필요한 자연스러운 단서.

세트 전체에 하나의 기본 카메라군을 사용하십시오. 오버헤드, 직각 및 3/4 이미지 사이를 임의로 전환하지 마십시오.

진실된 식욕 최적화 계획

프롬프팅 전에 요리별 조정을 기록하십시오. 소스에서 지원하는 개선만 허용하십시오:

  • 노출을 적당히 높이고 화이트 밸런스를 수정합니다.
  • 기존 빵이나 크러스트를 자연스럽게 더 따뜻하고 황금빛으로 만듭니다.
  • 기존 시어, 바삭한 가장자리, 야채 색상 또는 소스 광택을 선명하게 합니다.
  • 방해가 되는 배경 세부 사항을 정리하고 플레이트 배치를 개선합니다.
  • 일반적인 서비스 변동, 고르지 않은 절단 및 소스 비대칭을 보존합니다.

브라우닝, 그릴 자국, 가니쉬, 재료, 소스, 증기, 양, 용기 또는 고급 플레이팅을 발명하지 마십시오. "더 식욕을 돋우는" 것은 음식을 재설계하는 허가가 아닌 프레젠테이션 목표입니다.

소스 아티팩트 자동 기록

소스 시트를 생성하기 전에 구조화된 사진 시스템, 스타일 잠금 및 모든 변환 계획이 완료되었는지 확인하십시오:

python3 <food-image-skill>/scripts/validate_manifest.py \
  --manifest <image-manifest.json> \
  --stage plan

그런 다음 표준 소스 시트를 생성하고 일시 중지하지 않고 기록하십시오:

python3 <food-image-skill>/scripts/make_contact_sheet.py \
  --manifest <image-manifest.json> \
  --stage source \
  --out <work-order>/review/source-review.svg

python3 <food-image-skill>/scripts/record_review.py \
  --manifest <image-manifest.json> \
  --dish-id <dish-id> \
  --gate source \
  --status recorded \
  --reviewer workflow \
  --notes <source-angle-route-and-evidence-notes>

시트를 렌더링한 후 일시 중지하지 마십시오. 모든 적격 소스를 자동으로 기록하고 모든 프롬프트 TODO 마커를 교체하고 validate_manifest.py --stage generate를 요구하며 검증이 통과하면 imagegen으로 직접 진행하십시오.

설계된 사진 생성

$imagegen을 사용하십시오. 모든 호출에 시각적 기본 요소를 제공하고 숨겨진 세부 사항 위험이 필요한 경우 실제 확인 보조 뷰를 추가하십시오. 모든 프롬프트에서:

모든 확인 보조 ID에 대해 source_assessment.supporting_source_matches.<source-id>를 status: exact 및 특정 동일 요리 메모와 함께 기록하십시오. output.input_source_ids에서 시각적 기본 요소 다음에 감사된 실제 뷰만 포함하십시오. 메뉴 문서, 장소 사진, 스톡 및 합성 이미지는 숨겨진 세부 사항 위험을 충족할 수 없습니다.

  1. 소스 ID 및 constrained-edit 또는 reference-restage를 지정합니다.
  2. 대상 카메라군 및 대상 앵글을 명시적으로 지정합니다.
  3. 실제 소스를 요리 진실로, 사진 시스템을 프레젠테이션 진실로 취급합니다.
  4. 확인된 음식 사실, 개수, 양, 사이드, 소스, 익힘 정도 및 용기를 반복합니다.
  5. 계획된 구도 및 식욕 개선만 설명합니다.
  6. 실제 불규칙성과 일반적인 독립 레스토랑 프레젠테이션을 보존합니다.
  7. 플라스틱 광택, 왁스 같은 질감, 반복되는 기하학, 완벽한 대칭, 변형된 가장자리, 가짜 효과, 텍스트 및 로고를 금지합니다.
  8. 하나의 출력 이미지를 생성합니다...

(원본이 잘렸으므로 여기서 마칩니다)

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

LucasH1225/restaurant-website-skills

Extract, interpret, record, and validate evidence-backed restaurant color systems for website demos. Use when Codex needs to inspect a storefront, sign, logo, menu, packaging, or interior photo for recurring brand colors; separate brand evidence from food, sky, foliage, lighting casts, asphalt, or camera noise; choose a harmonious palette combination; translate a real anchor color into accessible CSS design tokens; preview color roles; or hand a palette lock to restaurant-demo-builder. Do not use for generic color inspiration without restaurant evidence, logo redesign, image generation, layout selection, or blind extraction of the most frequent pixels.

LucasH1225/restaurant-website-skills

Research, position, design, build, and visually verify persuasive mobile-first website demos for independent restaurants with missing, broken, Facebook-only, outdated, or poor websites. Use when Codex is asked to analyze a restaurant lead, plan or create an outreach-ready restaurant website demo, turn Maps/Facebook/menu/review evidence into a tailored site, structure a clear mobile menu, coordinate evidence-backed food and storefront imagery, or integrate a restaurant-derived brand palette. Use restaurant-food-image-studio for food-image production, restaurant-exterior-image-studio for storefront-image production, and restaurant-brand-palette for photo-to-token color work. Do not use for generic restaurant directories, delivery marketplaces, or unverified production claims.

LucasH1225/restaurant-website-skills

Initialize, parallelize, resume, integrate, and validate evidence-gated restaurant website Demo work orders across restaurant-demo-builder, restaurant-brand-palette, restaurant-food-image-studio, and restaurant-exterior-image-studio. Use when Codex needs to start a new restaurant Demo from a lead, coordinate design/food/storefront subagents, run the complete multi-Skill workflow, continue interrupted work without repeating passed stages, inspect blockers or artifacts, or verify that a private Demo is ready for review. Do not use it to publish a site, contact a restaurant, bypass a specialist manifest, or generate unsupported food or storefront imagery.

LucasH1225/restaurant-website-skills

Audit, restore, recreate, and verify evidence-backed restaurant storefront and arrival photography for private website demos. Use when Codex needs to turn real venue exterior references into a faithful AI-assisted door-front image, repair exposure or perspective, create a recognizable arrival band, preserve signage and architecture, record source-versus-output evidence, or decide whether an exterior image is safe for Demo or public use. Do not use for invented storefront concepts, interior-only work, food photography, generic architecture renders, detached Street View screenshots, or any image that cannot be grounded in current real venue evidence.

관련 스킬