Communitygithub.com

Lesson Slide Designer

Transforme o conteúdo de uma aula (plano de aula, roteiro, seção de programa ou anotações) em uma apresentação PowerPoint limpa e dinâmica (.pptx, 16:9, com ícones, gráficos nativos e notas do apresentador) e em um roteiro de vídeo para produção de vídeo narrado ou pipeline de texto-para-fala.

O que é Lesson Slide Designer?

**Lesson Slide Designer** é uma skill que converte o conteúdo de uma única aula (plano de aula, roteiro, notas) em um conjunto de slides didáticos no formato PowerPoint (.pptx, 16:9) e em um script de vídeo pronto para produção. A skill segue princípios de design instrucional rigorosos: uma ideia por slide, um visual em cada slide, regra 6x6 para texto, fonte mínima de 24 pt, fundo escuro, esquema de três cores e estrutura que vai do título ao fechamento. Para garantir a qualidade, toda regra é verificada por scripts antes de entregar qualquer arquivo. A saída é organizada em uma pasta `slides/<curso>/<aula>/` e inclui: `slides.json` (fonte única editável), o `.pptx` gerado, um script de vídeo detalhado, pré-visualizações em PNG de cada slide, uma folha de contato e, opcionalmente, um vídeo de pré-visualização. A skill é ideal para educadores, criadores de cursos online (Udemy, workshops, treinamentos) e designers instrucionais que precisam transformar material didático em apresentações visuais e roteiros de vídeo de forma consistente e profissional. Não se destina a escrever o conteúdo da aula em si ou a criar decks de apresentação corporativa.

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

Perguntar na sua IA favorita

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

Documentação

O que Lesson Slide Designer faz?

Transforme o conteúdo de uma aula em um deck de slides que as pessoas possam aprender e em um roteiro de vídeo para a versão narrada. Uma aula por vez, uma pasta por aula.

Saída, em slides/<curso>/<aula>/ a menos que o usuário indique outro local:

ArquivoO que é
slides.jsonA fonte única: cada slide como dados, usando 16 tipos de slide (references/slide-types.md). Edite isso e depois reconstrua
<nome_do_arquivo>.pptxO deck 16:9, Arial, tema de três cores; a narração de cada slide está em suas notas do apresentador
<nome_do_arquivo>.video-script.mdO arquivo para a etapa de vídeo: um bloco por slide com texto na tela, notas de produção, narração pronta para texto-para-fala e segundos, além de uma tabela de visão geral
_preview/slide-NN.png, _preview/contact-sheet.pngImagens 1920x1080 de cada slide e uma folha de contato, para sua própria verificação visual e como quadros para um vídeo
<nome_do_arquivo>.preview.mp4 (opcional)Um slideshow silencioso nos tempos do roteiro, ou um com narração quando existem arquivos de áudio por slide

Ferramentas que os scripts usam: Python 3.9+ com python-pptx, Pillow, lxml (e cairosvg para ícones, ou sharp-cli, rsvg-convert, Inkscape); LibreOffice e Poppler (pdftoppm) para renderizar pré-visualizações; ffmpeg para o vídeo de pré-visualização opcional. Os ícones são do conjunto Lucide (licença ISC) em assets/icons/.

Fluxo de Trabalho

Passo 0. Leia a fonte e estabeleça o briefing

  1. Leia todo o material da aula: objetivos, público-alvo, modo de entrega, o plano de aula com minutos, o roteiro, as perguntas com respostas, qualquer esboço de slides, apostilas. Se o usuário fornecer apenas um título, peça o conteúdo ou escreva-o primeiro (a skill complementar lesson-content-writer faz exatamente isso).
  2. Leia references/slide-standards.md (as regras e a estrutura do deck) e references/slide-types.md (os 16 tipos e seus limites de texto).
  3. Estabeleça: entrega (vídeo autocadenciado, então cada vídeo é um cluster com sua própria abertura, corpo e fechamento, mais slides de pausa; ou aula ao vivo, então slides para perguntar à sala e para briefings de prática); idioma (language, qualquer idioma funciona, en e vi obtêm verificações extras); tema (padrão navy; um tema por curso, reutilizado aula após aula); como o instrutor se dirige aos alunos (extraído do roteiro); nome e contato do instrutor para o rodapé.

Passo 1. Planeje o deck

A partir do esboço de slides da fonte, ou da sequência da aula, escreva uma tabela: # | tipo | a única ideia do slide | visual ou ícone | pergunta ou pausa | número do vídeo. Restrições:

  • Estrutura completa: title -> (question, um abridor "tente primeiro", se a aula tiver um) -> objectives -> agenda -> para cada parte uma section (ou a agenda novamente com current) -> 2 a 5 slides de conteúdo -> pelo menos uma question -> summary -> closing.
  • Uma ideia por slide. Pelo menos 4 tipos de slide por deck, nunca 3 do mesmo tipo seguidos, uma pausa ou pergunta a cada 10 a 12 minutos de narração.
  • Planeje o arco emocional e coloque um quebra-ritmo nas marcas de 1/3 e 2/3; escreva os títulos como afirmações, não como rótulos (references/rhythm-and-titles.md). Números com fonte vão para big-numbers ou chart, não em bullets.
  • Fatos, termos, números e exemplos vêm apenas da fonte da aula. Nunca os invente. Exemplos vêm do próprio trabalho dos alunos.
  • Cursos em vídeo: siga o plano de aula, cubra cada seção, exemplo, pergunta de pausa e exemplo prático da fonte em um slide ou na narração, e declare videos com minutos planejados para que o roteiro possa alertar sobre vídeos finos. Um esboço de slides na fonte é um piso, não um teto. Uma aula de 100 minutos geralmente precisa de 35 a 60 slides; o modelo de 17 slides é uma demonstração técnica, não uma aula completa.

Passo 2. Escreva slides.json

Copie templates/slides.example.json e preencha a partir do plano. Para cada slide:

  • O texto na tela consiste em palavras-chave e linhas curtas que cabem em 24 pt (limites por tipo em slide-types.md). Muito longo? Divida o slide. Nunca diminua o texto.
  • narration: a partir do roteiro da aula, reescrito para o ouvido (references/narration-and-video-script.md): uma respiração por linha, cada linha termina com . , ? ou !, números escritos como são falados, o slide nunca é lido palavra por palavra, slides de pergunta dizem "pause o vídeo".
  • notes: direções de produção (revelar um por um, apontar, circular, inserir clipe, "Silêncio 60 segundos").
  • Escolha ícones pelo significado (slide-types.md, seção 4) e mantenha um ícone por conceito recorrente em todo o curso. Imagens reais (capturas de tela, fotos de produtos) ficam ao lado de slides.json com sua fonte em IMAGE-SOURCES.md. Pergunte antes de baixar imagens da web e verifique a licença.
  • Escreva como uma pessoa, não como um folheto (references/plain-human-voice.md).

Passo 3. Construa e verifique

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

O script PARA em violações graves: mais de 6 linhas, texto que não cabe em 24 pt, uma palavra órfã que não pode ser corrigida juntando duas palavras, um ícone ou imagem faltando, um tipo desconhecido, um travessão proibido ou frase de IA genérica, um rótulo de temporizador que discorda da narração, um item que a narração nunca lê. Corrija slides.json e reconstrua até que haja 0 erros. Leia também todos os avisos (linhas longas, dígitos na narração, três slides de um tipo seguidos, nenhum quebra-ritmo, vídeos finos) e corrija ou anote por que não.

python scripts/render_slides.py slides/<curso>/<aula>/<nome_do_arquivo>.pptx

Olhe para _preview/contact-sheet.png, depois para cada slide-NN.png em tamanho real, com a lista de verificação na seção 5 de slide-standards.md: texto cortado ou sobreposto, grandes áreas vazias, desalinhamento, legível a um terço do tamanho, um ponto focal por slide. Corrija, reconstrua, olhe novamente até que uma passagem completa não mostre nada. Nunca declare concluído sem olhar a renderização mais recente.

Opcional, para verificar o ritmo ou para entregar um rascunho de vídeo:

python scripts/preview_video.py slides/<curso>/<aula>/slides.json [--audio <pasta com S01.mp3 ...>]

Aulas longas em plataformas de vídeo (um tópico por vídeo, 10 a 12 minutos): mantenha um slides.json no nível da aula com um número de video em cada slide e divida-o:

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

Cada vídeo recebe sua própria pasta e deck com um slide de título ("Vídeo k/N"), seus próprios objetivos, seu corpo e um fechamento que faz a ponte para o próximo vídeo. Edite o arquivo no nível da aula, nunca os gerados.

Passo 4. Relatório

Entregue ao usuário: os caminhos do deck, do roteiro de vídeo e da folha de contato; uma pequena tabela de visão geral (# - tipo - ideia - segundos); contagem de slides e duração estimada; o tema; suas suposições (forma de tratamento, números e de onde vieram); avisos que você deixou e por quê. Mostre a folha de contato.

Várias aulas em sequência

Reutilize o tema, rodapé, forma de tratamento e o conjunto de ícones-por-conceito das aulas anteriores na mesma pasta de curso. Mantenha os slides de title e closing idênticos no layout em todo o curso, e deixe cada fechamento fazer a ponte para a próxima aula.

Princípios

  • Os padrões não se movem (slide-standards.md). O conteúdo dentro deles é onde a criatividade flui. O script é o guardião; nunca desligue uma verificação para passar adiante.
  • Slides são para os olhos, narração é para os ouvidos. Os dois canais somam-se um ao outro e nunca se duplicam.
  • Os alunos fazem algo. Cada parte tem uma pergunta ou uma pausa; o deck termina com uma ação concreta.
  • Títulos em maiúsculas por padrão ("title_case": "upper"), o JSON permanece como escrito para que a narração e as legendas não sejam afetadas. Maiúsculas ocupam mais espaço, então mantenha os títulos curtos.
  • 24 pt é o mínimo para tudo, incluindo rótulos, legendas, fontes e rodapés. Muito longo significa reescrever, não encolher.
  • Sem palavras órfãs. Uma palavra sozinha na última linha de um título, cartão, etapa ou bullet parece quebrada. O script junta as duas últimas palavras quando isso cabe, e para quando não cabe.
  • Execute e depois entregue. Construa, renderize, olhe, meça. Nunca adivinhe.
  • Para adicionar um tipo de slide, adicione um método s_<tipo> em scripts/build_slides.py, registre-o em KINDS, documente-o em slide-types.md e construa um deck de teste antes de usá-lo.

Arquivos de referência

  • references/slide-standards.md - o que são slides de aprendizagem digital, as dez regras de design e como o script verifica cada uma, a estrutura do deck, princípios de aprendizagem multimídia, a lista de verificação pré-entrega.
  • references/slide-types.md - o formato slides.json, os 16 tipos de slide com limites de texto, temas, planejamento de vídeo, a lista de ícones.
  • references/narration-and-video-script.md - regras de narração para texto-para-fala ou voz humana, notas de produção, ler cada item na tela, entregar para a produção de vídeo.
  • references/rhythm-and-titles.md - o arco emocional de uma aula, quebra-ritmos em 1/3 e 2/3, títulos como afirmações, padrões de frases para aberturas, comparações, números e fechamentos.
  • references/plain-human-voice.md - como remover a voz de IA: travessões e frases proibidos, ritmo de frase, detalhes concretos, opinião.
  • templates/slides.example.json - uma aula de demonstração de 17 slides que usa todos os tipos principais, já construída e verificada.

Habilidades Relacionadas