CommunityImagegithub.com

rtaylor-talmark/ep-skills - Insignia EP

Télécharge un insigne/logo d'agence depuis une URL, supprime son arrière-plan, le redimensionne à 512x512, l'enregistre en .png et .jpg nommé d'après le préfixe client EP, puis téléverse les deux dans le bucket S3 des insignes EP (prod-ep-cmh-insignia).

Qu'est-ce que ep-skills - Insignia EP ?

Cette compétence automatise le traitement des insignes d'agence pour le logiciel Essential Personnel (EP). Elle prend l'URL d'une image source (ou un chemin de fichier local), la redimensionne à 512x512 pixels, nettoie l'arrière-plan (transparent pour PNG, blanc pour JPG), et téléverse les deux fichiers dans le bucket S3 de production `prod-ep-cmh-insignia` (compte AWS `405995789491`, région `us-east-2`). Elle est conçue pour les agents de codage comme Claude Code, Cursor ou Codex utilisant AWS CLI et des outils d'édition d'image. L'utilisateur fournit l'URL et le préfixe client EP (ex: `audubonpd`), la compétence exécute un script Python qui gère la suppression d'arrière-plan (par analyse de bordure ou IA avec `rembg`), puis crée un aperçu pour validation avant téléversement. Elle vérifie l'accès AWS, gère les fichiers existants avec sauvegarde, et demande confirmation avant d'écraser en production.

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

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

Insignes EP

Transforme une URL d'image source en deux fichiers d'insigne attendus par EP et les téléverse vers s3://prod-ep-cmh-insignia (compte AWS EP 405995789491, région us-east-2).

Conventions, conformément aux fichiers déjà présents dans le bucket :

  • Clé : <préfixe>.png et <préfixe>.jpg à la racine du bucket, où <préfixe> est le préfixe client EP (en minuscules, ex. audubonpd, alexanderncsheriff).
  • Les deux sont en 512x512. L'insigne est rogné, redimensionné pour s'adapter et centré avec une petite marge.
  • Le PNG a un fond transparent. Le JPG a un fond blanc.
  • Les types de contenu sont image/png et image/jpeg. Le bucket utilise BucketOwnerEnforced, donc ne définissez pas d'ACL.

Entrées

  1. URL source. Si l'utilisateur n'en a pas fourni, demandez-la. Un chemin de fichier local fonctionne aussi.
  2. Préfixe client. S'il n'a pas été fourni, demandez-le. Ne le devinez pas à partir du nom de l'agence. Normalisez-le en minuscules et rejetez tout autre caractère que a-z 0-9 - _.

Étapes

1. Traiter l'image

Utilisez un répertoire de travail temporaire dans le scratchpad (ou mktemp -d), puis exécutez :

uv run -q <rép_compétence>/scripts/process_insignia.py "<url>" "<préfixe>" "<rép_travail>"

uv installe les dépendances à partir des métadonnées en ligne du script. La première exécution de la suppression d'arrière-plan par IA télécharge un modèle d'environ 180 Mo vers ~/.u2net.

Le mode d'arrière-plan par défaut (--bg auto) fonctionne ainsi :

  • Si la source a déjà un fond transparent, il est conservé tel quel.
  • Si la bordure est d'une seule couleur unie (généralement blanc), seul l'arrière-plan connecté aux bords est supprimé. Les lettres ou détails blancs à l'intérieur du badge sont conservés.
  • Sinon, il utilise la segmentation par IA (rembg isnet-general-use).

Substitutions : --bg ai, --bg flood et --bg none forcent un mode. --margin N définit le remplissage en pixels (par défaut 4).

Si le téléchargement échoue avec 403 ou 429, ou si l'URL est un SVG ou une page web plutôt qu'une image, informez l'utilisateur et demandez un lien direct vers l'image. Ils peuvent aussi télécharger le fichier eux-mêmes et passer le chemin local.

2. Vérifier avant le téléversement

Construisez un aperçu du PNG sur un fond contrasté, à côté du JPG :

convert \( <rép_travail>/<préfixe>.png -background '#c33' -flatten \) <rép_travail>/<préfixe>.jpg +append <rép_travail>/aperçu.png

Ouvrez aperçu.png avec l'outil de lecture et vérifiez :

  • Pas d'arrière-plan résiduel (halo, boîte ou frange sur le côté rouge).
  • Pas de parties manquantes de l'insigne (trous là où le blanc intérieur a été supprimé, ou texte rogné).
  • C'est la bonne agence.

Si le résultat est incorrect, relancez avec un mode --bg différent. Montrez l'aperçu à l'utilisateur, ainsi que la méthode d'arrière-plan rapportée par le script et tout avertissement concernant une petite image source.

3. Vérifier l'accès AWS et les fichiers existants

aws sts get-caller-identity --query Account --output text   # attendre 405995789491
aws s3 ls s3://prod-ep-cmh-insignia/<préfixe>.

Si <préfixe>.png ou <préfixe>.jpg existe déjà, informez l'utilisateur. C'est un bucket de production, donc obtenez une confirmation explicite avant d'écraser. Sauvegardez d'abord les fichiers existants :

aws s3 cp s3://prod-ep-cmh-insignia/<préfixe>.png <rép_travail>/sauvegarde/<préfixe>.png
aws s3 cp s3://prod-ep-cmh-insignia/<préfixe>.jpg <rép_travail>/sauvegarde/<préfixe>.jpg

Même si rien n'existe encore, confirmez le téléversement avec l'utilisateur après avoir montré l'aperçu.

4. Téléverser

aws s3 cp <rép_travail>/<préfixe>.png s3://prod-ep-cmh-insignia/<préfixe>.png --content-type image/png
aws s3 cp <rép_travail>/<préfixe>.jpg s3://prod-ep-cmh-insignia/<préfixe>.jpg --content-type image/jpeg

Vérifiez le téléversement avec aws s3 ls s3://prod-ep-cmh-insignia/<préfixe>., puis rapportez les deux clés S3, leurs tailles et où les sauvegardes ont été enregistrées.

Skills associés