Crear Pack de Stickers de WeChat
Crea una producción completa de 20 stickers a partir de una o más imágenes de referencia. Preserva los originales, genera cada sticker por separado, prepara los activos de publicación para WeChat, valida y empaqueta.
Habilidad complementaria y herramientas requeridas
Antes de generar imágenes, lee y sigue completamente la habilidad imagegen instalada. Usa su ruta de generación de imágenes integrada por defecto. No cambies silenciosamente a la API o línea de comandos como alternativa.
Usa:
image_genintegrado para el ancla del personaje, las 20 obras de arte independientes de los stickers, el banner, la portada y el icono;view_imagepara inspección de referencias y QA visual;scripts/sticker_pack.pypara la ingesta determinista, composición de texto, validación, hoja de contactos y empaquetado;- fuentes oficiales de WeChat/Tencent para actualizar las reglas de publicación sensibles al tiempo.
Resuelve <skill-dir> en el directorio que contiene este SKILL.md; no asumas que el directorio de trabajo del espacio de trabajo es el directorio de la habilidad.
Contrato no negociable
- Produce exactamente 20 stickers finales, numerados
01.pnga20.png. - Genera las 20 obras de arte de los stickers con 20 llamadas distintas a
image_genintegrado. Nunca uses un collage, imagen de múltiples paneles, hoja de contactos, una sola llamada conn, o arte duplicado como sustituto. - Genera primero un ancla del personaje separada, sin texto. El ancla no cuenta para los 20.
- Preserva cada archivo de referencia suministrado byte por byte con su nombre de archivo original, extensión, EXIF, tamaño y SHA-256. Nunca sobrescribas, transcodifiques, recortes o elimines la copia archivada.
- Preserva cada obra de arte generada en alta resolución aceptada y cada maestro final en alta resolución. Mantén las salidas de reintentos rechazados bajo
versions/cuando sean útiles para auditoría, pero nunca las sustituyas por una ranura aceptada. - Mantén las hojas de contactos solo en previsualización/revisión; nunca las coloques en el paquete de envío.
- No inventes propiedad, derechos de autor, consentimiento de retrato, divulgación de IA o estado de aprobación.
- Marca la ejecución como
ready-to-submitsolo cuando los 20 stickers, los activos de publicación, los metadatos, los controles de revisión manual y los controles de derechos estén aprobados.
Contrato de entrada y valores predeterminados personales
Requiere solo una o más imágenes de referencia para ejecuciones normales de propiedad propia. Carga assets/creator-profile.json para los valores predeterminados reutilizables de este usuario.
Si copyright_holder está en blanco, haz una pregunta de incorporación para el nombre exacto del titular de derechos/autor, guárdalo en el perfil y continúa. Nunca sustituyas la identidad del mantenedor del repositorio por la de otro usuario.
Aplica el titular de derechos guardado y las selecciones de publicación. Establece explícitamente los booleanos de derechos y retrato de la ejecución actual después de inspeccionar la referencia. Para una autorreferencia privada, trata la invocación como la atestación del usuario solo cuando no haya información en contrario. Si la imagen es una figura pública, trabajo de terceros, arte descargado, IP de marca visible o una persona cuyo consentimiento no está claro, haz una pregunta concisa de derechos antes de declarar el paquete listo para envío.
Si múltiples imágenes muestran claramente el mismo sujeto, combínalas como referencias de identidad. Si muestran diferentes sujetos primarios y el sujeto previsto no está claro, haz una pregunta de selección de sujeto.
Estructura de salida
Crea un nuevo directorio de ejecución bajo output/wechat-sticker-pack/<slug>-<timestamp>/:
00-reference-originals/ entradas de usuario sin modificar + hashes
01-plan/ pack.json, plan CSV, biblia del personaje/estilo, prompts
02-source-assets/
character-anchor.png
generated-raw/stickers/ 20 salidas de imagegen sin modificar
generated-raw/assets/ fuentes de banner, portada, icono
generated-masters/ 20 maestros de alta resolución con texto compuesto
03-submission/
stickers/ 01.png ... 20.png
assets/ banner, portada transparente, icono transparente
metadata/ copia pública, significados, declaración de derechos/IA
qa/ JSON/TXT de QA y hashes
04-preview/contact-sheet.png
archives/<slug>-submission.zip
archives/<slug>-full-archive.zip o <slug>-draft-full-archive.zip
state.json estado solo local; excluir de los archivos
Flujo de trabajo
1. Actualizar reglas de la plataforma
Lee references/wechat-publish-spec.md. Consulta la plataforma oficial de stickers de WeChat y el código de recursos oficial actual antes de cada ejecución de producción cuando haya acceso a internet. Si un requisito soportado ha cambiado, registra changed-unsupported, detente antes de la generación, y actualiza la habilidad y las pruebas antes de reanudar; nunca reclames compatibilidad cambiando solo los metadatos de la ejecución.
Si las reglas actuales no se pueden verificar, continúa solo como borrador con la instantánea fechada y registra rules_status: snapshot-unverified más la fecha de verificación real. Para un cambio detectado, registra rules_change_details; el script bloquea la generación hasta que se actualice la habilidad.
2. Inspeccionar referencias y establecer derechos
Inspecciona cada referencia con view_image. Etiqueta los roles explícitamente: referencia de identidad, referencia de vestimenta opcional, referencia de estilo opcional.
Construye una biblia del personaje solo a partir de características visibles y no sensibles. No infieras ocupación, salud, relaciones, origen étnico o personalidad a partir de la apariencia.
Usa los valores predeterminados personales de assets/creator-profile.json a menos que la solicitud actual los anule. Sigue references/rights-and-ai.md.
3. Planificar exactamente 20 stickers
Lee references/content-planning.md antes de escribir el plan. Crea un pack.json congelado que coincida con references/pack-schema.json y contenga:
- nombre del álbum actual, introducción, derechos de autor, selecciones de plataforma y campos de derechos/IA;
- exactamente 20 entradas únicas con IDs
01–20; - intención única, texto exacto, palabra de significado, expresión, pose/acción, accesorio, encuadre, zona de texto y prompt artístico;
- una biblia del personaje, biblia de estilo, lista de evasión compartida, un prompt de ancla y prompts de activos de publicación.
No reutilices automáticamente frases fijas del pack anterior. Prioriza las frases proporcionadas por el usuario, luego llena dinámicamente los roles de comunicación restantes.
Copia la plantilla de perfil en el plan de ejecución e inicializa la ejecución:
python <skill-dir>/scripts/sticker_pack.py init \
--run-dir <run-dir> \
--spec <prepared-pack.json> \
--reference <reference-image> [--reference <image> ...]
4. Generar y registrar un ancla del personaje
Usa las referencias originales para generar un ancla del personaje Q, neutral y sin texto. Preserva las características clave de identidad visibles y un atuendo simplificado. Mantén un fondo de producción liso y sin accesorios, palabras, logotipos, firmas, bordes o marcas de agua.
Guarda el prompt exacto del ancla congelado como texto UTF-8, luego registra el archivo generado:
python <skill-dir>/scripts/sticker_pack.py import-art \
--run-dir <run-dir> --kind anchor --source <anchor.png> \
--generator builtin-imagegen --prompt-file <anchor-prompt.txt>
5. Generar 20 obras de arte de stickers independientes sin texto
Lee references/prompt-templates.md. Para cada elemento del plan congelado:
- Llama a
image_genintegrado una vez con las referencias originales más el mismo ancla del personaje. - Repite las invariantes compartidas de identidad y estilo.
- Cambia solo la expresión planificada, pose/acción, accesorio, encuadre y zona de texto reservada.
- Genera una obra de arte cuadrada independiente sin palabras ni marcas parecidas a texto.
- Inspecciona identidad, acción, recorte, fondo, texto extraviado, marca de agua y cumplimiento de una sola imagen.
- Importa la imagen en bruto aceptada:
python <skill-dir>/scripts/sticker_pack.py import-art \
--run-dir <run-dir> --kind sticker --slot <01..20> --source <generated.png> \
--generator builtin-imagegen --prompt-file <slot-prompt.txt>
Política de reintentos:
- reintenta un fallo de herramienta una vez con el mismo prompt;
- realiza una corrección de prompt dirigida para desviación de identidad, acción incorrecta, recorte, texto extraviado o salida de múltiples paneles;
- usa referencias + ancla + mejor intento para un tercer intento dirigido;
- detente después de tres intentos fallidos para una ranura, termina el trabajo seguro restante y marca la ejecución como borrador/no listo. Nunca llenes el vacío con un duplicado.
6. Componer texto exacto y archivos de sticker para publicación
Usa el renderizador determinista en lugar de confiar en la rotulación china generada:
python <skill-dir>/scripts/sticker_pack.py render-stickers --run-dir <run-dir>
El renderizador preserva los archivos de imagegen en bruto, crea maestros de alta resolución con el texto exacto planificado, produce PNGs de carga de 240×240, elimina EXIF derivado y escribe un recibo que contiene texto, puntos de código, fuente, hash de origen, hash de salida y diseño.
Si el renderizador no puede colocar el texto exacto de forma legible, revisa solo el texto o diseño de ese elemento del plan antes de renderizar; nunca trunques o reduzcas silenciosamente por debajo del mínimo.
7. Generar activos de publicación
Genera tres activos distintos con llamadas integradas separadas:
- banner de detalle: escena opaca colorida, sin texto/números, sin fondo blanco o transparente;
- portada del álbum: mitad delantera/cuerpo completo reconocible sobre un fondo de clave de croma perfectamente plano, sin texto ni contorno blanco;
- icono de chat: solo cabeza mirando al frente sobre el mismo clave de croma plano, sin manos, texto, decoración, contorno blanco o marco.
Elige un color clave ausente del sujeto: #00ff00 por defecto, o #ff00ff cuando el sujeto/vestimenta contenga verde. Congela esa elección tanto en los prompts de activos como en el comando de eliminación.
Elimina el clave de croma de la portada/icono con el ayudante requerido por la habilidad de imagegen. Valida el resultado alfa; reintenta una vez con --edge-contract 1 solo si queda un borde.
Importa las salidas de croma sin modificar antes de la eliminación, luego importa el banner aceptado y la portada/icono ya transparentes:
python <skill-dir>/scripts/sticker_pack.py import-art --run-dir <run-dir> --kind cover-chroma --source <cover-chroma.png> --generator builtin-imagegen --prompt-file <cover-prompt.txt>
python <skill-dir>/scripts/sticker_pack.py import-art --run-dir <run-dir> --kind icon-chroma --source <icon-chroma.png> --generator builtin-imagegen --prompt-file <icon-prompt.txt>
python <skill-dir>/scripts/sticker_pack.py import-art --run-dir <run-dir> --kind banner --source <banner> --generator builtin-imagegen --prompt-file <banner-prompt.txt>
python <skill-dir>/scripts/sticker_pack.py import-art --run-dir <run-dir> --kind cover --source <cover-alpha.png> --generator local-chroma-removal --chroma-key <#RRGGBB> --edge-contract <0..3>
python <skill-dir>/scripts/sticker_pack.py import-art --run-dir <run-dir> --kind icon --source <icon-alpha.png> --generator local-chroma-removal --chroma-key <#RRGGBB> --edge-contract <0..3>
python <skill-dir>/scripts/sticker_pack.py prepare-assets --run-dir <run-dir>
8. QA visual y controles manuales
Crea la hoja de contactos interna:
python <skill-dir>/scripts/sticker_pack.py contact-sheet --run-dir <run-dir>
Inspecciona los 20 stickers finales individualmente y en la hoja. Verifica consistencia del personaje, texto visible exacto, acciones/siluetas únicas, legibilidad a 240×240, sin marca de agua/logotipo/garabatos y sin paneles accidentales.
Inspecciona banner, portada e icono en su tamaño final. Luego establece cada campo manual_review aplicable en 01-plan/pack.json a true. No confirmes un campo que no hayas revisado realmente.
9. Validar y empaquetar
python <skill-dir>/scripts/sticker_pack.py validate --run-dir <run-dir> --strict
python <skill-dir>/scripts/sticker_pack.py package --run-dir <run-dir>
El archivo solo para subir debe usar la lista de permitidos fija del script y excluir originales, arte en bruto, maestros, prompts, hojas de contactos, estado, archivos extra y rutas absolutas locales. El archivo completo debe incluir originales idénticos byte a byte, fuentes, planes, prompts congelados, el registro de generación sanitizado, archivos de envío, QA y procedencia, pero excluir estado solo local y recursión de archivos. Advierte que el archivo completo puede retener EXIF/GPS original y no debe compartirse como el paquete de carga público.
Si los derechos u otro control de envío permanecen sin resolver, crea solo un borrador de archivo claramente marcado:
python <skill-dir>/scripts/sticker_pack.py package --run-dir <run-dir> --full-only
Esto produce <slug>-draft-full-archive.zip y pone en cuarentena cualquier ZIP de envío obsoleto para que no se confunda con un paquete listo actual.
Control de finalización
Reporta éxito solo cuando la validación y la integridad del archivo pasen:
20/20 stickers passedpublication assets passedoriginal references preservedrights profile confirmedAI declaration preparedstatus: ready-to-submit
De lo contrario, reporta draft/not-ready con la ranura o control exacto que falló. Siempre proporciona rutas absolutas a ambos archivos, el directorio de envío, el archivo de copia/significado y el informe de QA.
Enrutamiento de referencias
- Lee
references/content-planning.mdpara cada nuevo pack. - Lee
references/prompt-templates.mdantes de la generación de imágenes. - Lee
references/wechat-publish-spec.mdantes de la planificación o validación de activos de la plataforma. - Lee
references/rights-and-ai.mdsiempre que esté involucrada una persona real, imagen de terceros, derechos de autor, derecho de retrato o divulgación de IA. - Usa
references/pack-schema.jsonal crear o repararpack.json.