Communitygithub.com

LucasH1225/restaurant-website-skills

Recopila, reorganiza, armoniza y verifica fotografías de comida con evidencia para demos de sitios web de restaurantes independientes. Utilízalo cuando Codex necesite recuperar fotos reales de platos de restaurantes a través de Apify Google Maps o Masa, convertir instantáneas mixtas de teléfonos en un sistema de cámara e iluminación coherente orientado al cliente, mejorar la exposición o las señales de apetito respaldadas por la fuente, evitar artefactos visibles de IA, vincular cada imagen diseñada a una fuente real de un plato servido, o conservar registros de evidencia y tiempo de la fuente frente a la salida. No lo uses para generación de comida solo con texto, solicitudes genéricas de imágenes de archivo, ilustración de menús completos, ni para ninguna imagen realista de un plato que carezca de una foto real de un restaurante que coincida.

¿Qué es restaurant-website-skills?

Esta habilidad (Skill) para agentes de IA como Codex o Claude Code automatiza el proceso de crear imágenes de platos de restaurante de alta calidad para sitios web de demos, partiendo de fotos reales tomadas por los comensales. Su función principal es recolectar estas fotos desde fuentes como Apify Google Maps o Masa, auditarlas para verificar que muestren un plato real, y luego transformarlas en imágenes coherentes con un sistema de fotografía diseñado para la web, sin perder la autenticidad del plato. La habilidad asegura que cada imagen generada esté vinculada a una foto real de un plato servido, evitando la creación de imágenes falsas o artificiales, y registra toda la evidencia del proceso (desde la fuente original hasta la imagen final) para su verificación posterior.

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

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Estudio de Imágenes de Comida para Restaurantes

Convierte instantáneas reales mixtas de restaurantes en un pequeño conjunto de fotografías coherente para un sitio web. Utiliza la foto real como autoridad factual del plato. Usa el Sistema de Fotografía del restaurante como autoridad para el ángulo de cámara, composición, luz, fondo, color, recorte y presentación orientada al cliente.

No conserves un ángulo de fuente débil simplemente porque sea real. Cuando una instantánea desde arriba, desordenada o inconsistente no encaje en el sistema web, usa reference-restage para presentar el mismo plato desde la cámara fija orientada al cliente. Nunca permitas que el reajuste cambie los hechos del plato.

Lee references/food-image-playbook.md antes de recolectar, planificar, solicitar, generar o revisar. Copia las estructuras empaquetadas de Manifiesto V3 y Bloqueo de Estilo en lugar de inventar una orden de trabajo.

Elige el Modo

  • Recolectar: Recupera candidatos reales de un solo restaurante y guarda la procedencia.
  • Auditar: Verifica la identidad del restaurante, la visibilidad del plato, el ángulo de la fuente y el riesgo de reajuste. No generes.
  • Crear: Bloquea un Sistema de Fotografía, enruta cada fuente, genera una foto diseñada por fuente real y conserva el tiempo.
  • Reparar: Regenera desde la fuente real y el Sistema de Fotografía bloqueado después de diagnosticar una compuerta fallida.
  • Revisar: Conserva el artefacto canónico de fuente/salida y las cinco decisiones de QA automáticamente.

Deja que $restaurant-demo-builder establezca la evidencia comercial, la audiencia, el diseño del sitio web y los espacios para imágenes de una Demo completa. Usa esta Habilidad para el sistema de fotografía de comida y los activos.

Mantén la Revisión de Evidencia No Bloqueante

Trata las hojas canónicas de candidatos, fuentes y fuente versus salida como registros de evidencia automáticos, no como solicitudes de aprobación. Una vez que existe una hoja de fuente canónica, registra cada fuente elegible con status: recorded, reviewer: workflow, valida la etapa generate y continúa con la generación de imágenes sin esperar al usuario. Después del QA de salida, registra la comparación canónica de la misma manera y continúa con la compuerta de la Demo privada.

Detente solo cuando la evidencia o la validación fallen, exista un registro actual de changes-requested, la fuente no pueda respaldar verazmente la imagen propuesta, o el usuario pida explícitamente que la ejecución actual se pause. La inspección humana sigue estando disponible más tarde y puede crear changes-requested; nunca es un requisito previo para la generación. Mantén la confirmación factual del propietario y los derechos de publicación como compuertas de lanzamiento separadas.

Aplica el Contrato del Manifiesto V3

Exige que cada imagen de comida de la Demo cumpla todas estas reglas:

  1. Vincular exactamente un served-dish-photo visual principal único del mismo restaurante.
  2. Guardar la fuente sin modificar localmente con la identidad de la plataforma, URL original y SHA-256.
  3. Suministrar esa fuente real a imagegen. Nunca uses generación de comida solo con indicaciones.
  4. Registrar source_assessment.camera_view, ajuste orientado al cliente y riesgo de detalles ocultos.
  5. Completar un photography_system a nivel de restaurante antes de la generación.
  6. Usar constrained-edit solo cuando la fuente ya encaje en ese sistema.
  7. Usar reference-restage cuando la cámara, composición o presentación orientada al cliente deba cambiar.
  8. Bloquear los reajustes que cambien el ángulo con alto riesgo de detalles ocultos hasta que haya otra vista real disponible.
  9. Aceptar una vista corroborante solo cuando sea otro served-dish-photo auditado en vivo del mismo restaurante con un registro de coincidencia exacta del mismo plato.
  10. Registrar un plan de transformación por plato y los ajustes de apetito permitidos.
  11. Registrar el inicio, finalización y duración de imagegen.
  12. Decodificar completamente la salida, registrar su ancho y alto reales, y verificar su relación de píxeles con el Sistema de Fotografía.
  13. Pasar las cinco compuertas separadas: fidelidad, consistencia de estilo, optimización del apetito, señales de IA y preparación para el sitio web.
  14. Guardar los artefactos canónicos de fuente real y fuente versus foto diseñada.
  15. Pasar la etapa de demo del Manifiesto antes de copiar la salida a un sitio web.

Si no existe una foto real creíble de un plato, mantén el espacio liderado por texto, usa una imagen no alimenticia separadamente aprobada, elige otro plato fotografiado o solicita una foto del propietario.

Trata una foto del propietario como un candidato de adquisición futuro, no como un elemento visual principal, hasta que tenga un registro de recolección implementado, decodificación de píxeles completa, hoja de candidato canónica y auditoría de candidato equivalente a Apify/Masa. El Manifiesto V3 actualmente solo admite fotos auditadas de Apify Google Maps y Masa como elementos visuales principales.

Prepara la Orden de Trabajo

Crea output/food-image-studio/<restaurant-slug>/ con sources/, prompts/, drafts/, selected/ y review/. Usa:

Usa nombres de archivo ASCII en minúsculas. Nunca pongas tokens de API, claves privadas o secretos de cuenta en estos archivos.

En los comandos, resuelve <food-image-skill> desde el localizador de habilidades disponibles de esta Habilidad.

Recolecta Referencias Reales de Platos

Ejecuta el recolector solo para el restaurante seleccionado:

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>

Para una URL de Maps, también proporciona el ID de lugar conocido de forma independiente; el registro devuelto debe coincidir:

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>

El recolector decodifica completamente los píxeles JPEG, PNG y WebP y rechaza fuentes por debajo de 300 px en el borde corto o 150,000 píxeles totales. Requiere que Apify devuelva el ID de lugar bloqueado y que Masa devuelva el StoreID solicitado en la respuesta o en el contexto del elemento del menú. Nunca trata el identificador solicitado solo como evidencia.

Las importaciones JSON sin conexión son solo material de auditoría reproducible. Conservan su hash de entrada y el nivel offline-audit-only, pero no pueden ser promovidas ni entrar en una Demo.

Registra la Auditoría Independiente de Candidatos

Renderiza la hoja canónica de candidatos no clasificados:

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

Inspecciona cada candidato local con view_image y la hoja conservada. Rechaza capturas de pantalla, menús, marcadores de posición, imágenes de archivo, imágenes sintéticas, comida oscurecida y listados incorrectos. Registra la clasificación como un paso de auditoría automática; no te detengas para la aprobación del usuario:

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>

El registro de auditoría bloquea el ID del candidato, el hash de la fuente sin modificar, el hash del índice de fuentes, el hash de la hoja canónica de candidatos, el revisor, la marca de tiempo, la clasificación y los hallazgos visuales. Registra los candidatos que no son comida bajo su clasificación real y no los promociones. Un registro posterior de changes-requested bloquea inmediatamente la promoción y la validación de la Demo.

Evalúa la Instantánea Antes de Elegir un Modo

Registra la vista de la cámara de la fuente como overhead, near-overhead, three-quarter, low-angle, straight-on o unknown. Luego registra:

  • fit: la fuente ya coincide con el Sistema de Fotografía; permite constrained-edit.
  • restage-required: el plato es factual pero el ángulo o la composición no están orientados al cliente; requiere reference-restage.
  • unusable: la comida está demasiado oscurecida o es incierta; bloquea la generación.

No llames fit a una instantánea desde arriba cuando el sistema bloqueado orientado al cliente es de tres cuartos de mesa. El fallo de Sake Sushi es el antipatrón canónico: una fuente real desde arriba no puede pasar simplemente porque una edición mantenga la misma composición desde arriba.

El validador aplica la compatibilidad de la familia de cámara. Las fuentes overhead y near-overhead no pueden marcarse como fit para three-quarter-tabletop, low-tabletop o straight-on; las vistas incompatibles deben ser restage-required, establecer angle_change_required: true y usar reference-restage.

Promociona un candidato por salida propuesta:

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

Usa --masa-store-id en lugar de --google-place-id para Masa.

La promoción solo acepta un recorded / audit-record actual clasificado como served-dish-photo de una colección live-verified. Copia la procedencia original completa y los metadatos de la fuente en el Manifiesto. Los archivos de índice de fuentes y revisión de candidatos permanecen vinculados por hash y se revalidan en cada etapa posterior.

Trata live-verified como evidencia atestiguada por el flujo de trabajo, no una firma criptográfica de Apify o Masa. Alguien con acceso de escritura a la orden de trabajo puede editar el JSON local y recalcular los hashes locales. Cuando se dispute la procedencia o antes de un lanzamiento público que dependa de ese activo, vuelve a ejecutar la recolección del proveedor en vivo, compara la identidad del restaurante devuelta y el hash de la imagen, o reemplázalo con un activo del propietario aprobado que haya pasado una futura auditoría de ingesta del propietario. Nunca describas la cadena local como a prueba de manipulaciones.

Bloquea un Sistema de Fotografía Diseñado

Completa tanto la photography_system estructurada como style-lock.md antes de la generación. Bloquea una familia de cámara principal para el conjunto del restaurante, normalmente un sistema three-quarter-tabletop repetible alrededor de 35–45 grados para fotografía de comida casual orientada al cliente. Registra una tolerancia de ángulo no mayor a 15 grados.

Bloquea todas estas variables:

  • ángulo objetivo, altura de la cámara, sensación del lente y escala del sujeto;
  • relación de aspecto, recorte y espacio negativo del sitio web;
  • superficie, familia de fondo y restricción de accesorios;
  • dirección de la luz, calidad de la luz y carácter de la sombra;
  • exposición, balance de blancos, saturación y contraste;
  • tratamiento del apetito e imperfecciones reales aceptables;
  • las señales naturales requeridas para evitar un aspecto renderizado por IA.

Usa una familia de cámara principal en todo el conjunto. No alternes casualmente entre imágenes desde arriba, de frente y de tres cuartos.

Planifica la Optimización del Apetito Veraz

Registra los ajustes específicos del plato antes de las indicaciones. Permite solo mejoras respaldadas por la fuente:

  • aumentar modestamente la exposición y corregir el balance de blancos;
  • hacer que el pan o la corteza existentes sean naturalmente más cálidos y dorados;
  • aclarar un sellado existente, borde crujiente, color de verdura o brillo de salsa;
  • limpiar detalles de fondo distractores y mejorar la colocación del plato;
  • preservar la variación de servicio ordinaria, cortes desiguales y asimetría de la fuente.

No inventes dorado, marcas de parrilla, guarnición, ingredientes, salsa, vapor, porción, recipiente o emplatado de lujo. "Más apetitoso" es un objetivo de presentación, no permiso para rediseñar la comida.

Registra el Artefacto de Fuente Automáticamente

Requiere que el Sistema de Fotografía estructurado, el Bloqueo de Estilo y cada plan de transformación estén completos antes de crear la hoja de fuente:

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

Luego crea y conserva la hoja de fuente canónica y regístrala sin pausarte:

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>

No te detengas después de renderizar la hoja. Registra cada fuente elegible automáticamente, reemplaza todos los marcadores TODO de las indicaciones, ejecuta validate_manifest.py --stage generate y continúa directamente a imagegen cuando la validación pase.

Genera la Foto Diseñada

Usa $imagegen. Proporciona el elemento visual principal en cada llamada y agrega vistas corroborantes reales cuando el riesgo de detalles ocultos lo requiera. En cada indicación:

Para cada ID corroborante, registra source_assessment.supporting_source_matches.<source-id> con status: exact y notas específicas del mismo plato. Incluye solo esas vistas reales auditadas después del elemento visual principal en output.input_source_ids; los documentos del menú, fotos del lugar, imágenes de archivo e imágenes sintéticas no pueden satisfacer el riesgo de detalles ocultos.

  1. Nombra el ID de la fuente y constrained-edit o reference-restage.
  2. Nombra la familia de cámara objetivo y el ángulo objetivo explícitamente.
  3. Trata la fuente real como verdad del plato y el Sistema de Fotografía como verdad de presentación.
  4. Repite los hechos verificados de la comida, cantidades, porción, guarniciones, salsa, punto de cocción y recipiente.
  5. Describe solo la composición planificada y las mejoras de apetito.
  6. Preserva las irregularidades reales y la presentación ordinaria de un restaurante independiente.
  7. Prohíbe el brillo plástico, textura cerosa, geometría repetida, simetría perfecta, bordes deformados, efectos falsos, texto y logotipos.
  8. Haz una sola imagen por fuente. Cada fuente real produce exactamente una imagen diseñada.

...

[truncado para traducción]

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.

Skills relacionados