Communitygithub.com

jas0nh/eva-title-skill

Gerador de cartões de título de Evangelion sem navegador para Hermes e Node.js — 16 layouts originais renderizados localmente com Canvas/Skia.

O que é eva-title-skill?

Este skill permite gerar cartões de título no estilo Evangelion (os famosos "title cards" do anime) diretamente no servidor, sem depender de navegador ou APIs de geração de imagem. Ele utiliza um motor de layout original empacotado, rodando localmente com Canvas/Skia, e produz 16 layouts distintos (como e1, e24, e25, etc.) com fontes específicas como FOT-Matisse Pro EB e Source Han Serif SC Heavy. O fluxo principal é acionado via comandos slash no Hermes, executando um script Node.js que processa argumentos textuais e gera imagens PNG (640×480). O skill suporta segmentação semântica de texto para layouts com múltiplas entradas, conversão de chinês simplificado, e fallback de fontes. É especialmente útil para comunidades de fãs, bots de anime, ou ferramentas de automação que precisam renderizar esses cartões sem intervenção manual ou dependências externas de renderização.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add jas0nh/eva-title-skill

Perguntar na sua IA favorita

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

Documentação

Cartões de Título de Evangelion

Renderize localmente com o motor de layout original empacotado. Não chame um modelo de geração de imagem nem recrie a geometria do layout.

Contrato do comando barra

Trate a instrução anexada a uma invocação /eva como argumentos de comando.

  • Execute node scripts/eva-command.mjs --command '<argumentos>' --output-dir /tmp/eva-output.
  • Para --help ou /eva puro, retorne o JSON text e seu valor exato de MEDIA:. Isso gera a imagem de ajuda com 16 layouts localmente.
  • Use e1 como padrão quando nenhum layout for fornecido.
  • Divida segmentos manuais por | antes de remover pontuação e espaços. Para e1, os usuários especificam [topo, vertical, horizontal]; o wrapper converte para a ordem do fornecedor.
  • Sem |, escolha segmentos semânticos naturais quando o layout precisar de múltiplas entradas. Passe-os com --segments '["segmento 1","segmento 2"]'. Preserve cada caractere limpo do título exatamente uma vez e em ordem. Se nenhuma divisão semântica for fornecida, o wrapper usa um fallback balanceado.
  • Retorne o valor exato de MEDIA: do JSON de sucesso para que o Hermes envie o PNG como anexo nativo.

Exemplos:

node scripts/eva-command.mjs --command '--e24 测试' --output-dir /tmp/eva-output
node scripts/eva-command.mjs --command '--e1 topo|vertical|horizontal' --output-dir /tmp/eva-output
node scripts/eva-command.mjs --command '--e1 领导喜欢安排泡汤局' \
  --segments '["领导","喜欢安排","泡汤局"]' --output-dir /tmp/eva-output
node scripts/eva-command.mjs --command '--help' --output-dir /tmp/eva-output

Regras de renderização

Confirme que FOT-Matisse Pro EB e a fonte open-source Source Han Serif SC Heavy estão instaladas na pasta de Fontes do macOS do usuário atual. Converta chinês simplificado usando o mapeamento upstream, depois use Matisse por glifo e Source Han Serif Heavy como fallback.

air e e24 exigem um segmento semântico. e25, e12, e3, e25-2, e26, anno-kandoku, e15 e do-you-love-me exigem dois. Todos os outros layouts exigem três.

Use scripts/render-eva-title.mjs diretamente apenas quando o chamador já fornecer --texts na ordem do fornecedor. Verifique se os PNGs do título têm 640×480 e não estão vazios antes de compartilhá-los.

Habilidades Relacionadas