Skip to content
Back to skills

Aula Animada

ASecurity

Cria AULA NARRADA ANIMADA de 2 a 5 minutos, com a duração escolhida pela pessoa, no estúdio da Claquete.ai: roteiro em partes no tom e no glossário da marca, uma ideia por tela, voz da ElevenLabs, legenda palavra a palavra, telas que entram no segundo em que a voz diz a palavra e direção de movimento com as skills de motion design. Trabalha sozinha e para em dois portões (o roteiro e plano de edição antes de narrar; a revisão da fala por um subagente antes de montar), confere ritmo, duração e...

  • 6 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 10, 2026
ai-agentspythongobashapi

Works with

  • api

Security analysis

A100/100

Scanned October 10, 2026

npx -y skills add dantaspaulo/claquete --skill aula-animada --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Aula Animada?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Aula Animada
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/dantaspaulo-aula-animada-claquete/badge)](https://www.skillsdirectory.com/skills/dantaspaulo-aula-animada-claquete)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: aula-animada
description: >-
  Cria AULA NARRADA ANIMADA de 2 a 5 minutos, com a duração escolhida pela pessoa, no estúdio da
  Claquete.ai: roteiro em partes no tom e no glossário da marca, uma ideia por tela, voz da
  ElevenLabs, legenda palavra a palavra, telas que entram no segundo em que a voz diz a palavra e
  direção de movimento com as skills de motion design. Trabalha sozinha e para em dois portões (o
  roteiro e plano de edição antes de narrar; a revisão da fala por um subagente antes de montar),
  confere ritmo, duração e som, e entrega o vídeo deitado e/ou em pé, apagando a montagem. Use
  sempre que a pessoa pedir "aula narrada", "aula animada", "aula em vídeo", "videoaula", "explicar
  um conceito em vídeo", "vídeo didático", "aula para a central de ajuda", "série de aulas" ou
  "transformar este texto em aula", mesmo que não diga "animada". Para mostrar uma ferramenta
  funcionando, use tutorial-de-tela.
metadata:
  resumo: Aula narrada e animada de 2 a 5 min, do tema ao vídeo entregue
---

# Aula narrada e animada

O resultado é uma aula curta: uma janela com a tela da vez, a etiqueta acima, a legenda palavra a
palavra embaixo e a voz conduzindo. Cada elemento entra **no segundo em que a voz diz a palavra
dele**, e nada fica parado mais de 2,5 s. Tudo sai de um arquivo só, `aulas/<id>.json`, pelo estúdio
(a pasta com `kit.config.json`; o instalador cria `estudio-video/`). Todo comando roda de dentro dele.

O Claude faz tudo sozinho e para só no **portão 1** (roteiro e plano de edição), no **portão 2**
(revisão da fala) e na **entrega**.

## Antes de escrever

1. **Leia a marca** em `marca/marca.json`: `publico`, `tom`, `glossario`, `palavras_proibidas`,
   `chamada` e `movimento`. Sem o arquivo, a aula sai no visual padrão; ofereça "configura minha
   marca" (skill claquete-marca).
2. **Pergunte numa rodada só** o que o pedido e a marca não respondem (a skill claquete pode já ter
   perguntado), com sugestão pronta:
   - **tema e público**: quem assiste e o que precisa sair sabendo, numa frase;
   - **duração**: 2, 3, 4 ou 5 minutos, a pessoa escolhe;
   - **formato**: deitado (`h`, para site, YouTube, central de ajuda), em pé (`v`, para Reels e
     celular) ou os dois;
   - **fonte**: o texto, o artigo ou as anotações dela. Fato e número só entram com fonte.
3. **Crie o arquivo**: `python3 scripts/kit.py novo <id> --tipo aula --minutos 3` (id em letras
   minúsculas, números e hífen).

## O tamanho certo

O `montar` recusa a aula fora de 20% da duração escolhida, para mais ou para menos, e fora de 2 a 5
minutos. O `plano` mostra a estimativa antes de qualquer gasto. A voz real sai um pouco mais rápida
ou mais lenta que a estimativa: mire no meio da faixa.

| Duração | Faixa aceita | Mire em | Partes |
|---|---|---|---|
| 2 min | 120 a 144 s | umas 340 palavras | 11 ou 12 |
| 3 min | 144 a 216 s | umas 470 palavras | 15 ou 16 |
| 4 min | 192 a 288 s | umas 620 palavras | 20 ou 21 |
| 5 min | 240 a 300 s | umas 700 palavras | 23 ou 24 |

Contas com a velocidade padrão da voz (1,1) e o convite de 4 s no fim. Passou de 5 minutos: divida
em duas aulas.

## O arquivo da aula

`aulas/<id>.json`. Modelo completo em `aulas/exemplo.json`.

```json
{
  "titulo": "Nome da aula",
  "cabecalho": "Série · Aula 1",
  "tipo": "aula",
  "minutos": 3,
  "destaques": ["palavras", "que", "ficam", "coloridas", "na", "legenda"],
  "partes": [
    {
      "fala": "O que a voz diz nesta tela.",
      "rotulo": "Etiqueta acima da janela",
      "tela": { "tipo": "lista", "kicker": "Etiqueta", "titulo": "Título com *destaque*",
                "itens": [{ "texto": "um", "quando": "palavra" }, "dois", "três"],
                "chips": [{ "texto": "ficha", "quando": "outra" }] }
    }
  ]
}
```

| tipo | campos | para quê |
|---|---|---|
| `capa` | `kicker`, `titulo`, `sub` | abertura |
| `lista` | `kicker`, `titulo`, `itens` (até 5) | pontos de uma ideia |
| `colunas` | `titulo`, `esquerda` e `direita` (`titulo`, `itens`) | antes e depois, isto e aquilo |
| `fluxo` | `kicker`, `titulo`, `passos` (até 5), `nota` | etapas em sequência |
| `frase` | `kicker`, `titulo`, `sub` | uma afirmação forte |
| `numero` | `kicker`, `de`, `para`, `legenda` | um número que conta até o valor |
| `imagem` | `arquivo` (em `public/`), `legenda`, `zooms` | foto ou ilustração |
| `video` | `arquivo`, `de`, `velocidade`, `legenda`, `zooms` | gravação de tela (skill tutorial-de-tela) |

- `*trecho*` no título fica em destaque.
- **`quando`** amarra a entrada à palavra falada (`"palavra"`, ou `"palavra#2"` para a segunda vez).
  Sem `quando`, os itens se espalham por igual na fala.
- **`chips`** são fichas que entram na palavra dita: o jeito mais simples de pôr algo novo na tela.
- **`zooms`**: `{ "quando": "palavra", "foco": [x0, y0, x1, y1], "ate": "palavra" }`, com o foco em
  frações da janela. A câmera enquadra o foco inteiro e escurece o resto (nunca corta pela metade).

## Como escrever a fala

- **Uma ideia por parte**, 20 a 40 palavras (8 a 14 s).
- Primeira parte: o que a aula mostra e por que importa para o público. Última: a recapitulação e a
  ponte para a chamada da marca, que o convite do fim mostra.
- A tela **resume** a fala, não repete: título curto, itens de poucas palavras.
- **No tom da marca** (`tom`). Sem marca: o de quem explica a um colega, frases curtas, segunda pessoa,
  sem jargão sem explicação.
- **Glossário**: o termo aparece como está, na fala e na tela, nunca trocado por sinônimo, nem para
  variar.
- **Palavras proibidas**: nem na fala (o `validar` recusa) nem na tela (nada recusa: confira).
- Diga o limite com clareza (o que a coisa não faz). Fato e número só com fonte.
- **Sem travessão** (a voz lê mal; o `validar` recusa na fala e nos textos da tela).

### Escrever para a voz (o que a revisão da fala reprova)

- Ano em algarismo (`2022`), não por extenso.
- Palavras que soam iguais: "por quê" e "por que", "sessão" e "seção". Troque a construção ("os motivos").
- Artigo ambíguo: "é o modelo" pode soar "é um modelo". Mude a frase.
- Concordância como a voz vai dizer ("a IA era rápida").
- Siglas e nomes estrangeiros: ponha a pronúncia em `kit.config.json` → `pronuncia` (`"IA": "iá"`)
  **antes de narrar**. Mudar a pronúncia de uma palavra depois só pede nova narração das partes que
  usam essa palavra (ver "Mudou depois do ok").
- Palavra que o transcritor sempre escreve diferente e que a voz diz certo (um nome de marca):
  `travas.aceitar` (`"Wize": "wise"`).

## O ritmo: nada parado mais de 2,5 s

A cada 2,5 s no máximo, algo **novo** na tela: item que entra, ficha, número que conta, zoom. Pulsar
e flutuar não contam. Duas travas:
1. `montar` calcula, pelos tempos da fala, quando cada elemento entra e **recusa** a parte que fica
   mais de 2,5 s sem novidade, dizendo onde.
2. `finalizar` mede o vídeo pronto (só a área da janela, sem a legenda) e recusa tela parada.

Resolva já no roteiro, antes do portão 1: **uma novidade a cada 5 palavras faladas, mais ou menos**
(2,5 s de voz são umas 6 palavras). Um `quando` em cada item, fichas onde a fala corre sem item novo,
ou a parte dividida em duas. Assim o `montar` não recusa depois do ok.

## Direção de movimento

Com as skills de motion design da iart.ai (o instalador põe junto). Elas decidem; o estúdio executa
com o que já tem: tipo de tela, `quando`, fichas, zooms, cores e fundo.

- **motion-art-direction**, antes do roteiro: transforme o `movimento` e o `tom` da marca em três
  ou quatro regras que valem para a aula toda, para tudo parecer feito pela mesma mão.
  - Sóbrio: fichas só as que o ritmo pede, zoom raro, mais `lista` e `fluxo`.
  - Dinâmico: partes mais curtas, mais fichas, `numero` e `colunas` para virar a página.
  - Editorial: `capa` e `frase` com título forte e `*destaque*`, poucos itens por tela.
- **shot-composition**: um ponto de atenção por tela; título curto, que caiba também no em pé (a
  janela em pé é estreita); o `foco` do zoom pega o elemento inteiro.
- **animation-principles**: espaçe as entradas. Itens chegando todos no fim da fala, ou três no
  mesmo segundo, cansam. Uma entrada a cada 1 a 2,5 s é o ritmo do estúdio.
- **color-motion**: a paleta da marca com contraste (texto sobre a janela, destaque sobre o fundo) e
  os tons de apoio (detalhes na skill claquete-marca).
- **logo-animation**: a vinheta da marca. Hoje fica à parte; o estúdio não a encaixa no começo e no
  fim das aulas (o tipo vinheta chega na 2.1). O logo da marca já aparece no encerramento.
- Animação nova (um tipo de tela que não existe) é código em `src/cenas/`, e os tempos de entrada
  precisam bater com `scripts/kit.py` (procure "RITMO" nos dois). O `--atualizar` do instalador
  troca a pasta `src/`. Só com o pedido da pessoa; a skill remotion-video ajuda.

## O fluxo

### 1. Roteiro e revisão

- Escreva `aulas/<id>.json` e rode `python3 scripts/kit.py validar <id>` (grátis) até não haver erro.
- **Revisor do roteiro**: um subagente com um modelo mais forte escrito no pedido (opus, por
  exemplo), porque a tarefa pede julgamento. Nunca herdando o modelo da sessão. Passe o arquivo da
  aula, `marca/marca.json` e a fonte. Ele devolve, parte por parte:
  - fato ou número sem fonte;
  - fora do tom da marca ou do nível do público;
  - termo do glossário trocado por sinônimo; palavra proibida na fala ou na tela;
  - frase difícil para a voz (palavras que soam iguais, ano, sigla sem pronúncia, artigo ambíguo);
  - tela que repete a fala em vez de resumir;
  - trecho de mais de umas 6 palavras sem novidade na tela;
  - duração estimada longe do meio da faixa.
- Corrija tudo e valide de novo.

### 2. Portão 1: roteiro e plano de edição

- `python3 scripts/kit.py plano <id>` gera `saida/<id>/roteiro-e-plano.md`: cada parte com a fala,
  a tela, o que entra em cada palavra, as fichas e os zooms, e a duração estimada. Tela `imagem` ou
  `video` com arquivo que ainda não existe é só aviso aqui (seção "A gravar depois do ok"); o `montar`
  a recusa.
- Mostre o conteúdo à pessoa na conversa, não só o caminho do arquivo. **Pare e espere.**
- Com o ok: `python3 scripts/kit.py aprovar <id>`. Pediu mudança: mude, gere o plano de novo e mostre
  outra vez.

### 3. Narrar

`python3 scripts/kit.py fazer <id> --formatos h,v` narra cada parte na ElevenLabs (a parte paga) e
para no portão 2 (código 2). Parte já narrada com a mesma fala, voz e pronúncia não é narrada de novo.

### 4. Portão 2: revisão da fala

O `conferir` (o `fazer` já roda) gera `public/aulas/<id>/conferencia.json`. Para cada parte:
- `fala` (o roteiro) e `falado` (o que foi para a voz, com a `pronuncia` aplicada);
- `audio` e `duracao`;
- `alertas`: palavras que soam iguais, ano no texto, sigla sem pronúncia;
- com a transcrição local (faster-whisper, que o instalador oferece): `ouvido`, `similaridade` (0 a
  1), `diferencas` e `situacao`: `ok` (a partir de `travas.similaridade_minima`, 0,9), `revisar`
  (de 0,75 até ali: o subagente decide) ou `reprovada` (abaixo de 0,75: o `--aprovado` recusa).
  Números simples por extenso e em algarismo ("dois" e "2") contam como iguais.

**Conferente da fala**: um subagente com um modelo rápido escrito no pedido (sonnet, por exemplo):
é conferência guiada por lista. Ele não ouve; ele lê. Devolve cada parte como aprovada ou reprovada,
com o motivo e o conserto:
- **Fala exata**: `ouvido` diz o mesmo que `fala`? Diferença que muda o sentido reprova. Diferença só
  de grafia ("e-mail" e "email") não reprova.
- **Pronúncia e siglas**: sigla ou nome estrangeiro que o transcritor escreveu errado indica que a
  voz disse errado.
- **Anos**: lidos como número.
- **Palavras que soam iguais** (`alertas`): o sentido sobrevive só de ouvido?
- **Glossário**: cada termo dito como está.
- **Duração**: muito longe de uns 0,36 s por palavra (pausa estranha, trecho cortado) pede ouvido.

Sem transcrição local, `ouvido` vem vazio. O subagente confere o lado do texto (`falado`, `alertas`,
glossário), e **a pessoa ouve os áudios listados no relatório** antes do ok. Diga quais partes ele
marcou para ouvir com atenção.

- **Aprovou**: `python3 scripts/kit.py conferir <id> --aprovado`.
- **Reprovou**: conserte e narre só a parte. Nunca afrouxe a trava.
  - Pronúncia, sigla ou ano: acerte `kit.config.json` → `pronuncia`. O roteiro não muda:
    `python3 scripts/kit.py narrar <id> --partes 3` e `conferir <id>` de novo.
  - Frase que precisa mudar (palavras que soam iguais, artigo ambíguo, sentido trocado): reescrever
    muda o roteiro aprovado, e o `narrar` recusa. Mostre à pessoa a frase antes e depois; com o ok,
    `aprovar <id>`, `narrar <id> --partes 3` e `conferir <id>`.
  - O transcritor escreve diferente uma palavra que a voz diz certo: `travas.aceitar`. Só quando o
    áudio está certo.
- O `--aprovado` recusa se alguma parte ficou `reprovada`, ou se a narração mudou depois do relatório.

### 5. Montar, renderizar, finalizar

- `python3 scripts/kit.py fazer <id> --formatos h,v` de novo (pula a voz e a revisão já feitas), ou
  por partes: `montar`, `renderizar`, `finalizar`. O `montar` prepara sempre os dois formatos; o
  `--formatos` (padrão `h`) vale para `renderizar` e `finalizar`.
- `montar` recusa: palavra de `quando` que a fala não tem; mais de 2,5 s sem novidade (diz a parte e
  o segundo); duração fora da faixa.
- `finalizar` põe o som em -14 LUFS, gera as legendas `.vtt` e `.srt` e a folha de quadros, e recusa
  tela parada no vídeo pronto. Ele apaga o arquivo bruto do render, mas roda de novo sobre o vídeo
  já finalizado (sem o bruto, e sem normalizar o som outra vez). Sem render nenhum, para com "não há
  render": aí renderize.
- Para ver no navegador antes do render: `npm run studio`, depois do `montar`.

### 6. Revisão da folha de quadros

`saida/<id>/<id>-h-folha.jpg` (e `<id>-v-folha.jpg`): 16 quadros do vídeo. **Revisor da folha**: um
subagente com um modelo rápido escrito no pedido (sonnet, por exemplo), que abre as imagens e aponta:
- texto cortado, vazando da janela ou quebrando feio;
- tela vazia;
- zoom ruim (o foco corta um elemento);
- legenda em cima de algo importante;
- cor, fonte ou logo fora da marca;
- dado sensível.

Para ver um momento exato, ele tira um quadro. O segundo está em `public/aulas/<id>/plano.json` (o
`inicio` da parte mais o `ini` da palavra):

```bash
mkdir -p saida/<id>/quadros
ffmpeg -ss <segundo> -i saida/<id>/<id>-h.mp4 -frames:v 1 saida/<id>/quadros/q1.jpg
```

Corrija o que ele apontar e rode de `montar` em diante.

### 7. Mudou depois do ok

- **Qualquer mudança no arquivo da aula depois do `aprovar`**, até uma ficha ou um foco de zoom:
  mostre à pessoa só a diferença e peça ok novo; com ele, `aprovar <id>` de novo. O `fazer` e o
  `narrar` param enquanto isso.
- Mudança só de tela não gera a voz de novo: rode de `montar` em diante.
- Mudança de fala: narre só as partes mudadas (`narrar <id> --partes 2,5`), depois `conferir`.
- **Cuidado com o custo**: mudar a `voz` (ou o modelo) muda a assinatura de **todas** as partes. Depois
  disso, narre só com `--partes` e siga com `conferir`, `montar`, `renderizar` e `finalizar` soltos.
  O `fazer`, e o `narrar` sem `--partes`, narrariam a aula inteira de novo. Já mudar a `pronuncia`
  de uma palavra só muda as partes cuja fala usa essa palavra: o `narrar` sem `--partes` refaz só elas.

### 8. Entrega

- Mostre o vídeo pronto (`saida/<id>/<id>-h.mp4`, `<id>-v.mp4`), a duração e o que as revisões
  acharam e corrigiram. **Pare e espere o ok.**
- Vai para uma página? Gere a versão leve antes de entregar (skill video-na-pagina).
- Com o ok: `python3 scripts/kit.py entregar <id> --destino <pasta>`. Ele copia o vídeo final, as
  legendas e as versões de página, confere a cópia e apaga a montagem (`public/aulas/<id>/` e
  `saida/<id>/`). Ficam o vídeo final e o arquivo da aula. Refazer depois narra de novo, e a voz é paga.

## Comandos

```bash
cd estudio-video
python3 scripts/kit.py novo <id> --tipo aula --minutos 3
python3 scripts/kit.py validar <id>                     # grátis
python3 scripts/kit.py plano <id>                       # portão 1: mostre e espere o ok
python3 scripts/kit.py aprovar <id>                     # só com o ok da pessoa
python3 scripts/kit.py fazer <id> --formatos h,v        # narra e para no portão 2
python3 scripts/kit.py conferir <id> --aprovado         # depois da revisão da fala
python3 scripts/kit.py fazer <id> --formatos h,v        # monta, renderiza e finaliza
python3 scripts/kit.py entregar <id> --destino <pasta>  # depois do ok ao vídeo pronto
```

Por partes: `narrar <id> [--partes 2,5]`, `conferir <id>`, `montar <id>` (sempre h e v),
`renderizar <id> --formatos h,v [--concorrencia 2]`, `finalizar <id> --formatos h,v [--pagina]`.
Código de saída 2 é portão (mensagem `AGUARDANDO`); 1 é erro (`PAROU`).

## A voz

- Só a ElevenLabs. A única chave é `ELEVENLABS_API_KEY`, no `.env` do estúdio (o instalador cria)
  ou no ambiente; nunca em arquivo versionado.
- Vem a **Raquel**, voz pública em português do Brasil, com o modelo `eleven_v4`. A voz da marca
  (`voz.voice_id` no `marca.json`) entra com `kit.py marca`. `python3 scripts/kit.py voz` confere a
  voz na conta e gera `saida/teste-voz.mp3`.
- `voz.velocidade` (padrão 1,1) é aplicada depois da síntese, e os tempos das palavras acompanham.
  `pausa_entre_partes`: 0,35 s.
- A ElevenLabs cobra por caractere. Uma aula de 3 minutos tem uns 2.500.

## A aparência

- `kit.py marca` leva cores, fontes, nome, logo, convite e palavras proibidas da marca para o
  `kit.config.json`, deriva os tons de apoio do fundo (claro leva texto escuro) e gera as fontes do
  Google Fonts sozinho. O que ele não acerta (a conferência de contraste) está na skill claquete-marca.
- `tema.fundo_imagem`: a foto desfocada atrás da janela (prontas: `fundos/champagne.jpg`,
  `fundos/oceano.jpg`, `fundos/esmeralda.jpg`; vazio = luzes em degradê nas cores da marca).
- Música de fundo: `trilha.arquivo` (um arquivo em `public/`) e `trilha.volume` (padrão 0,07).
- Não é preciso app de gravação: janela, sombra, fundo e zoom são do próprio estúdio.

## Tempo e máquina

- Narração: 1 a 2 minutos. Render: cerca de 1 minuto de máquina por minuto de vídeo, por formato
  (`--concorrencia 2` deixa a máquina mais leve). Uma aula por vez.
- O `renderizar` recusa sozinho com menos de 5 GB livres, e o `validar` e o `plano` avisam. Antes de
  gravar uma tela (a gravação em Playwright não passa pelo `kit.py`), confira o disco (no macOS e no
  Linux, `df -h .`) e, com menos de 5 GB livres, pare e avise.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…