Communitygithub.com

LucasH1225/restaurant-website-skills

Colete, reorganize, harmonize e verifique fotografias de alimentos com evidências para demos de sites de restaurantes independentes.

O que é restaurant-website-skills?

Esta skill capacita agentes de IA (como Codex) a transformar fotos de pratos de restaurantes reais, muitas vezes amadoras e inconsistentes, em um conjunto coeso e profissional de imagens para sites de demonstração. Ela estabelece um fluxo de trabalho rigoroso: primeiro, coleta fotos autênticas de fontes como Apify Google Maps e Masa, registrando a proveniência e garantindo que cada imagem seja de um prato servido, real. Em seguida, audita essas imagens para verificar a identidade do restaurante, a visibilidade do prato e o ângulo da foto. Depois, um 'Sistema de Fotografia' unificado é definido (ângulo, composição, iluminação, cor) para garantir consistência visual. A skill então gera uma nova imagem editada ou recriada a partir da foto real, respeitando o Sistema de Fotografia e as regras do 'Manifesto V3', que proíbe a geração de comida 'apenas com prompt' sem uma base real. Finalmente, a saída gerada é verificada contra cinco critérios (fidelidade, consistência de estilo, otimização do apetite, ausência de artefatos de IA e prontidão para o site) e todo o processo é documentado com evidências de entrada e saída para auditabilidade.

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

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Estúdio de Imagens de Alimentos para Restaurantes

Transforme fotos variadas de restaurantes reais em um conjunto coeso e pequeno de fotografias para o site. Use a foto real como autoridade factual para o prato. Use o Sistema de Fotografia do restaurante como autoridade para ângulo de câmera, composição, luz, fundo, cor, corte e apresentação voltada para o cliente.

Não preserve um ângulo fraco da fonte apenas porque é real. Quando uma foto de cima, desordenada ou inconsistente não se encaixa no sistema do site, use reference-restage para apresentar o mesmo prato a partir da câmera voltada para o cliente bloqueada. Nunca deixe que a reencenação mude os fatos do prato.

Leia references/food-image-playbook.md antes de coletar, planejar, gerar ou revisar. Copie as estruturas do Manifesto V3 e do Bloqueio de Estilo agrupadas em vez de inventar uma ordem de serviço.

Escolha o Modo

  • Coletar: Recupere candidatos reais de um restaurante e salve a proveniência.
  • Auditar: Verifique a identidade do restaurante, visibilidade do prato, ângulo da fonte e risco de reencenação. Não gere.
  • Criar: Bloqueie um Sistema de Fotografia, direcione cada fonte, gere uma foto projetada por fonte real e retenha o tempo.
  • Reparar: Regere a partir da fonte real e do Sistema de Fotografia bloqueado após diagnosticar uma verificação com falha.
  • Revisar: Retenha o artefato canônico de fonte/saída e todas as cinco decisões de QA automaticamente.

Deixe $restaurant-demo-builder estabelecer a evidência de negócio, público, layout do site e slots de imagem para uma Demonstração completa. Use esta Skill para o sistema de fotografia de alimentos e ativos.

Mantenha a Revisão de Evidências Não Bloqueante

Trate as fichas canônicas de candidato, fonte e fonte versus saída como registros de evidência automáticos, não solicitações de aprovação. Uma vez que uma ficha de fonte canônica exista, registre cada fonte elegível com status: recorded, reviewer: workflow, valide o estágio generate e continue para a geração de imagem sem esperar pelo usuário. Após a QA de saída, registre a comparação canônica da mesma forma e continue para a verificação da Demonstração privada.

Pare apenas quando a evidência ou validação falhar, existir um registro changes-requested atual, a fonte não puder suportar verdadeiramente a imagem proposta, ou o usuário explicitamente pedir que a execução atual pause. A inspeção humana permanece disponível posteriormente e pode criar changes-requested; nunca é um pré-requisito para a geração. Mantenha a confirmação factual do proprietário e os direitos de publicação como verificações separadas de lançamento.

Execute o Contrato do Manifesto V3

Exija que cada imagem de alimento da Demonstração satisfaça todas estas regras:

  1. Vincule exatamente um served-dish-photo visual primário único do mesmo restaurante.
  2. Salve a fonte intocada localmente com identidade da plataforma, URL original e SHA-256.
  3. Forneça essa fonte real para imagegen. Nunca use geração de alimentos apenas por prompt.
  4. Registre source_assessment.camera_view, adequação para o cliente e risco de detalhes ocultos.
  5. Complete um photography_system no nível do restaurante antes da geração.
  6. Use constrained-edit apenas quando a fonte já se encaixa nesse sistema.
  7. Use reference-restage quando a câmera, composição ou apresentação voltada para o cliente devem mudar.
  8. Bloqueie reencenações que mudam o ângulo com alto risco de detalhes ocultos até que outra vista real esteja disponível.
  9. Aceite uma vista corroborante apenas quando for outra served-dish-photo auditada ao vivo do mesmo restaurante com um registro de correspondência exata do mesmo prato.
  10. Registre um plano de transformação por prato e ajustes de apetite permitidos.
  11. Registre o início, conclusão e duração do imagegen.
  12. Decodifique completamente a saída, registre sua largura e altura reais e verifique sua proporção de pixels em relação ao Sistema de Fotografia.
  13. Passe pelas cinco verificações separadas: fidelidade, consistência de estilo, otimização do apetite, artefatos de IA e prontidão para o site.
  14. Salve os artefatos canônicos de fonte real e fonte versus foto projetada.
  15. Passe pelo estágio demo do Manifesto antes de copiar a saída para um site.

Se nenhuma foto de prato real crível existir, mantenha o slot liderado por texto, use uma imagem não alimentar separadamente aprovada, escolha outro prato fotografado ou solicite uma foto do proprietário.

Trate uma foto do proprietário como um candidato de aquisição futuro, não um primário visual, até que tenha um registro de coleta implementado, decodificação de pixel completa, ficha de candidato canônica e auditoria de candidato equivalente ao Apify/Masa. O Manifesto V3 atualmente admite apenas fotos auditadas do Apify Google Maps e do Masa como primários visuais.

Prepare a Ordem de Serviço

Crie output/food-image-studio/<restaurant-slug>/ com sources/, prompts/, drafts/, selected/ e review/. Use:

Use nomes de arquivo ASCII em minúsculas. Nunca coloque tokens de API, chaves privadas ou segredos de conta nesses arquivos.

Em comandos, resolva <food-image-skill> a partir do localizador de skill disponível desta Skill.

Colete Referências de Pratos Reais

Execute o coletor apenas para o restaurante selecionado:

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 uma URL do Maps, forneça também o Place ID conhecido independentemente; o registro retornado deve corresponder a ele:

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>

O coletor decodifica completamente pixels de JPEG, PNG e WebP e rejeita fontes abaixo de 300 px de borda curta ou 150.000 pixels totais. Ele exige que o Apify retorne o Place ID bloqueado e o Masa retorne o StoreID solicitado na resposta ou no contexto do item do menu. Nunca trata o identificador solicitado sozinho como evidência.

Importações JSON offline são apenas material de auditoria reproduzível. Elas retêm seu hash de entrada e nível offline-audit-only, mas não podem ser promovidas ou entrar em uma Demonstração.

Registre a Auditoria Independente de Candidatos

Renderize a ficha canônica de candidatos não classificados:

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

Inspecione cada candidato local com view_image e a ficha retida. Rejeite capturas de tela, menus, placeholders, imagens de banco, imagens sintéticas, alimentos obscurecidos e listagens erradas. Registre a classificação como uma etapa de auditoria automática; não pause para aprovação do usuário:

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>

O registro de auditoria bloqueia o ID do candidato, hash da fonte intocada, hash do índice de fontes, hash da ficha canônica de candidatos, revisor, timestamp, classificação e descobertas visuais. Registre candidatos não alimentares sob sua classificação real e não os promova. Um registro changes-requested posterior bloqueia imediatamente a promoção e a validação da Demonstração.

Avalie a Foto Antes de Escolher um Modo

Registre a vista da câmera da fonte como overhead, near-overhead, three-quarter, low-angle, straight-on ou unknown. Em seguida, registre:

  • fit: a fonte já corresponde ao Sistema de Fotografia; permita constrained-edit.
  • restage-required: o prato é factual, mas o ângulo ou composição não é voltado para o cliente; exija reference-restage.
  • unusable: a comida está muito obscurecida ou incerta; bloqueie a geração.

Não chame uma foto de cima de fit quando o sistema voltado para o cliente bloqueado é de mesa a três quartos. O erro do Sake Sushi é o antipadrão canônico: uma fonte real de cima não pode passar apenas porque uma edição mantém a mesma composição de cima.

O validador aplica a compatibilidade da família de câmeras. Fontes overhead e near-overhead não podem ser marcadas como fit para three-quarter-tabletop, low-tabletop ou straight-on; vistas incompatíveis devem ser restage-required, definir angle_change_required: true e usar reference-restage.

Promova um candidato por saída proposta:

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

Use --masa-store-id em vez de --google-place-id para o Masa.

A promoção aceita apenas um recorded / audit-record atual classificado como served-dish-photo de uma coleção live-verified. Ela copia a proveniência original completa e os metadados da fonte para o Manifesto. Os arquivos de índice de fontes e revisão de candidatos permanecem vinculados ao hash e são revalidados em todos os estágios posteriores.

Trate live-verified como evidência atestada pelo fluxo de trabalho, não uma assinatura criptográfica do Apify ou Masa. Alguém com acesso de escrita à ordem de serviço pode editar JSON local e recalcular hashes locais. Quando a proveniência for disputada ou antes de um lançamento público depender desse ativo, reexecute a coleta do provedor ao vivo, compare a identidade do restaurante retornada e o hash da imagem, ou substitua-o por um ativo do proprietário aprovado que tenha passado por uma auditoria futura de ingestão do proprietário. Nunca descreva a cadeia local como à prova de adulteração.

Bloqueie um Sistema de Fotografia Projetado

Complete tanto o photography_system estruturado quanto o style-lock.md antes da geração. Bloqueie uma família de câmera primária para o conjunto do restaurante, normalmente um sistema three-quarter-tabletop repetível em torno de 35–45 graus para fotografia de alimentos casual e voltada para o cliente. Registre uma tolerância de ângulo não superior a 15 graus.

Bloqueie todas estas variáveis:

  • ângulo alvo, altura da câmera, sensação da lente e escala do assunto;
  • proporção de aspecto, corte e espaço negativo do site;
  • superfície, família de fundo e restrição de adereços;
  • direção da luz, qualidade da luz e caráter da sombra;
  • exposição, balanço de branco, saturação e contraste;
  • tratamento do apetite e imperfeições reais aceitáveis;
  • as pistas naturais necessárias para evitar uma aparência renderizada por IA.

Use uma família de câmera primária em todo o conjunto. Não alterne casualmente entre imagens de cima, de frente e a três quartos.

Planeje a Otimização Verdadeira do Apetite

Registre ajustes específicos do prato antes de gerar o prompt. Permita apenas melhorias suportadas pela fonte:

  • aumentar modestamente a exposição e corrigir o balanço de branco;
  • tornar o pão ou crosta existente naturalmente mais quente e dourado;
  • clarear um selamento existente, borda crocante, cor de vegetal ou brilho de molho;
  • limpar detalhes de fundo distrativos e melhorar a colocação do prato;
  • preservar variação de serviço ordinária, cortes irregulares e assimetria da fonte.

Não invente douramento, marcas de grelha, guarnição, ingredientes, molho, vapor, porção, recipiente ou apresentação luxuosa. "Mais apetitoso" é uma meta de apresentação, não permissão para redesenhar a comida.

Registre o Artefato de Fonte Automaticamente

Exija que o Sistema de Fotografia estruturado, o Bloqueio de Estilo e cada plano de transformação estejam completos antes de criar a ficha de fonte:

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

Em seguida, crie e retenha a ficha de fonte canônica e registre-a sem pausar:

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>

Não pause após renderizar a ficha. Registre cada fonte elegível automaticamente, substitua todos os marcadores TODO do prompt, exija validate_manifest.py --stage generate e prossiga diretamente para a geração de imagem quando a validação passar.

Gere a Foto Projetada

Use $imagegen. Forneça o primário visual em cada chamada e adicione vistas corroborantes reais quando o risco de detalhes ocultos as exigir. Em cada prompt:

Para cada ID corroborante, registre source_assessment.supporting_source_matches.<source-id> com status: exact e notas específicas do mesmo prato. Inclua apenas essas vistas reais auditadas após o primário visual em output.input_source_ids; documentos de menu, fotos do local, imagens de banco e imagens sintéticas não podem satisfazer o risco de detalhes ocultos.

  1. Nomeie o ID da fonte e constrained-edit ou reference-restage.
  2. Nomeie a família de câmera alvo e o ângulo alvo explicitamente.
  3. Trate a fonte real como verdade do prato e o Sistema de Fotografia como verdade da apresentação.
  4. Repita fatos alimentares verificados, contagens, porção, acompanhamentos, molho, ponto de cozimento e recipiente.
  5. Descreva apenas a composição planejada e as melhorias de apetite.
  6. Preserve irregularidades reais e apresentação ordinária de restaurante independente.
  7. Proíba brilho plástico, textura cerosa, geometria repetida, simetria perfeita, bordas malformadas, efeitos falsos, texto e logotipos.
  8. Faça um...

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.

Habilidades Relacionadas