CommunityImagemgithub.com

EP Insignia

Baixa uma insígnia/logotipo/emblema de uma agência a partir de uma URL, remove o fundo, redimensiona para 512x512, salva como .png e .jpg com o prefixo do cliente EP e faz upload de ambos para o bucket S3 de insígnias do EP (prod-ep-cmh-insignia).

O que é EP Insignia?

O EP Insignia é uma skill para agentes de IA (como Claude Code, Cursor ou Codex) que automatiza todo o processo de conversão de uma imagem de insígnia/logo de agência para o formato exigido pelo sistema Essential Personnel (EP). A skill baixa a imagem de uma URL fornecida, remove o fundo (usando modo automático que prioriza fundo transparente existente, remoção por cor sólida nas bordas ou segmentação por IA com rembg), redimensiona para 512x512 com margem centralizada e salva nos formatos PNG (fundo transparente) e JPG (fundo branco) com o prefixo do cliente EP. Em seguida, faz upload para o bucket S3 de produção `prod-ep-cmh-insignia` na conta AWS 405995789491 (região us-east-2), verificando duplicatas e solicitando confirmação antes de sobrescrever. A skill também exibe uma prévia da imagem processada (com fundo vermelho para verificar transparência) e permite ajustes no modo de remoção de fundo, garantindo que a insígnia final esteja correta antes do upload.

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

Installed? Explore more Imagem skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

O que EP Insignia faz?

Converte uma URL de imagem de origem nos dois arquivos de insígnia que o EP espera e faz upload para s3://prod-ep-cmh-insignia (conta AWS do EP 405995789491, região us-east-2).

Convenções, seguindo os arquivos já existentes no bucket:

  • Chave: <prefix>.png e <prefix>.jpg na raiz do bucket, onde <prefix> é o prefixo do cliente EP (minúsculo, ex.: audubonpd, alexanderncsheriff).
  • Ambos são 512x512. A insígnia é cortada, redimensionada para caber, e centralizada com uma pequena margem.
  • PNG tem fundo transparente. JPG tem fundo branco.
  • Os tipos de conteúdo são image/png e image/jpeg. O bucket usa BucketOwnerEnforced, então não configure ACLs.

Entradas

  1. URL de origem. Se o usuário não forneceu uma, peça por ela. Um caminho de arquivo local também funciona.
  2. Prefixo do cliente. Se não foi fornecido, peça por ele. Não adivinhe a partir do nome da agência. Normalize para minúsculo e rejeite qualquer caractere que não seja a-z 0-9 - _.

Passos

1. Processar a imagem

Use um diretório de trabalho limpo no scratchpad (ou mktemp -d), então execute:

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

uv instala as dependências dos metadados inline do script. Na primeira execução da remoção de fundo por IA, um modelo de ~180 MB é baixado para ~/.u2net.

O modo de fundo padrão (--bg auto) funciona assim:

  • Se a origem já tem fundo transparente, ele é mantido como está.
  • Se a borda for uma única cor sólida (normalmente branca), apenas o fundo conectado às bordas é removido. Letras ou detalhes brancos dentro do emblema são preservados.
  • Caso contrário, usa segmentação por IA (rembg isnet-general-use).

Opções de substituição: --bg ai, --bg flood e --bg none forçam um modo. --margin N define o preenchimento em px (padrão 4).

Se o download falhar com 403 ou 429, ou se a URL for um SVG ou uma página web em vez de uma imagem, informe o usuário e peça um link direto para a imagem. Eles também podem baixar o arquivo eles mesmos e passar o caminho local.

2. Revisar antes do upload

Gere uma prévia do PNG sobre uma cor contrastante, ao lado do JPG:

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

Abra preview.png com a ferramenta de Leitura e verifique:

  • Nenhum fundo residual (halo, caixa ou franja no lado vermelho).
  • Nenhuma parte faltando da insígnia (buracos onde o branco interno foi removido, ou texto que foi cortado).
  • É a agência correta.

Se o resultado estiver incorreto, execute novamente com um modo --bg diferente. Mostre a prévia ao usuário, junto com o método de fundo informado pelo script e qualquer aviso sobre imagem de origem pequena.

3. Verificar acesso AWS e arquivos existentes

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

Se <prefix>.png ou <prefix>.jpg já existir, informe o usuário. Este é um bucket de produção, portanto, obtenha confirmação explícita antes de sobrescrever. Faça backup dos arquivos existentes primeiro:

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

Mesmo quando nada existir ainda, confirme o upload com o usuário após mostrar a prévia.

4. Upload

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

Verifique o upload com aws s3 ls s3://prod-ep-cmh-insignia/<prefix>., então informe ambas as chaves S3, seus tamanhos e onde os backups foram salvos.

Habilidades Relacionadas