Communitygithub.com

Aumnertic/scene-ppt

Diseña presentaciones PPT en chino según el contexto de uso: primero pregunta la ocasión, la audiencia y el propósito, luego elige el estilo según el contexto y el material del usuario, renderiza páginas con diseño usando HTML/SVG y exporta a PNG y PDF.

¿Qué es scene-ppt?

Este skill, 'Aumnertic/scene-ppt', está diseñado para crear presentaciones de diapositivas (PPT) en chino que se adaptan perfectamente al contexto y al material del usuario, evitando la apariencia genérica y 'hecha por IA'. Funciona en macOS con Google Chrome y utiliza HTML y SVG para generar diapositivas visualmente atractivas, que luego se exportan como PNG y PDF. El skill incorpora cuatro ramas de estilo predefinidas: 'roadshow-cn' para competiciones y presentaciones de proyectos, 'course-report' para informes académicos, 'school-event' para actividades escolares, y 'curve-minimal' para un diseño minimalista y con estilo personal. Si ninguna rama se ajusta, se pueden crear nuevos estilos siguiendo un proceso guiado. El flujo de trabajo consta de seis fases: juicio del contexto, organización del material, creación del esquema, selección de formas por página, renderizado (usando un script de Python con Playwright) y entrega. El skill se basa en un conjunto de archivos de guía, componentes CSS, generadores SVG y scripts de verificación para garantizar la calidad y evitar errores comunes, como el desbordamiento de texto o la superposición de elementos. Está especialmente orientado a usuarios que necesitan presentaciones profesionales, ya sea para defensas de tesis, concursos, informes o eventos, y que se quejan de que las presentaciones generadas por IA son demasiado genéricas o poco estéticas.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Aumnertic/scene-ppt/tree/HEAD

Preguntar en tu IA favorita

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

Documentación

Diseño de Presentaciones Contextualizadas

Este skill ofrece dos cosas:

  1. Referencia de plantillas: Muestras finalizadas en styles/<rama>/exemplar/ y samples/.
  2. Guía de diseño: Instrucciones en guide/ sobre «cómo organizar y qué formas usar».

Principio fundamental: El estilo sigue al contexto y al material, no está prefijado. Las muestras sirven para establecer un estándar de calidad y mostrar técnicas, no para copiarlas al pie de la letra. Cada nueva presentación debe recomponerse según su propio contenido. Copiar la disposición de las muestras o hacer que todas las presentaciones tengan el mismo aspecto es precisamente lo que este skill busca evitar: la «apariencia de IA».

Requisitos del Entorno

  • macOS, Google Chrome, uv. La renderización usa el Chrome del sistema; no es necesario descargar un navegador.
  • Las fuentes son las del sistema macOS y no se pueden empaquetar con el skill. Los pesos de las fuentes chinas deben especificarse con el nombre PostScript, por ejemplo, STSongti-SC-Black, FZLTTHK--GBK1-0. Si solo se escribe el nombre de la familia más font-weight, se recurrirá al peso regular.

Flujo de Trabajo

00 Juicio del Contexto

Lee primero el material del usuario. No preguntes nada que el material ya pueda responder. Luego, solo haz preguntas cuyas «respuestas cambien las decisiones de diseño». Haz un máximo de 3 a 4 preguntas por vez. Si hay una herramienta de preguntas, úsala.

Pregunta¿Qué decide?
¿En qué ocasión se usará? Por ejemplo, presentación de concurso, informe académico, evento escolar, informe de trabajo, otroQué rama de estilo elegir
¿Se proyectará en vivo o se enviará como archivo para que lo vean solos? ¿Cuánto dura la presentación?Densidad de información y número de páginas. Proyección en vivo: letras grandes, poco texto, aproximadamente 1 minuto por página. Archivo: la información puede ser más densa
¿Qué quieres que el público recuerde o sienta? Por ejemplo, profesional y fiable, con ideas propias, cálido e interesante, apasionadoQué tema dentro de la rama elegir
¿Hay algún color, logotipo o plantilla obligatoria? Por ejemplo, escudo de la universidad, color del equipo, requisitos del eventoVariable de color principal

Contexto → Rama y Tema

ContextoRamaCómo elegir el temaDensidad
Challenges Cup, Internet+, concursos de emprendimiento, defensa de proyectosroadshow-cnTema único; cuando el concurso es más comercial, tonos dorados brillantes y añade cian tecnológicoLleno (70% o más)
Informe final de curso, reseña de libro, presentación de investigación en grupocourse-reportHumanidades y ciencias sociales: paper; Ciencias e ingeniería, diseño, datos: swissSe puede dejar espacio en blanco; el contraste de tamaño de letra debe ser grande
Reunión de clase, repaso de mitad/final de periodo, reuniones deportivas, clubes, graduaciónschool-eventRecuerdos, agradecimientos: handbook; Competiciones, motivación: popSe puede dejar espacio en blanco; cada página debe tener un «elemento tangible»
Necesita un diseño llamativo y estilo personal: portafolio, presentación personal para entrevistas de trabajo o posgrado, presentaciones de diseño, charlas personalescurve-minimalPara ser contenido, racional, como un boceto de diseño, o para enviar archivo o imprimir: pen (fondo claro); Para más expresividad y personalidad, proyección en vivo: ribbon (fondo oscuro)Muy poco, mucho espacio en blanco; solo un punto focal por página
Ninguna es adecuadaCrear un nuevo tema o rama (ver más abajo)——

Si no hay una rama adecuada, no fuerces la más parecida. Deriva un nuevo conjunto de tokens.css siguiendo el orden: «carácter → tipografía → lenguaje de formas → colores». Las variables obligatorias y las opcionales se indican al principio de styles/roadshow-cn/tokens.css. Primero, usa scripts/fontcheck.py para confirmar que Chrome está usando la fuente deseada.

El color principal debe tomarse del material del usuario en la medida de lo posible, por ejemplo, el color estándar de la universidad, el color del equipo o algún color relacionado con el tema.

01 Organización del Material

Enumera las fotos, cifras clave, citas textuales y archivos de certificados del material del usuario. La cantidad de fotos influye directamente en el diseño: si hay menos de 3 fotos, no hagas un mosaico de fotos. Por ahora, este paso se hace manualmente, sin scripts.

02 Esquema

Primero define los capítulos, luego asigna un rol a cada página: portada, página de capítulo, página de contenido, página de datos, página final. Los tipos de página típicos de cada rama se encuentran en styles/<rama>/style.md.

03 Elegir Formas por Página

Reconoce la relación de información de cada página (jerarquía, secuencia, comparación, orden, proporción, cifras clave, paralelismo, fotos de campo…) y luego busca en guide/shapes.md las formas candidatas correspondientes. Elige una según los criterios de selección y la rama actual. Si no puedes decir «por qué uso esta forma», es que la elección es incorrecta. La decoración se añade al final, eligiéndola por su función compositiva (sección 4 del mismo documento).

04 Renderización

  1. Escribe según la estructura de archivos de exemplar/deck.html de la rama seleccionada, sin copiar su composición:
    • En <head>, la primera línea debe ser el script del tema <script>{const t=new URLSearchParams(location.search).get('theme');if(t)document.documentElement.dataset.theme=t}</script>. Omitirlo hará que, incluso si render.py pasa el nombre del tema, se renderice en silencio con el tema por defecto.
    • Luego, en orden: enlaza tokens.css, lib/base.css y el components.css de la rama. roadshow-cn es una rama de tema único y no incluye lib/base.css; sigue su propia plantilla.
    • Al final de la página, enlaza lib/shapes.js.
    • Cada página debe ser un <section class="slide"> de tamaño 1920×1080.
  2. En el <style> de la página, escribe solo coordenadas y tamaños. Los colores se especifican con var(--c-*) o se leen en JS con Shapes.T('rol').
  3. Los espacios para fotos usan <div class="photo" data-label="…">. Cuando haya una foto real, coloca <img> dentro.
  4. Comando de renderización:
uv run --with playwright python scripts/render.py <deck.html> <directorio_salida> [nombre_tema]

05 Verificación

  • render.py verifica automáticamente: desbordamiento de cuadros de texto (solo en elementos con clase .fit), errores de JS, puntos suspensivos y variables de tema faltantes.
  • Revisa cada PNG de cada página. Las comprobaciones automáticas no detectan superposición de elementos, ocultaciones ni palabras huérfanas al final de línea. En la primera renderización de una página nueva, casi siempre hay estos problemas.
  • Revisa con guide/anti-patterns.md: tener solo tarjetas, degradados rosa-morado, usar emojis en lugar de ilustraciones; todo eso se considera un fallo.
  • Los títulos con caligrafía grande, escritura a mano o fuentes decorativas no deben llevar .fit, o la verificación generará falsos positivos.

06 Entrega

Entrega al usuario los PNG y el PDF (ya generados por render.py) para que los revise. Actualmente no se admite la exportación a PPTX editable; para hacer cambios, modifica el HTML y vuelve a renderizar.

Índice de Archivos

RutaContenidoCuándo leerlo
guide/shapes.mdRelaciones de información → formas, con razón, variantes por escenario, forma de implementación, dependencias de variablesFase 03, se usa en cada página
guide/anti-patterns.mdCaracterísticas típicas de las presentaciones hechas directamente por IAFase 05
styles/<rama>/style.mdEscenarios de uso de la rama, técnicas de diseño, tipos de página, criterios para elegir temaDespués de elegir la rama
styles/<rama>/tokens.cssVariables de color, tipografía y tamaño; diferentes temas se sobrescriben con [data-theme]Al cambiar el color principal o crear un nuevo tema
styles/<rama>/components.cssComponentes HTML de la ramaFase 04
styles/<rama>/exemplar/4 páginas de muestra más capturas de pantalla de cada temaFase 04, para ver las técnicas
styles/school-event/samples/banhui-full/12 páginas de muestra completas de una reunión de clase (tema handbook, con buenas reseñas)Al hacer una presentación completa, como referencia de ritmo
lib/shapes.js19 generadores SVG (estructura, datos, decoración, dibujo a mano)Fase 04
lib/base.cssEstilos de reset, lienzo, espacios para fotosFase 04
scripts/render.pyRenderización, verificación, exportación a PNG y PDFFases 04 y 05
scripts/pixeldiff.pyComparación píxel a píxel, para verificación de regresiónDespués de modificar lib/
scripts/fontcheck.pyVerifica qué fuentes está usando Chrome realmenteAl crear un nuevo tema o cambiar fuentes

Pendientes

  • Aún no hay scripts para las fases 01 a 03; se realizan manualmente siguiendo las instrucciones anteriores.
  • guide/organization.md (estructura de capítulos, roles de página, ritmo de la presentación completa) aún no está escrito.
  • No admite exportación a PPTX editable.
  • Las fuentes no son portátiles entre máquinas: al cambiar a un entorno que no sea macOS, se deben usar fuentes web de código abierto que se puedan empaquetar.

Skills relacionados