# Aula Com Introducao

> Aula com introdução (obrigatória) — B555

- Skill: `naubergois/aula-com-introducao` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add naubergois/aula-com-introducao`
- Raw SKILL.md: https://api.skillmd.com/api/skills/naubergois/aula-com-introducao/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: naubergois (https://skillmd.com/u/naubergois)
- Updated: 2026-09-21
- Page: https://skillmd.com/skills/naubergois/aula-com-introducao

---


# Aula com introdução (obrigatória) — B555

Regra do curso: **nenhuma aula sai sem introdução falada**. A introdução vive no campo `abertura`
(primeiro trecho de áudio, antes do slide 01) e deve ser uma introdução completa — não um gancho de uma linha.

## A introdução (abertura) tem 4 batidas — OBRIGATÓRIO
Voz Nauber, pt-BR falado, ~60–95 palavras:
1. **Gancho / situação** — 1 frase que prende (use a analogia da aula).
2. **O que você vai aprender** — agenda concreta citando os **tópicos reais dos slides** daquela aula.
3. **Por que importa** — 1 frase ligando ao trabalho/decisão.
4. **Frase-guia** — a `frase_guia` do pacote (padrão: `a rede calcula; nós decidimos`).

Anti-padrões: abertura de uma frase só; abertura genérica que serve pra qualquer aula; repetir "Eu sou o
Nauber" em todo slide; jargão de slide vazio; UNIFOR/Turma/prefeitura.

## Sincronizar em 3 lugares (sempre)
Para cada `<id>`:
1. `planejamento/pacotes-editoriais/<id>.json` → campo `abertura`; `abertura_audio_status="pendente"`;
   remover `abertura_audio_provedor`/`abertura_audio_src`; `narracao_revisada_em` = data de hoje.
2. `narracoes/textos/<id>.md` → linha `> <abertura>` logo após o `# título`.
3. `narracoes/audio/<id>/abertura.txt` → texto puro + `\n`.

Prosa humana (todas as apps, não só este curso): `.cursor/skills/texto-humano/SKILL.md`.
O slide 01 **ensina a primeira ideia**. Não refaz a agenda da abertura. Lab/AVA/próxima aula ficam no `fecho`.
Detalhe de aula-texto: `docs/SPEC-REESCRITA-NARRACOES.md` e `.cursor/rules/estrutura-aula-texto-b555.mdc`.

## Validar antes de gerar áudio (obrigatório)
Rode o validador; só gere MP3 quando passar:
```bash
python3 .cursor/skills/aula-com-introducao/scripts/validar_introducao.py <id...|--todas>
```
Ele falha se a abertura estiver ausente, curta demais, sem frase-guia, ou dessincronizada entre os 3 lugares.

## Exemplo aprovado (keras-07)
> Entra séries temporais, e o personagem principal é o tempo. Pensa num sensor mandando um número atrás do
> outro, minuto a minuto. Hoje você vai recortar esse fluxo em janelas deslizantes, montar um LSTM de memória
> curta, prever o próximo valor e fazer o split por tempo: treino no passado, teste no futuro. No trabalho isso
> serve pra demanda, monitoramento de equipamento e sensor, e embaralhar o tempo é cola na prova. Frase-guia: a
> rede calcula; nós decidimos.

