Communitygithub.com

JP Magazine Poster

Skill de Codex para generar carteles al estilo de revistas japonesas modernas a partir de temas, texto o imágenes del usuario.

¿Qué es JP Magazine Poster?

Esta skill de Codex está diseñada para transformar un tema, texto fuente o conjunto de imágenes proporcionados por el usuario en carteles de estilo editorial japonés moderno. El flujo de trabajo sigue un proceso estructurado que comienza con la lectura de un contrato de plantilla, seguido de una única ronda de preguntas de clarificación al usuario para determinar preferencias de estilo, número de carteles, selección de imágenes y tono del texto. Luego, la skill selecciona las plantillas adecuadas (las 8 disponibles si se solicita 'todos los estilos'), genera contenido conciso para cada zona del cartel (título, cita destacada, detalles) siguiendo reglas de puntuación y formato específicas, y prioriza estrictamente las fuentes de imágenes: primero imágenes proporcionadas por el usuario, luego generación de mapas de bits mediante modelos disponibles, y como último recurso, dibujo SVG rasterizado a PNG. Finalmente, ejecuta un script de renderizado y validación, produciendo archivos HTML y PNG, junto con un manifiesto JSON. La skill enfatiza la calidad, evitando bucles de preguntas y forzando el contenido a ajustarse dentro de las restricciones de diseño de las plantillas.

Compatible con~Claude Code✓Codex CLI~Cursor
npx skills add Buds-2025/jp-magazine-poster

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

¿Qué hace JP Magazine Poster?

Flujo de Trabajo

Usa esta skill para convertir un tema, texto fuente o conjunto de imágenes del usuario en archivos de cartel al estilo de revista japonesa.

  1. Lee references/template-contract.md antes de seleccionar plantillas o rellenar espacios.
  2. Antes del trabajo de producción, haz exactamente una ronda de clarificación en formato de formulario:
    • Resumen la solicitud actual del usuario en 1-3 frases cortas.
    • Pregunta por opciones faltantes o confirmables sobre estilo/tema, número de carteles, origen de imágenes, selección de plantillas, tono del texto, directorio de salida y cualquier contenido de uso obligatorio/evitado.
    • Prefiere preguntas numeradas y compactas con opciones concretas cuando sea útil.
    • Pregunta solo una vez. No vuelvas a preguntar para obtener más aclaraciones después de que el usuario responda.
    • Si el usuario aún deja vacíos, procede con valores predeterminados razonables y registra esas suposiciones en la especificación o el manifiesto.
  3. Comprende el tema del usuario y el número de salidas solicitadas a partir de la solicitud original más esa única respuesta.
  4. Elige plantillas:
    • Usa los IDs de plantilla explícitos del usuario cuando se proporcionen.
    • Usa las 8 plantillas cuando el usuario solicite todos los estilos.
    • De lo contrario, elige la menor cantidad de plantillas que se ajusten a la forma del contenido.
  5. Crea contenido conciso para cada zona:
    • title: sin puntuación final. Las cláusulas cortas pueden usar comas dentro del título.
    • goldenQuote: debe terminar con un signo de puntuación de fin de oración en chino o inglés.
    • detail: puntuación normal y contexto factual de la fuente.
    • Reemplaza las comillas chinas con corchetes angulares a menos que el usuario requiera explícitamente el texto citado original.
    • Evita líneas de un solo carácter y líneas de un solo carácter más puntuación.
  6. Elige imágenes por prioridad estricta:
    • Rutas o URLs de imágenes proporcionadas por el usuario.
    • Llama a un modelo o herramienta disponible en el sistema para generar imágenes de mapa de bits acordes al tema, luego guarda los archivos rasterizados seleccionados en el directorio de salida antes de renderizar.
    • Dibuja arte SVG pulido solo después de que falten imágenes del usuario y los modelos/herramientas de generación de imágenes disponibles no estén disponibles, fallen o no puedan devolver archivos de mapa de bits locales al proyecto. Registra esa razón en assumptions o manifest.
    • SVG solo puede usarse como fuente de dibujo interna y debe rasterizarse a PNG antes del renderizado final en HTML.
  7. Escribe una especificación JSON de entrada y ejecuta:
node scripts/render_poster.js --spec input.json --out output/<nombre-de-ejecucion>
node scripts/validate_poster.js --html output/<nombre-de-ejecucion>/*.html

Si la validación falla, acorta o reescribe el texto, ajusta los saltos de línea explícitos, cambia el enfoque de la imagen, luego renderiza y valida de nuevo.

Requisitos de Calidad

  • No comiences a renderizar, generar imágenes o ajustar el texto hasta que se haya preguntado y respondido el formulario de una sola ronda, a menos que el usuario indique explícitamente que se omitan las preguntas.
  • Los detalles faltantes después de la ronda única deben completarse con valores predeterminados prácticos en lugar de más preguntas.
  • El HTML final no debe hacer referencia a archivos .svg ni a data:image/svg+xml.
  • La obtención de imágenes debe seguir la prioridad estricta: imágenes proporcionadas por el usuario, luego generación de mapas de bits disponible en el sistema, y finalmente dibujo SVG pulido como último recurso.
  • Las imágenes generadas, dibujadas o de respaldo deben escribirse como archivos PNG/JPEG/WebP en el directorio de salida antes de colocarse en las zonas de imagen.
  • No trates el arte de respaldo de plantilla ni la rasterización de SVG como equivalentes a la generación de mapas de bits por modelo/herramienta. Si se omite o falla la generación del modelo/herramienta, registra la razón exacta.
  • La exportación de pósteres en PNG por defecto usa escala 2x para una salida de revisión más nítida.
  • Las notas de la tarjeta de objeto de la Plantilla 03 deben ser muy cortas, ya que cada tarjeta tiene una altura de fila fija de 216px.
  • Las zonas de imagen de la Plantilla 06 deben mantener .jp-photo-zone { width: 100%; max-width: 100%; } para que la imagen izquierda no invada la columna de texto derecha.

Formato de Especificación

Entrada mínima:

{
  "theme": "white",
  "templates": ["vertical-02"],
  "sourceText": "Tema o texto fuente del usuario",
  "assumptions": ["Cualquier valor predeterminado usado después de la ronda única."],
  "images": [
    {
      "slot": "single-photo-feature",
      "src": "D:/ruta/a/la/imagen.png",
      "fit": "cover",
      "focus": "center 50%"
    }
  ],
  "content": {
    "title": "Título del cartel",
    "goldenQuote": "Una frase editorial clara.",
    "details": ["Detalle uno.", "Detalle dos."]
  }
}

Notas:

  • theme acepta white, midnight, light o dark.
  • templates acepta IDs de plantilla como vertical-02, nombres de plantilla como vertical-single-photo-headline o all.
  • content.details puede ser un array de cadenas de texto u objetos con heading, title y body.
  • images[].slot debe coincidir con un data-slot-id o data-relation-id listado en el contrato de plantilla.

Salida

El script de renderizado crea:

  • Un archivo HTML por cartel.
  • Un archivo PNG por cartel cuando Playwright está instalado y Chromium está disponible.
  • manifest.json con la plantilla, tema, fuente de imagen, rutas de archivos de salida y estado de validación/exportación.
  • generated-images/*.png cuando se rasterizan imágenes generadas, de respaldo o fuente SVG.

Mantén intacto el diseño de la plantilla original. No cambies tamaños de fuente, alturas de línea, anchos, márgenes de seguridad, configuraciones de cuadrícula o estructura visual para forzar que el contenido encaje. En su lugar, arregla el contenido.

Skills relacionados