CommunityBildgithub.com

rtaylor-talmark/ep-skills

Lädt ein Behördenabzeichen/Logo/Emblem von einer URL herunter, entfernt den Hintergrund, skaliert es auf 512x512, speichert es als .png und .jpg benannt nach dem EP-Kundenpräfix und lädt beide in den EP-Insignien-S3-Bucket (prod-ep-cmh-insignia) hoch. Verwende dies, wenn ein Benutzer das Abzeichen, Logo, Emblem oder Kennzeichen eines Kunden/einer Behörde in Essential Personnel (EP) hinzufügen, ersetzen oder aktualisieren möchte.

Was ist ep-skills?

Dieses Skill für KI-Agenten (z. B. Claude Code, Cursor, Codex) verarbeitet ein Quellbild (URL oder lokaler Pfad) zu zwei insigniendateien im Essential Personnel (EP)-Format. Es entfernt den Hintergrund (unterstützt transparente Quellen, Flood-Fill oder KI-Segmentierung mit rembg), skaliert auf 512×512 px mit transparentem PNG und weißem JPG-Hintergrund und lädt die Dateien in den S3-Bucket `prod-ep-cmh-insignia` (AWS-Konto 405995789491, Region us-east-2) hoch. Der Ablauf umfasst drei Hauptschritte: Bildverarbeitung mittels eines Python-Skripts (`process_insignia.py`), Vorschauerstellung und Benutzerbestätigung, sowie Upload mit Backup vorhandener Dateien. Es ist speziell für den Einsatz mit EP-Kundenpräfixen (z. B. `audubonpd`) konzipiert und stellt sicher, dass die Konventionen des Buckets (Benennung, Größe, Inhaltstypen) eingehalten werden. Der Agent holt fehlende Eingaben (Quell-URL, Präfix) vom Benutzer ein, zeigt eine Vorschau zur Qualitätskontrolle und fordert bei Überschreibungen eine explizite Bestätigung an.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/rtaylor-talmark/ep-skills/tree/HEAD/skills/ep-insignia

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

EP Insignia

Wandelt eine Quellbild-URL in die beiden von EP erwarteten Insigniendateien um und lädt sie hoch nach s3://prod-ep-cmh-insignia (EP AWS-Konto 405995789491, Region us-east-2).

Konventionen, die den bereits im Bucket vorhandenen Dateien entsprechen:

  • Schlüssel: <praefix>.png und <praefix>.jpg im Bucket-Root, wobei <praefix> das EP-Kundenpräfix ist (Kleinbuchstaben, z. B. audubonpd, alexanderncsheriff).
  • Beide sind 512×512. Das Abzeichen wird beschnitten, maßstäblich eingepasst und mit einem kleinen Rand zentriert.
  • PNG hat einen transparenten Hintergrund. JPG hat einen weißen Hintergrund.
  • Die Inhaltstypen sind image/png und image/jpeg. Der Bucket verwendet BucketOwnerEnforced, daher keine ACLs setzen.

Eingaben

  1. Quell-URL. Falls der Benutzer keine angegeben hat, danach fragen. Ein lokaler Dateipfad funktioniert ebenfalls.
  2. Kundenpräfix. Falls nicht angegeben, danach fragen. Nicht aus dem Behördennamen raten. In Kleinbuchstaben normalisieren und alles außer a-z 0-9 - _ ablehnen.

Schritte

1. Bild verarbeiten

Ein neues Arbeitsverzeichnis im Scratchpad (oder mktemp -d) verwenden, dann ausführen:

uv run -q <skill_dir>/scripts/process_insignia.py "<url>" "<praefix>" "<workdir>"

uv installiert die Abhängigkeiten aus den Inline-Metadaten des Skripts. Beim ersten Lauf der KI-Hintergrundentfernung wird ein ~180 MB großes Modell nach ~/.u2net heruntergeladen.

Der Standard-Hintergrundmodus (--bg auto) funktioniert so:

  • Wenn die Quelle bereits einen transparenten Hintergrund hat, wird dieser unverändert gelassen.
  • Wenn der Rand eine einzelne, einheitliche Farbe ist (normalerweise Weiß), wird nur der mit den Kanten verbundene Hintergrund entfernt. Weiße Buchstaben oder Details innerhalb des Abzeichens bleiben erhalten.
  • Andernfalls wird KI-Segmentierung (rembg isnet-general-use) verwendet.

Überschreibungen: --bg ai, --bg flood und --bg none erzwingen einen Modus. --margin N legt den Rand in px fest (Standard 4).

Wenn der Download mit 403 oder 429 fehlschlägt oder es sich bei der URL um ein SVG oder eine Webseite und nicht um ein Bild handelt, den Benutzer informieren und um einen direkten Bildlink bitten. Der Benutzer kann die Datei auch selbst herunterladen und den lokalen Pfad übergeben.

2. Vorschau vor dem Hochladen

Eine Vorschau des PNGs über einer Kontrastfarbe neben dem JPG erstellen:

convert \( <workdir>/<praefix>.png -background '#c33' -flatten \) <workdir>/<praefix>.jpg +append <workdir>/preview.png

preview.png mit dem Lese-Tool öffnen und überprüfen:

  • Kein restlicher Hintergrund (Lichthof, Kasten oder Rand auf der roten Seite).
  • Keine fehlenden Teile des Abzeichens (Löcher, wo weißes Innenleben entfernt wurde, oder abgeschnittener Text).
  • Es ist die richtige Behörde.

Wenn das Ergebnis falsch ist, mit einem anderen --bg-Modus erneut ausführen. Die Vorschau dem Benutzer zeigen, zusammen mit der vom Skript gemeldeten Hintergrundmethode und einer eventuellen Warnung über ein zu kleines Quellbild.

3. AWS-Zugriff und vorhandene Dateien prüfen

aws sts get-caller-identity --query Account --output text   # erwartet 405995789491
aws s3 ls s3://prod-ep-cmh-insignia/<praefix>.

Wenn <praefix>.png oder <praefix>.jpg bereits existieren, den Benutzer informieren. Dies ist ein Produktions-Bucket, daher vor dem Überschreiben eine explizite Bestätigung einholen. Vorhandene Dateien zuerst sichern:

aws s3 cp s3://prod-ep-cmh-insignia/<praefix>.png <workdir>/backup/<praefix>.png
aws s3 cp s3://prod-ep-cmh-insignia/<praefix>.jpg <workdir>/backup/<praefix>.jpg

Auch wenn noch nichts vorhanden ist, den Upload mit dem Benutzer bestätigen, nachdem die Vorschau gezeigt wurde.

4. Hochladen

aws s3 cp <workdir>/<praefix>.png s3://prod-ep-cmh-insignia/<praefix>.png --content-type image/png
aws s3 cp <workdir>/<praefix>.jpg s3://prod-ep-cmh-insignia/<praefix>.jpg --content-type image/jpeg

Den Upload mit aws s3 ls s3://prod-ep-cmh-insignia/<praefix>. überprüfen, dann beide S3-Schlüssel, ihre Größen und den Speicherort etwaiger Backups melden.

Verwandte Skills