CommunityBildgithub.com

ssjsjdjj/visual-detail-image-processor

Erzeugt pro Produkt eine eigenständige, bearbeitbare Langgrafiken aus PSD/PSB-Mastervorlagen für E-Commerce-Detailseiten. Ersetzt eingebettete Smartobjekte, bearbeitbaren Text und Tabellen und exportiert optional 790px JPG-Module.

Was ist visual-detail-image-processor?

Diese Fähigkeit (Skill) automatisiert die Erstellung von individuellen, bearbeitbaren Langgrafiken für E-Commerce-Produktdetailseiten, basierend auf PSD/PSB-Mastervorlagen. Sie unterstützt die Verarbeitung von mehreren Produktvarianten in einem Durchlauf, indem sie für jede Variante eine separate PSB-Datei mit ausgetauschten Inhalten (Produktbilder, Model-/Szenenfotos, Text und Tabellen) generiert. Der Skill nutzt eingebettete Smartobjekte für austauschbare Bilder und native Photoshop-Textlayer für Texte, sodass die Ergebnisse nachbearbeitet werden können. Er ist primär für die Arbeit mit Adobe Photoshop und Python-Skripten konzipiert. Neben dem Standard-Workflow mit bearbeitbaren Lang-PSDs wird auch ein separater JPG-Export für einzelne Module und ein Workflow für geschichtete PSD-Dateien angeboten, die für Designer zur weiteren Bearbeitung vorgesehen sind. Der Skill beinhaltet umfangreiche Validierungs- und Qualitätssicherungsschritte, wie die Überprüfung von Bildmaßen, Schrifteinheitlichkeit und das Fehlen von Artefakten. Zudem unterstützt er die KI-gestützte Auswahl und Zuschneidung von Model-Fotos, die in einem separaten Schritt vor der eigentlichen Rendering-Phase durchgeführt und als JSON-Datei bereitgestellt wird.

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

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Visuelle Detailseiten-Vorlagengenerierung

Standardmäßige Auslieferung pro Produkt als bearbeitbare Langgrafik

  • Die Detailseiten-Vorlagengenerierung verwendet standardmäßig die Regeln für bearbeitbare Lang-PSDs. Jedes Produkt im Eingabebereich erhält eine eigene Langgrafik, die mit den Inhalten dieses Produkts befüllt wird und nach Produkten archiviert wird.
  • Das aktuelle Standardlayout verwendet vorläufig Bergpass-Hosen-SB.psb (790 × 40000 px). Bei vollständiger Leinwand wird eine PSB ausgeliefert. In der Aufgabe kann explizit eine alte Mastervorlage angegeben werden. Artikelnummer, Material, Größentabelle und Tabellen übernehmen die Schriftregeln zeichengetreu.
  • Produktbilder und Model-/Szenenfotos verwenden separat austauschbare, eingebettete Smartobjekte. Produkttexte, Farbnamen und Tabellenzellen werden als native Photoshop-Textlayer verwendet. In der neuen Mastervorlage werden die Bereiche S3 (Größenauswahl), S4 (Größen-Schnellauswahl) und S5 (Anprobebericht) basierend auf der tatsächlichen Anzahl von Zeilen und Spalten im Raster angepasst, wobei die Titel, Farbgebung, Modulpositionen und das feste Design der Mastervorlage erhalten bleiben.
  • Wenn der Benutzer explizit JPG-Module wünscht, wird der untenstehende JPG-Workflow verwendet. Wenn der Benutzer gleichzeitig JPG anfordert, wird je nach Bedarf ein zusätzlicher Export durchgeführt.

Vorlagengenerierung pro Produkt

  1. Erfassen Sie alle Produkte im Eingabe-Stammverzeichnis, gleichen Sie die PSD/PSB-Mastervorlage und die tatsächlichen Ebenen ab. Unterscheiden Sie zwischen festem Design und pro Produkt wechselnden Inhalten.
  2. Bereiten Sie für jedes Produkt eine Aufgaben-JSON und einen eigenen Ausgabepfad vor. Binden Sie Produkttext, Größentabelle, Größen-Schnellauswahl, vorhandenen Anprobebericht, Produktbild, Model-/Szenenfotos und andere module, die sich pro Produkt ändern, ein. Vorhandene Produkt-JSONs können als Datenquelle wiederverwendet werden.
  3. Verwenden Sie scripts/build_editable_long_psd.py, um pro Produkt ein JSX zu generieren und es dann über Photoshop auszuführen. Wenn ein Steckplatz in der Mastervorlage nicht passt oder Material für dieses Produkt fehlt, listen Sie die Produktnummer, das Modul und die fehlenden Teile auf. Alte dynamische Inhalte, zusammengeführte JPGs oder unvollständige Kopien der Mastervorlage dürfen nicht als fertiges Produkt ausgeliefert werden.
  4. Öffnen Sie jedes ausgegebene PSD erneut, überprüfen Sie die Produktnummer, die sichtbaren Inhalte, die Editierbarkeit von Text und Tabellen, und stellen Sie sicher, dass Produktbild und Szenenbild jeweils den Inhalt des Smartobjekts öffnen können, ohne auf externe Verknüpfungen angewiesen zu sein. Listen Sie den Pfad des fertigen Produkts und nicht abgeschlossene Punkte auf.

Umgebungsvorbereitung

Initialisieren Sie vor der ersten Verwendung die Python-Umgebung im scripts/-Verzeichnis des Skills:

cd scripts
uv sync

Falls uv nicht installiert ist, führen Sie zuerst Folgendes aus:

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

Nach der Initialisierung verwenden Sie unbedingt das Python aus dem .venv, um die Tool-Skripte auszuführen.

Eingabestruktur

Die Produktmaterialstruktur ist normalerweise:

<Eingabe-Stammverzeichnis>/
  <Produktordner>/
    product_data.json
    Produktinformationen.jpg|png
    Größenauswahl.png|jpg|jpeg
    Größen-Schnellauswahl.png|jpg|jpeg
    Transparente-Bilder/
      <Farbname>.png
    Modelbilder/
      1.jpg
      2.jpg
      3.jpg

Das integrierte Vorlagenverzeichnis ist:

template/

Die Vorlagenstruktur ist normalerweise:

template/
  01Produktinformationen.jpg
  02Transparente-Bilder.jpg
  03Größenauswahl.jpg
  04Empfohlene-Größe.jpg
  05Größen-Schnellauswahl.jpg
  Modelbild1.jpg
  Modelbild2.jpg
  Modelbild2-Überlagerung.png
  Modelbild3.jpg

Ausführungsablauf

  1. Bestimmen Sie zunächst das Eingabe-Stammverzeichnis und das Ausgabe-Stammverzeichnis; standardmäßig werden das integrierte template/ und assets/ des Skills verwendet.
  2. Wenn das Produkt noch keine strukturierten Daten hat, verwenden Sie zunächst die Bilderkennungsfähigkeit von GPT, um die drei Bilder Produktinformationen, Größenauswahl und Größen-Schnellauswahl zu lesen, generieren Sie eine JSON pro Produkt und speichern Sie diese unter scripts/output/product_data/<Produktordnername>-product_data-<Zeitstempel>.json.
  3. Lesen Sie die Regeln zur Umwandlung von Bildtabellen in Daten, validieren Sie die Produkt-JSON, schreiben Sie unsichere Inhalte in warnings und erfinden Sie nichts.
  4. Bevor Sie das Rendering-Skript ausführen, prüfen Sie, ob Modelbild-Material für das Produkt vorhanden ist; sofern lesbare Modelbilder existieren, müssen Sie zunächst eine KI-ästhetische Bild-/Bereichsauswahl durchführen, für jedes verwendbare Modelbild die Pixelkoordinaten des Quellbilds ausgeben und unter scripts/output/visual_model_selection/visual_model_selection-<Zeitstempel>.json speichern.
  5. Führen Sie das universelle Batch-Skript aus. Es ist nicht erlaubt, Produktnamen oder Produktdaten fest zu codieren. Wenn in diesem Durchlauf eine KI-Koordinaten-JSON generiert wurde, müssen Sie explizit --visual-model-selection "<Koordinaten-JSON-Pfad>" übergeben. Verlassen Sie sich nicht auf den automatischen Fallback oder das automatische Warten auf Daten des Skripts.
  6. Erstellen Sie für jedes Produkt ein eigenes Ausgabe-Unterverzeichnis. Der Name des Unterverzeichnisses bleibt der ursprüngliche Produktordnername.
  7. Fertige Bilder werden nur in --output-root/<Produktordnername>/ ausgegeben; der Batch-Bericht wird einheitlich unter scripts/output/report/render_report-<Zeitstempel>.json ausgegeben.
  8. Wenn der Benutzer "Ebenendateien", "PSD", "Photoshop-Nachbearbeitung" oder eine Lieferung zur Designer-Überarbeitung wünscht, verwenden Sie stattdessen scripts/create_layered_psd_package.py; dieses erzeugt gleichzeitig JPG, eine PSD-Liste und ein Photoshop-JSX-Assembly-Skript.
  9. Führen Sie nach der Ausgabe eine visuelle und maßliche Überprüfung durch, insbesondere auf weiße Rahmen, grüne Linienreste, Tabellen-Geisterbilder, Textverschiebungen, Größenveränderungen bei transparenten Bildern und Beschnitte von Modelbildern.
  10. Lesen Sie den Bericht und bestätigen Sie, dass alle Modelbilder mit Koordinaten den mode visual_model_selection haben; bei einem Fallback auf cover_crop müssen Sie für jeden Fall einzeln angeben, ob es sich um fehlende Koordinaten, ungültige Koordinaten, nicht vorhandene Quelldateien oder eine Umgebung handelt, die eine zuverlässige visuelle Beurteilung nicht zulässt.

Photoshop-Ebenen-Datei-Workflow

Wenn der Benutzer Dateien benötigt, die vom Designer nachbearbeitet werden können, verwenden Sie den Photoshop-Ebenen-Workflow:

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

Das Skript generiert unter <Ausgabe-Stammverzeichnis>/_photoshop_layered/:

layered_psd_manifest.json
build_layered_psd.jsx

Rufen Sie dann Photoshop auf, um das PSD zu generieren:

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

Das PSD wird ausgegeben in:

<Ausgabe-Stammverzeichnis>/<Produktordnername>/_psd/

Ebenen-Konventionen:

  • Der Vorlagenhintergrund wird als 00 Vorlagenhintergrund isoliert.
  • Dynamisch ersetzte Inhalte werden als ein-/ausschaltbare Ebenen angelegt, z. B. transparente Produktbilder, Model-Fotos, Tabellenebenen, Datenbereichshintergrund.
  • Jedes PSD enthält standardmäßig eine ausgeblendete 99 Fertigprodukt-Referenz (ausgeblendet) für die Kontrolle durch den Designer.
  • Tabellen und komplex gemischter Text werden als Pixelebenen beibehalten, um die visuelle Konsistenz zu gewährleisten; Produktinformationen und Farbnamen werden nach Möglichkeit als Photoshop-Textebenen erstellt, um eine einfache Nachbearbeitung zu ermöglichen.
  • Wenn Sie nur auf Basis vorhandener JPGs/Materialien ein PSD rekonstruieren möchten, ohne JPGs neu zu rendern, fügen Sie --skip-jpg-render hinzu.

Pflichtlektüre im Detail

Lesen Sie je nach Aufgabe die entsprechende Referenz:

Aktuelle Skripte

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

Ausführung

Beispielbefehl:

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

Wenn in diesem Durchlauf Modelbild-Material vorhanden ist, generieren Sie zunächst visual_model_selection-<Zeitstempel>.json und übergeben Sie dann explizit die Koordinatendatei:

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

Wenn Sie ein externes Datenverzeichnis oder ein externes Vorlagenverzeichnis verwenden:

cd scripts
uv run python main.py `
  --input-root "<Eingabe-Stammverzeichnis>" `
  --output-root "<Ausgabe-Stammverzeichnis>" `
  --data-dir "<Datenverzeichnis>" `
  --template-dir "<Benutzerdefiniertes-Vorlagenverzeichnis>" `
  --visual-model-selection "<visual_model_selection-json>"

Abnahmekriterien

  • Jeder Produktordner im Eingabebereich muss verarbeitet werden oder es muss ein Grund für die Nichtverarbeitung im Bericht genannt werden.
  • Alle ausgegebenen Bilder müssen eine Breite von 790px haben.
  • Fixe Texte der Vorlage, Hintergründe, grüne Blöcke, Logos, dekorative Linien und Überlagerungsebenen dürfen nicht durch dynamische Zeichnung beschädigt werden.
  • Produktdaten müssen aus product_data.json oder einer gleichwertigen strukturierten Datei stammen und dürfen nicht fest in Python codiert sein.
  • Leere Werte bleiben leer, es werden keine Standardwerte ergänzt und keine Werte abgeleitet.
  • Es dürfen keine weißen Rahmen, grünen Linienreste, Tabellen-Geisterbilder, weißen vertikalen Linien in grünen Tabellenköpfen auftreten.
  • Text gleicher Art hat einheitliche Schriftgröße und -stärke; gemischte Zahlen dürfen nicht unkontrolliert in der Höhe springen.
  • Transparente Bilder derselben Seite haben eine visuell einheitliche Produktgröße; Farbnamen liegen nah am Produkt und auf derselben Grundlinie.
  • Modelbilder haben keine verzerrten Hauptmotive; die Vollständigkeit des Kopfes und des Hauptmotivs hat Priorität.
  • Batch-Verarbeitungen mit Modelbild-Material müssen zuerst die AI-Koordinaten-JSON generieren und dann das Skript ausführen; die entsprechenden Modelbilder im Bericht sollten visual_model_selection anzeigen, es sei denn, es wird klar angegeben, warum AI-Koordinaten nicht verwendet werden konnten.

Individual skills in this repo

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

Verwandte Skills