CommunityImagemgithub.com

ssjsjdjj/visual-detail-image-processor

Habilidade para processar templates de páginas de detalhes de e-commerce, gerando imagens longas editáveis independentes a partir de um modelo PSD/PSB, preservando objetos inteligentes incorporados substituíveis e texto e tabelas editáveis. Exporta módulos JPG de 790px conforme necessário.

O que é visual-detail-image-processor?

Esta skill automatiza a criação de imagens longas de páginas de detalhes de produtos de e-commerce a partir de arquivos PSD/PSB. Seu principal objetivo é gerar, para cada modelo de produto, uma imagem longa editável que mantenha objetos inteligentes incorporados (como imagens de produtos e modelos) e camadas de texto/tabela totalmente editáveis no Photoshop. A ferramenta suporta tanto a entrega de arquivos PSB completos quanto a exportação seletiva de módulos JPG de 790px de largura. Ela é útil para equipes de e-commerce que precisam produzir em escala, garantindo consistência visual e editabilidade pós-entrega para designers. A skill lê dados estruturados de produtos (JSON) e imagens de referência (como informações do produto, grade de tamanhos, etc.), aplica regras de fonte e substitui automaticamente o conteúdo variável (texto, imagens, tabelas) no template mestre. Também oferece um fluxo alternativo para gerar arquivos PSD camada por camada para ajustes finos no Photoshop. A skill depende de scripts Python e JSX, executados via Photoshop, e inclui etapas de verificação de qualidade, como validação de dimensões (790px), inspeção visual de artefatos (bordas brancas, linhas verdes residuais) e seleção inteligente de recorte de imagens de modelo com base em coordenadas de IA. Ela gerencia referências a regras de negócio e assets internos através de arquivos de documentação Markdown, garantindo que todas as decisões de design sejam rastreáveis e consistentes.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/ssjsjdjj/codex-image-skills/tree/HEAD/kkc/skills/visual-detail-image-processor

Installed? Explore more Imagem skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

Perguntar na sua IA favorita

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

Documentação

Geração de Template de Página de Detalhes Visual

Entrega Padrão: Imagem Longa Editável por Modelo

  • A montagem da página de detalhes usa por padrão as regras para PSD de imagem longa editável. Para cada modelo dentro do escopo de entrada, é gerada uma imagem longa independente com o conteúdo do respectivo modelo substituído, organizada por modelo.
  • O layout padrão atual usa temporariamente xiaoshanxingfenggandongku-zhong.psb (790 × 40000 px), entregando o PSB com a tela completa preservada. É possível especificar explicitamente um modelo antigo na tarefa. Código do produto, material, faixa de tamanhos e tabelas seguem as regras de fonte caractere por caractere originais.
  • Imagens de produto e imagens de modelo/cena usam objetos inteligentes incorporados substituíveis separadamente. Texto do produto, nomes de cores e células de tabela usam camadas de texto nativas do Photoshop. O novo modelo mestre ajusta a grade das seções S3 (seleção de tamanho), S4 (seleção rápida de tamanho) e S5 (relatório de prova) de acordo com o número real de linhas e colunas, preservando os títulos, esquema de cores, posição dos módulos e design fixo do modelo mestre.
  • Quando o usuário solicitar explicitamente módulos JPG, use o fluxo JPG abaixo. Quando o usuário solicitar JPG simultaneamente, exporte conforme necessário.

Montagem por Modelo

  1. Levante todos os modelos no diretório raiz de entrada, verifique o modelo PSD/PSB e as camadas reais. Distinga entre design fixo e conteúdo que varia por modelo.
  2. Para cada modelo, prepare um JSON de tarefa e um caminho de saída independente. Vincule o texto do produto, tabela de tamanhos, seleção rápida de tamanhos, relatório de prova existente, imagens do produto, imagens de modelo/cena e outros módulos que variam por modelo. O JSON do produto existente pode ser reutilizado como fonte de dados.
  3. Use scripts/build_editable_long_psd.py para gerar o JSX por modelo e, em seguida, execute-o no Photoshop. Quando um slot do modelo mestre não puder ser correspondido ou faltar material para o respectivo modelo, liste o código do modelo, o módulo e os itens ausentes. Conteúdo dinâmico de modelos antigos, JPG mesclado ou cópias incompletas do modelo mestre não podem ser entregues como produto final para aquele modelo.
  4. Reabra cada PSD de saída, verifique o código do modelo, conteúdo visível, editabilidade do texto e da tabela, e certifique-se de que as imagens do produto e da cena possam ser abertas separadamente como objetos inteligentes sem depender de links externos. Liste o caminho do produto final de cada modelo e os itens incompletos.

Preparação do Ambiente

Antes do primeiro uso, inicialize o ambiente Python no diretório scripts/ da skill:

cd scripts
uv sync

Se o uv não estiver instalado, execute primeiro:

  • macOS/Linux: curl -LsSf https://astral.sh/uv/install.sh | sh
  • Windows: powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

Após a inicialização, certifique-se de usar o Python do .venv para executar os scripts de ferramentas.

Estrutura de Entrada

A estrutura de materiais do produto geralmente é:

<raiz-entrada>/
  <pasta-produto>/
    product_data.json
    informacoes_produto.jpg|png
    selecao_tamanho.png|jpg|jpeg
    selecao_rapida_tamanho.png|jpg|jpeg
    imagens_transparentes/
      <nome-cor>.png
    imagens_modelo/
      1.jpg
      2.jpg
      3.jpg

O diretório de template embutido é:

template/

A estrutura do template geralmente é:

template/
  01informacoes_produto.jpg
  02imagem_transparente.jpg
  03selecao_tamanho.jpg
  04tamanho_recomendado.jpg
  05selecao_rapida_tamanho.jpg
  imagem_modelo1.jpg
  imagem_modelo2.jpg
  imagem_modelo2_sobreposicao.png
  imagem_modelo3.jpg

Fluxo de Execução

  1. Primeiro, confirme o diretório raiz de entrada e o diretório raiz de saída; por padrão, use template/ e assets/ embutidos na skill.
  2. Se o produto ainda não tiver dados estruturados, use a própria capacidade de reconhecimento de imagem do GPT para ler as três imagens informacoes_produto, selecao_tamanho e selecao_rapida_tamanho, combine-as para gerar um JSON do produto e salve-o em scripts/output/product_data/<nome-pasta-produto>-product_data-<timestamp>.json.
  3. Leia as regras de conversão de imagem/tabela para dados, valide o JSON do produto, escreva conteúdo incerto em warnings e não invente.
  4. Antes de executar o script de renderização, verifique se existem materiais de imagem de modelo para o produto; se existirem imagens de modelo legíveis, use obrigatoriamente a seleção estética por IA para selecionar imagens/recortes, produza as coordenadas dos pixels da imagem fonte para cada imagem de modelo disponível e salve em scripts/output/visual_model_selection/visual_model_selection-<timestamp>.json.
  5. Execute o script de processamento em lote genérico; não permita codificar nomes de produtos ou dados de produtos; se um JSON de coordenadas de IA foi gerado nesta rodada, passe-o explicitamente com --visual-model-selection "<caminho-json-coordenadas>", e não dependa de fallback automático ou espera automática do script.
  6. Gere uma subpasta de saída separada para cada produto, mantendo o nome original da pasta do produto.
  7. As imagens finais só devem ser geradas em --output-root/<nome-pasta-produto>/; o relatório de processamento em lote é gerado uniformemente em scripts/output/report/render_report-<timestamp>.json.
  8. Se o usuário solicitar "arquivos em camadas", "PSD", "ajuste secundário no Photoshop" ou entrega para revisão do designer, use scripts/create_layered_psd_package.py; ele gera simultaneamente a lista de JPGs, PSDs e o script de montagem JSX do Photoshop.
  9. Após a saída, faça uma verificação visual e de dimensões, especialmente verificando bordas brancas, linhas verdes residuais, fantasmas de tabelas, texto desalinhado, variação de tamanho em imagens transparentes e corte de imagens de modelo.
  10. Leia o relatório para confirmar que todas as imagens de modelo com coordenadas têm mode igual a visual_model_selection; se houver fallback para cover_crop, explique item por item se foi por coordenada ausente, coordenada inválida, arquivo fonte inexistente ou incapacidade do ambiente atual de fazer julgamento visual confiável.

Fluxo de Arquivos Camada do Photoshop

Quando o usuário precisar de arquivos ajustáveis secundariamente pelo designer, use o fluxo de camadas do Photoshop:

cd scripts
uv run python create_layered_psd_package.py `
  --input-root "<raiz-entrada>" `
  --output-root "<raiz-saida>"

O script gera em <raiz-saida>/_photoshop_layered/:

layered_psd_manifest.json
build_layered_psd.jsx

Em seguida, chame o Photoshop para gerar os PSDs:

powershell -ExecutionPolicy Bypass -File run_photoshop_jsx.ps1 `
  -JsxPath "<raiz-saida>/_photoshop_layered/build_layered_psd.jsx"

Os PSDs são gerados em:

<raiz-saida>/<nome-pasta-produto>/_psd/

Convenção de camadas:

  • Fundo do template é separado como 00 Fundo do Template.
  • Conteúdo de substituição dinâmica é organizado em camadas ligáveis/desligáveis, como imagem transparente do produto, foto de modelo, camadas de tabela, cor de fundo da área de dados.
  • Cada PSD contém por padrão uma camada oculta 99 Referência de Produto Final (Oculta) para o designer verificar.
  • Tabelas e texto misto complexo são mantidos como camadas de pixel para consistência visual; informações do produto e nomes de cores são, na medida do possível, gerados como camadas de texto do Photoshop para ajustes finos secundários.
  • Se desejar apenas reconstruir o PSD a partir de JPGs/materiais existentes sem re-renderizar os JPGs, adicione --skip-jpg-render.

Regras de Leitura Obrigatória

Leia as referências correspondentes de acordo com a tarefa:

Scripts Atuais

scripts/detail_template_replacer_2000.py
scripts/main.py
scripts/create_layered_psd_package.py
scripts/run_photoshop_jsx.ps1
scripts/create_product_data_template.py
scripts/validate_product_data.py

Execução

Exemplo de comando:

cd scripts
uv run python main.py `
  --input-root "<raiz-entrada>" `
  --output-root "<raiz-saida>"

Se houver materiais de imagem de modelo nesta rodada, gere primeiro visual_model_selection-<timestamp>.json e, em seguida, passe explicitamente o arquivo de coordenadas:

cd scripts
uv run python main.py `
  --input-root "<raiz-entrada>" `
  --output-root "<raiz-saida>" `
  --visual-model-selection "output/visual_model_selection/visual_model_selection-<timestamp>.json"

Se usar um diretório de dados externo ou diretório de template externo:

cd scripts
uv run python main.py `
  --input-root "<raiz-entrada>" `
  --output-root "<raiz-saida>" `
  --data-dir "<diretorio-dados>" `
  --template-dir "<diretorio-template-personalizado>" `
  --visual-model-selection "<visual_model_selection-json>"

Padrões de Aceitação

  • Cada pasta de produto de entrada deve ser processada ou ter o motivo do não processamento reportado.
  • Todas as imagens de saída devem ter largura de 790px.
  • Texto fixo do template, fundo, blocos verdes, logotipo, linhas decorativas e camadas de sobreposição não podem ser danificados por desenho dinâmico.
  • Os dados do produto devem vir de product_data.json ou de um arquivo estruturado equivalente, não podem ser codificados em Python.
  • Valores vazios devem ser deixados vazios, sem preenchimento de valores padrão e sem inferência.
  • Não podem aparecer bordas brancas, linhas verdes residuais, fantasmas de tabelas, linhas verticais brancas em cabeçalhos verdes.
  • O tamanho e a espessura da fonte devem ser consistentes para o mesmo tipo de texto; números mistos não podem pular para cima e para baixo.
  • O tamanho visual das imagens transparentes na mesma página deve ser consistente; os nomes das cores devem estar próximos ao produto e na mesma linha de base.
  • O corpo principal da imagem do modelo não pode ser deformado; a prioridade é garantir a integridade da cabeça e do corpo.
  • O processamento em lote que contém materiais de imagem de modelo deve primeiro gerar o JSON de coordenadas de IA e depois executar o script; no relatório, a imagem de modelo correspondente deve exibir visual_model_selection, a menos que o motivo da impossibilidade de usar coordenadas de IA tenha sido explicitamente explicado.

Individual skills in this repo

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

Habilidades Relacionadas