Communitygithub.com

Diseñador de Presentaciones para Lecciones

Convierte una lección (plan de clase, guión didáctico, sección del sílabo o apuntes) en una presentación PowerPoint atractiva y profesional (.pptx, 16:9, iconos, gráficos nativos, notas del orador) más un guión de video listo para producir una lección narrada.

¿Qué es Diseñador de Presentaciones para Lecciones?

Este skill automatiza la creación de presentaciones didácticas profesionales a partir del contenido de una lección. Está diseñado para instructores, creadores de cursos en línea y diseñadores instruccionales que necesitan transformar planes de clase, guiones o apuntes en diapositivas efectivas para el aprendizaje, tanto para clases en vivo como para videos. El skill genera un conjunto completo de archivos: un archivo `slides.json` como fuente única de datos, una presentación `.pptx` en formato 16:9 con notas del orador y un guión de video listo para texto a voz o edición. Aplica reglas de diseño instruccional (una idea por diapositiva, un elemento visual en cada diapositiva, texto máximo 6 líneas de 6 palabras, tamaño mínimo 24 pt, fondo oscuro, tres colores, estructura de apertura a cierre) y verifica cada regla mediante scripts, deteniéndose si encuentra violaciones. El skill soporta múltiples idiomas (con verificaciones adicionales para inglés y vietnamita) y permite personalizar el tema, el tratamiento del instructor y la estructura de la lección. Es ideal para cualquier situación en la que un usuario necesite diapositivas o una presentación para una lección, conferencia, clase, taller, sesión de capacitación o video de curso en línea, pero no para escribir el contenido de la lección en sí ni para presentaciones de negocios.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/chuonglife/lesson-slide-designer-skill/tree/HEAD

Preguntar en tu IA favorita

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

Documentación

¿Qué hace Diseñador de Presentaciones para Lecciones?

Convierte el contenido de una lección en una presentación de diapositivas de la que se pueda aprender y un guión de video para la versión narrada. Una lección a la vez, una carpeta por lección.

Salida, en slides/<curso>/<leccion>/ a menos que el usuario indique otra ubicación:

ArchivoQué es
slides.jsonLa fuente única: cada diapositiva como datos, con 16 tipos de diapositiva (references/slide-types.md). Edítalo y luego reconstruye
<nombre_archivo>.pptxLa presentación 16:9, Arial, tema de tres colores; la narración de cada diapositiva está en sus notas del orador
<nombre_archivo>.video-script.mdEl archivo para el paso de video: un bloque por diapositiva con texto en pantalla, notas de producción, narración lista para texto a voz y segundos, más una tabla de resumen
_preview/slide-NN.png, _preview/contact-sheet.pngImágenes 1920x1080 de cada diapositiva y una hoja de contactos, para tu revisión visual y como fotogramas para un video
<nombre_archivo>.preview.mp4 (opcional)Una presentación silenciosa con los tiempos del guión, o narrada cuando existen archivos de audio por diapositiva

Herramientas que usan los scripts: Python 3.9+ con python-pptx, Pillow, lxml (y cairosvg para iconos, o sharp-cli, rsvg-convert, Inkscape); LibreOffice y Poppler (pdftoppm) para renderizar previsualizaciones; ffmpeg para el video de previsualización opcional. Los iconos son del conjunto Lucide (licencia ISC) en assets/icons/.

Flujo de trabajo

Paso 0. Lee la fuente y acuerda el resumen

  1. Lee todo el material fuente de la lección: objetivos, audiencia, modalidad de entrega, el plan de clase con minutos, el guión, las preguntas con respuestas, cualquier esquema de diapositivas, materiales de apoyo. Si el usuario solo da un título, pide el contenido o escríbelo primero (el skill complementario lesson-content-writer hace exactamente eso).
  2. Lee references/slide-standards.md (las reglas y la estructura de la presentación) y references/slide-types.md (los 16 tipos y sus límites de texto).
  3. Acuerda: modalidad de entrega (video autoguiado, por lo que cada video es un clúster con su propia apertura, cuerpo y cierre más diapositivas de pausa; o clase en vivo, por lo que diapositivas para preguntar al aula y para practicar); idioma (language, cualquier idioma funciona, en y vi reciben verificaciones adicionales); tema (por defecto navy; un tema por curso, reutilízalo lección tras lección); cómo se dirige el instructor a los estudiantes (toma del guión); nombre del instructor y contacto para el pie de página.

Paso 1. Planifica la presentación

A partir del esquema de diapositivas de la fuente, o de la secuencia de la lección, escribe una tabla: # | tipo | la única idea de la diapositiva | visual o icono | pregunta o pausa | número de video. Restricciones:

  • Estructura completa: title -> (question, un abridor de "pruébalo primero", si la lección lo tiene) -> objectives -> agenda -> para cada parte un section (o el agenda de nuevo con current) -> 2 a 5 diapositivas de contenido -> al menos una question -> summary -> closing.
  • Una idea por diapositiva. Al menos 4 tipos de diapositiva por presentación, nunca 3 del mismo tipo seguidas, una pausa o pregunta al menos cada 10 a 12 minutos de narración.
  • Planifica el arco emocional y coloca un rompedor de ritmo en los tercios 1/3 y 2/3; escribe los títulos como afirmaciones, no como etiquetas (references/rhythm-and-titles.md). Los números con fuente van en big-numbers o chart, no en viñetas.
  • Los hechos, términos, números y ejemplos provienen únicamente de la fuente de la lección. Nunca los inventes. Los ejemplos provienen del trabajo propio de los estudiantes.
  • Cursos en video: sigue el plan de la lección, cubre cada sección, ejemplo, pregunta de pausa y muestra trabajada de la fuente en una diapositiva o en la narración, y declara videos con minutos planificados para que el guión pueda advertir sobre videos delgados. Un esquema de diapositivas en la fuente es un piso, no un techo. Una lección de 100 minutos generalmente necesita de 35 a 60 diapositivas; la plantilla de 17 diapositivas es una demostración técnica, no una lección completa.

Paso 2. Escribe slides.json

Copia templates/slides.example.json y complétalo a partir del plan. Para cada diapositiva:

  • El texto en pantalla son palabras clave y líneas cortas que quepan a 24 pt (límites por tipo en slide-types.md). ¿Demasiado largo? Divide la diapositiva. Nunca reduzcas el texto.
  • narration: del guión de la lección, reescrito para el oído (references/narration-and-video-script.md): un aliento por línea, cada línea termina con . , ? o !, los números escritos como se pronuncian, la diapositiva nunca se lee palabra por palabra, las diapositivas de pregunta dicen "pausa el video".
  • notes: direcciones de producción (revelar uno por uno, señalar, encerrar en un círculo, insertar clip, "Silencio 60 segundos").
  • Elige iconos por significado (slide-types.md, sección 4) y mantén un icono por concepto recurrente durante todo el curso. Las imágenes reales (capturas de pantalla, fotos de productos) van junto a slides.json con su fuente en IMAGE-SOURCES.md. Pregunta antes de descargar imágenes de la web y verifica la licencia.
  • Escribe como una persona, no como un folleto (references/plain-human-voice.md).

Paso 3. Construye y verifica

python scripts/build_slides.py slides/<curso>/<leccion>/slides.json

El script se DETIENE ante violaciones graves: más de 6 líneas, texto que no cabe a 24 pt, una palabra huérfana que no se puede solucionar juntando dos palabras, icono o imagen faltante, tipo desconocido, un guión o frase típica de IA prohibida, una etiqueta de temporizador que discrepa de la narración, un elemento que la narración nunca lee. Corrige slides.json y reconstruye hasta que haya 0 errores. Lee también cada advertencia (líneas largas, dígitos en la narración, tres diapositivas de un mismo tipo seguidas, sin rompedor de ritmo, videos delgados) y corrígela o anota por qué no.

python scripts/render_slides.py slides/<curso>/<leccion>/<nombre_archivo>.pptx

Mira _preview/contact-sheet.png, luego cada slide-NN.png a tamaño completo, con la lista de verificación en slide-standards.md sección 5: texto recortado o superpuesto, grandes áreas vacías, desalineación, legible a un tercio del tamaño, un punto focal por diapositiva. Corrige, reconstruye, vuelve a mirar hasta que una pasada completa no muestre nada. Nunca informes que está hecho sin mirar la representación más reciente.

Opcional, para verificar el ritmo o entregar un borrador de video:

python scripts/preview_video.py slides/<curso>/<leccion>/slides.json [--audio <carpeta con S01.mp3 ...>]

Lecciones largas en plataformas de video (un tema por video, 10 a 12 minutos): mantén un slides.json a nivel de lección con un número de video en cada diapositiva y divídelo:

python scripts/split_videos.py slides/<curso>/<leccion>/slides.json --build --render

Cada video recibe su propia carpeta y presentación con una diapositiva de título ("Video k/N"), sus propios objetivos, su cuerpo y un cierre que enlaza con el siguiente video. Edita el archivo a nivel de lección, nunca los generados.

Paso 4. Informa

Dale al usuario: las rutas de la presentación, el guión de video y la hoja de contactos; una tabla resumen breve (# - tipo - idea - segundos); número de diapositivas y duración estimada; el tema; tus suposiciones (tratamiento, números y de dónde vinieron); advertencias que dejaste y por qué. Muestra la hoja de contactos.

Varias lecciones seguidas

Reutiliza el tema, el pie de página, el tratamiento y el conjunto de iconos por concepto de las lecciones anteriores en la misma carpeta del curso. Mantén las diapositivas de title y closing idénticas en diseño a lo largo del curso, y deja que cada cierre enlace con la siguiente lección.

Principios

  • Los estándares no se mueven (slide-standards.md). El contenido dentro de ellos es donde va la creatividad. El guión es el guardián; nunca desactives una verificación para salir del paso.
  • Las diapositivas son para los ojos, la narración es para los oídos. Los dos canales se complementan y nunca se duplican.
  • Los estudiantes hacen algo. Cada parte tiene una pregunta o una pausa; la presentación termina con una acción concreta.
  • Títulos en mayúsculas por defecto ("title_case": "upper"), el JSON se mantiene como está escrito para que la narración y los subtítulos no se vean afectados. Las mayúsculas ocupan más espacio, así que mantén los títulos cortos.
  • 24 pt es el mínimo para todo, incluyendo etiquetas, leyendas, fuentes y pies de página. Demasiado largo significa reescribir, no reducir.
  • No hay palabras huérfanas. Una sola palabra en la última línea de un título, tarjeta, paso o viñeta se ve mal. El script junta las dos últimas palabras cuando eso encaja, y se detiene cuando no.
  • Ejecútalo, luego entrégalo. Construye, renderiza, mira, mide. Nunca adivines.
  • Para añadir un tipo de diapositiva, agrega un método s_<tipo> en scripts/build_slides.py, regístralo en KINDS, documéntalo en slide-types.md, y construye una presentación de prueba antes de usarlo.

Archivos de referencia

  • references/slide-standards.md - qué son las diapositivas de aprendizaje digital, las diez reglas de diseño y cómo las verifica el script, la estructura de la presentación, principios de aprendizaje multimedia, la lista de verificación previa a la entrega.
  • references/slide-types.md - el formato de slides.json, los 16 tipos de diapositiva con límites de texto, temas, planificación de video, la lista de iconos.
  • references/narration-and-video-script.md - reglas de narración para texto a voz o voz humana, notas de producción, lectura de cada elemento en pantalla, entrega a producción de video.
  • references/rhythm-and-titles.md - el arco emocional de una lección, rompedores de ritmo en 1/3 y 2/3, títulos como afirmaciones, patrones de oraciones para aperturas, comparaciones, números y cierres.
  • references/plain-human-voice.md - cómo eliminar la voz de IA: guiones y frases prohibidas, ritmo de oraciones, detalles concretos, opinión.
  • templates/slides.example.json - una lección de demostración de 17 diapositivas que usa todos los tipos principales, ya construida y verificada.

Skills relacionados