CommunityBildgithub.com

alirazawebservice-rgb/image-compress-automation

Verwenden Sie dieses Tool, um Produktbilder (PNG, JPG, WEBP, AVIF) im Bulk zu komprimieren, zu skalieren oder zu konvertieren – in web-optimierte JPG-, WebP- oder AVIF-Dateien. Es richtet Arbeitsordner ein, behebt Höhenprobleme, Seitenverhältnisfehler und CLI-Flags.

Was ist image-compress-automation?

Dieses Skill automatisiert die Bulk-Komprimierung und -Skalierung von Produktbildern in einem Repository mit der Node.js-Bibliothek `sharp`. Es konvertiert Bilder (PNG, JPG, WEBP, AVIF) in web-optimierte Formate (JPG, WebP, AVIF) bei gleichbleibender Dateinamen. Transparente PNGs werden automatisch auf einen weißen Hintergrund (#ffffff) vereinheitlicht. Das Tool unterstützt zwei Größenmodi: reine Höhenangabe (z.B. `800px`), bei der die Breite proportional berechnet wird, oder exakte `WxH`-Angaben. Bei Seitenverhältniskonflikten wird nicht gecropt oder verzerrt, sondern das Tool meldet den Fehler und schlägt passende Größen vor. Der Skill arbeitet auf der Kommandozeile über ein CLI-Skript (`bin/cli.js`) und erfordert vor der Ausführung die Angabe von Arbeitsordner, Zielgröße und Ausgabeformat. Fehlende Angaben werden durch explizite Nachfragen beim Benutzer eingeholt, nicht durch stille Fallbacks. Dieses Skill ist insbesondere für E-Commerce-Umgebungen gedacht, in denen Produktbilder in einheitlichen Formaten und Größen benötigt werden.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/alirazawebservice-rgb/image-compress-automation/tree/HEAD/skills/image-compress-automation

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

Bildkomprimierung Automatisierung

Übersicht

Skalieren und komprimieren Sie Produktbilder in Sekunden in web-optimierte .jpg-, .webp- oder .avif-Dateien mit sharp. Dabei bleiben die Originaldateinamen erhalten, transparente PNGs werden auf weißem Hintergrund vereinheitlicht und die Seitenverhältnisse streng beibehalten (800px reine Höhenautoskala oder WxH exakte Prüfung).

Kernprinzip: Niemals ein Arbeitslaufwerk (F:\) annehmen, niemals ohne Bestätigung stillschweigend auf 800x800 oder jpg zurückfallen, und niemals ein Bild zuschneiden oder verzerren.

Kurzreferenz

SituationAktion
Erster Lauf (node_modules/ fehlt)npm install ausführen (benötigt Node.js >= 20.0.0)
.imagerc.json fehlt & kein --dir angegebenBenutzer fragen nach ihrem Arbeitsordner vor dem Lauf
Zielgröße/Höhe oder Format nicht angegebenBenutzer fragen nach Größe (800px Höhe oder WxH) und Format (jpg, webp oder avif) vor dem Lauf
Benutzer gibt nur Höhe an (z.B. 800px in webp)--size 800px --format webp übergeben (automatisch proportionale Breite pro Bild berechnet)
Benutzer gibt Arbeitsordner + WxH + Format an`node bin/cli.js --dir "" --size "" --format <jpg
Benutzer hat separate Roh- und Export-Ordner`node bin/cli.js --input "" --output "" --size "<px
Exakte WxH-Seitenverhältnis-AbweichungNicht croppen/strecken; passende Größen aus der Ausgabe melden (oder ggf. 800px Höhenmodus vorschlagen)
Transparenter PNG-HintergrundAutomatisch auf #ffffff vereinheitlicht (änderbar über --bg "#hex")

Schritt-für-Schritt Agent-Workflow

Befolgen Sie diese Schritte der Reihenfolge nach, wenn ein Benutzer Sie bittet, Bilder mit diesem Repository zu komprimieren oder zu skalieren:

1. Setup & Abhängigkeiten prüfen

  1. Überprüfen, ob node_modules/sharp existiert. Falls frisch geklont, npm install ausführen.
  2. Prüfen, ob .imagerc.json im Stammverzeichnis des Repositories existiert (es sei denn, der Benutzer hat bereits einen Ordner in seiner Anfrage angegeben).
    • Wenn weder .imagerc.json existiert noch der Benutzer einen Ordner genannt hat, den Benutzer zuerst fragen: „Welchen Ordner möchten Sie für Ihre input- und output-Bildordner verwenden? (Zum Beispiel ./ für diesen Projektordner, ~/Desktop/store-images oder D:\Images.)“
    • Niemals F:\Image Compress Automation annehmen oder ~/Desktop raten.

2. input/ prüfen & Größe + Format bestätigen

  1. Sicherstellen, dass <ordner>/input und <ordner>/output existieren (oder --dir "<ordner>" übergeben, damit das CLI sie erstellt).
  2. Prüfen, wie viele unterstützte Bilder (.png, .jpg, .jpeg, .webp, .avif) im Eingabeordner sind. Bei 0 den Benutzer über den genauen <ordner>/input-Pfad informieren, in den er seine Bilder legen soll, und dann anhalten.
  3. Wenn der Benutzer nicht explizit die Zielhöhe/-abmessungen oder das Ausgabeformat in der aktuellen Anfrage genannt hat, vor der Ausführung fragen – auch wenn Nicht-TTY/Flag-lose Fallbacks standardmäßig 800x800 und jpg verwenden.

3. Nicht-interaktiv ausführen & Ergebnisse melden

Das CLI explizit mit Flags ausführen (vermeiden Sie bloßes node bin/cli.js in Nicht-TTY-Tool-Shells, damit nichts auf stille Standardwerte angewiesen ist):

node bin/cli.js --dir "<arbeitsordner>" --size "<HÖHEpx oder BREITExHÖHE>" --format "<jpg|webp|avif>"

Optionale Flags, wenn vom Benutzer angefragt:

  • --format <jpg|webp|avif> (Standard jpg; webp ist ~25–35 % kleiner, avif ist ~30–50 % kleiner)
  • --quality <1-100> (Standard 85 für JPG mozjpeg / WebP effort: 6 und 65 für AVIF effort: 4)
  • --bg "<#hex>" (Standard #ffffff für transparentes PNG-Vereinheitlichen)
  • --strict (gibt Exit-Code 1 zurück, wenn eine Datei übersprungen wird oder fehlschlägt)

Wenn der Benutzer diesen Arbeitsordner für interaktive Terminal-Läufe (npm start) speichern möchte, können Sie .imagerc.json (in .gitignore) erwähnen oder speichern oder den Benutzer bitten, npm run setup auszuführen.

4. Ausgabe überprüfen & zusammenfassen

Direkt aus der Befehlsausgabe berichten:

  • Gesamtanzahl konvertierter / übersprungener / fehlgeschlagener Dateien und Speicherplatzersparnis (MB und %).
  • Genauer Ausgabeordner-Pfad (<arbeitsordner>/output).
  • Bei einem aspect-ratio-mismatch-Überspringen die ursprünglichen Abmessungen/Verhältnis der Datei und die vom CLI ausgegebenen vorgeschlagenen proportionalen Abmessungen anzeigen.

Häufige Fehler & Warnsignale

Gedanke / FehlerWarum es fehlschlägt & was stattdessen zu tun ist
„Ich führe einfach node bin/cli.js ohne --size oder --format aus“Nicht-TTY-Fallback wählt stillschweigend 800x800 und jpg. Bestätigen Sie immer zuerst Ordner, Größe/Höhe (800px oder WxH) und Format (jpg/webp/avif) mit dem Benutzer und übergeben Sie --dir, --size und --format.
„Benutzer möchte 800×800 auf einem 1:2-Foto – ich übergebe fit: cover oder schreibe ein benutzerdefiniertes Crop-Skript“Verstößt gegen die Kernregel: niemals stillschweigend croppen oder strecken. Lassen Sie das CLI Abweichungen ablehnen und proportionale Abmessungen angeben.
„Ich committe .imagerc.json oder Test-PNGs in input/“.imagerc.json, input/* und output/* (außer .gitkeep) sind in .gitignore eingetragen, um die Privatsphäre des Benutzers zu schützen. Lassen Sie sie unverfolgt.
„Ich übergebe --input ohne --output“Ohne --output oder --dir fällt die Ausgabe auf <cwd>/output zurück. Übergeben Sie immer --dir (Standardablauf) oder sowohl --input als auch --output.

Verwandte Skills