CommunityImagegithub.com

ssjsjdjj/visual-detail-image-processor

Compétence de mise en page pour pages de détails e-commerce, générant des longues images modifiables par produit à partir de maîtres PSD/PSB, avec des objets dynamiques intégrés remplaçables, du texte éitable et des tableaux. Exporte des modules JPG 790px à la demande.

Qu'est-ce que visual-detail-image-processor ?

Cette compétence d'agent AI est conçue pour automatiser la production de visuels e-commerce (pages de détails de produits) en générant des images longues modifiables pour chaque produit à partir de modèles PSD/PSB. Elle prend en charge les objets dynamiques intégrés remplaçables pour les images de produits et de mannequins, ainsi que les calques de texte Photoshop natifs pour les descriptions, les noms de couleurs et les cellules de tableau. La compétence fonctionne sur les plateformes Claude Code, Cursor, et Codex, en utilisant des scripts Python (avec uv) et Photoshop via JSX. Elle gère la génération de fichiers PSD en couches pour une révision ultérieure par les designers, l'extraction de données à partir d'images de tableaux, la sélection esthétique de cadres de mannequins par IA, et l'exportation au format JPG 790px. L'utilisateur fournit un dossier racine d'entrée contenant les dossiers de produits, chacun avec les assets requis (images, JSON de données produit). La compétence génère ensuite un rapport de rendu et vérifie la qualité visuelle (absence de bord blanc, résidus verts, etc.).

Compatible avec~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 Image skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Génération de Modèle de Page de Détail Visuelle

Livraison par Défaut : Image Longue Modifiable par Produit

  • La mise en page des pages de détail utilise par défaut les Règles pour images longues modifiables PSD. Chaque produit dans le champ d'entrée génère une image longue indépendante avec son contenu remplacé, archivée par produit.
  • La mise en page par défaut utilise actuellement 小山行风感洞洞裤-终.psb (790 × 40000 px), livrée en PSB lorsque la toile complète est conservée. Un ancien maître peut être spécifié explicitement dans la tâche. Les règles de police caractère par caractère sont conservées pour les codes article, matières, grilles de tailles et tableaux.
  • Les images de produits et les images de mannequins/scènes utilisent des objets dynamiques intégrés remplaçables séparément. Les descriptions de produits, noms de couleurs et cellules de tableau utilisent des calques de texte Photoshop natifs. Les nouvelles maquettes S3 (sélection de taille), S4 (sélection rapide de taille) et S5 (rapport d'essayage) ajustent la grille en fonction du nombre réel de lignes et de colonnes, tout en conservant les titres, les couleurs, les positions des modules et la conception fixe de la maquette.
  • Lorsque l'utilisateur demande explicitement des modules JPG, utilisez le flux JPG ci-dessous. Si l'utilisateur demande également du JPG, exportez-le selon les besoins.

Mise en Page par Produit

  1. Inventoriez tous les produits dans le répertoire racine d'entrée, vérifiez la maquette PSD/PSB et les calques réels. Distinguez la conception fixe du contenu remplaçable par produit.
  2. Préparez un fichier JSON de tâche et un chemin de sortie indépendant pour chaque produit. Liez les descriptions de produits, les tableaux de tailles, la sélection rapide de tailles, les rapports d'essayage existants, les images de produits, les images de mannequins/scènes et les autres modules variant par produit. Le JSON de produit existant peut être réutilisé comme source de données.
  3. Utilisez scripts/build_editable_long_psd.py pour générer un JSX par produit, puis exécutez-le via Photoshop. Si un emplacement de maquette ne peut pas être mis en correspondance ou si les assets d'un produit sont manquants, listez le code du produit, le module et l'élément manquant. Les contenus dynamiques d'anciens modèles, les JPG fusionnés ou les copies de maquettes incomplètes ne doivent pas être livrés comme produits finis pour ce produit.
  4. Rouvrez chaque PSD de sortie, vérifiez le code produit, le contenu visible, l'éditabilité du texte et des tableaux, et assurez-vous que les images de produits et de scènes peuvent ouvrir le contenu des objets dynamiques individuellement sans dépendre de liens externes. Listez les chemins des produits finis et les éléments non terminés pour chaque produit.

Préparation de l'Environnement

Avant la première utilisation, initialisez l'environnement Python dans le répertoire scripts/ de la compétence :

cd scripts
uv sync

Si uv n'est pas installé, exécutez d'abord :

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

Après l'initialisation, assurez-vous d'utiliser le Python de .venv pour exécuter les scripts d'outils.

Structure d'Entrée

La structure des assets produit est généralement :

<input-root>/
  <product-folder>/
    product_data.json
    产品信息.jpg|png
    选尺码.png|jpg|jpeg
    尺码快选.png|jpg|jpeg
    透明图/
      <color-name>.png
    模特图/
      1.jpg
      2.jpg
      3.jpg

Le répertoire des modèles intégrés est :

template/

La structure des modèles est généralement :

template/
  01产品信息.jpg
  02透明图.jpg
  03选尺码.jpg
  04推荐尺码.jpg
  05尺码快选.jpg
  模特图1.jpg
  模特图2.jpg
  模特图2覆盖.png
  模特图3.jpg

Flux d'Exécution

  1. Confirmez d'abord le répertoire racine d'entrée et le répertoire racine de sortie ; par défaut, utilisez template/ et assets/ intégrés à la compétence.
  2. Si le produit n'a pas encore de données structurées, utilisez d'abord la capacité de reconnaissance d'image de GPT pour lire les trois images 产品信息, 选尺码, 尺码快选, générez un JSON combiné par produit, et enregistrez-le dans scripts/output/product_data/<product-folder-name>-product_data-<timestamp>.json.
  3. Lisez les Règles de conversion image-tableau en données, validez le JSON du produit, écrivez les éléments incertains dans warnings, ne fabriquez pas d'informations.
  4. Avant d'exécuter le script de rendu, vérifiez d'abord si le produit dispose d'assets d'images de mannequins ; dès qu'il existe des images de mannequins lisibles, utilisez d'abord la sélection/cadrage esthétique IA pour chaque image de mannequin utilisable, en sortant les coordonnées des pixels sources de l'image d'origine, et enregistrez-les dans scripts/output/visual_model_selection/visual_model_selection-<timestamp>.json.
  5. Exécutez le script de traitement par lots générique, sans coder en dur les noms de produits ou les données de produit ; si un fichier JSON de coordonnées IA a été généré pour cette session, transmettez-le explicitement avec --visual-model-selection "<path-to-coordinates-json>", sans vous fier à la récupération automatique ou à l'attente automatique des données du script.
  6. Générez un sous-dossier de sortie pour chaque produit, en conservant le nom du dossier de produit d'origine comme nom du sous-dossier.
  7. Les images finales ne sont sorties que dans --output-root/<product-folder-name>/ ; le rapport de traitement par lots est uniformément sorti dans scripts/output/report/render_report-<timestamp>.json.
  8. Si l'utilisateur demande des "fichiers en couches", "PSD", "réglage Photoshop supplémentaire" ou une livraison pour révision par un designer, utilisez plutôt scripts/create_layered_psd_package.py ; il génère simultanément une liste JPG, une liste PSD et un script d'assemblage Photoshop JSX.
  9. Après la sortie, effectuez une vérification visuelle et dimensionnelle, en particulier pour les bordures blanches, les résidus de lignes vertes, les résidus de tableaux, le décalage de texte, les variations de taille des images transparentes et le recadrage des images de mannequins.
  10. Lisez le rapport pour confirmer que le mode de toutes les images de mannequins avec coordonnées est visual_model_selection ; si cover_crop est utilisé comme solution de repli, expliquez chaque cas individuellement si c'est dû à des coordonnées manquantes, des coordonnées invalides, un fichier source inexistant ou l'impossibilité d'effectuer un jugement visuel fiable dans l'environnement actuel.

Flux de Fichiers Photoshop en Couches

Lorsque l'utilisateur a besoin de fichiers modifiables ultérieurement par un designer, utilisez le flux Photoshop en couches :

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

Le script génère dans <output-root>/_photoshop_layered/ :

layered_psd_manifest.json
build_layered_psd.jsx

Appelez ensuite Photoshop pour générer les PSD :

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

Les PSD sont sortis dans :

<output-root>/<product-folder-name>/_psd/

Conventions en couches :

  • L'arrière-plan du modèle est isolé en tant que 00 模板背景 (Arrière-plan du modèle).
  • Le contenu dynamique remplacé est indépendant en tant que calques activables/désactivables, tels que les images transparentes de produit, les photos de mannequins, les calques de tableau, les couleurs de fond des zones de données.
  • Chaque PSD contient par défaut un calque 99 成品参考(隐藏) (Référence du produit fini (masqué)) pour la vérification par le designer.
  • Les tableaux et les textes mélangés complexes sont conservés sous forme de calques de pixels pour maintenir la cohérence visuelle ; les informations produit et les noms de couleurs sont, dans la mesure du possible, générés sous forme de calques de texte Photoshop pour une micro-édition ultérieure.
  • Si vous souhaitez simplement reconstruire un PSD à partir d'images JPG/assets existants sans regénérer les JPG, ajoutez --skip-jpg-render.

Détails Obligatoires

Lisez la référence correspondante en fonction de la tâche :

Scripts Actuels

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

Exécution

Exemple de commande :

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

Si des assets d'images de mannequins existent pour cette session, générez d'abord visual_model_selection-<timestamp>.json, puis transmettez explicitement le fichier de coordonnées :

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

Si vous utilisez un répertoire de données externe ou un répertoire de modèles externe :

cd scripts
uv run python main.py `
  --input-root "<input-root>" `
  --output-root "<output-root>" `
  --data-dir "<data-dir>" `
  --template-dir "<custom-template-dir>" `
  --visual-model-selection "<visual_model_selection-json>"

Critères de Validation

  • Chaque dossier de produit d'entrée doit être traité ou une raison doit être fournie.
  • Toutes les images de sortie doivent avoir une largeur de 790 px.
  • Le texte fixe du modèle, l'arrière-plan, les blocs verts, le logo, les lignes décoratives et les couches de superposition ne doivent pas être altérés par le rendu dynamique.
  • Les données produit doivent provenir de product_data.json ou d'un fichier structuré équivalent, et ne doivent pas être codées en dur dans le code Python.
  • Les valeurs vides restent vides, sans valeurs par défaut ni déduction.
  • Aucune bordure blanche, résidu de ligne verte, résidu de tableau, barre verticale blanche dans les en-têtes verts.
  • La taille de police et l'épaisseur du texte similaire doivent être cohérents ; les chiffres en mélange ne doivent pas sauter verticalement.
  • La taille visuelle des images transparentes sur la même page doit être cohérente ; les noms de couleurs doivent être proches du produit et alignés sur la même ligne de base.
  • Le sujet des images de mannequins ne doit pas être déformé ; la priorité est de garantir l'intégrité de la tête et du corps principal.
  • Les traitements par lots avec des assets d'images de mannequins doivent d'abord produire un fichier JSON de coordonnées IA avant d'exécuter le script ; les images de mannequins correspondantes dans le rapport doivent afficher visual_model_selection, sauf si une raison expliquant l'impossibilité d'utiliser les coordonnées IA est clairement indiquée.

Individual skills in this repo

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

Skills associés