Communitygithub.com

mhashim6/teleprompter

Teleprompter que marca e destaca seu script palavra por palavra, com pausas, dois temas e memória por deck. Com habilidade de criação de conteúdo para agentes.

O que é teleprompter?

Esta skill de agente de IA auxilia na criação de decks de teleprompter autorais a partir de material bruto, como texto colado, imagens, PDFs ou slides PowerPoint. O agente é responsável pelo trabalho criativo: entrevistar o usuário, ingerir o conteúdo, escrever o roteiro com pausas rítmicas e escolher o tom de voz. A compilação final do deck em JSON é feita exclusivamente por uma ferramenta determinística (`tools/deck.js`), que conta palavras, estima a duração exata e gera um ID estável. A skill suporta modos de narração completa ou notas de sinalização (cue mode), pausas personalizáveis, e gera relatórios de duração por slide, permitindo iterações rápidas para ajustar o timing. O deck compilado pode ser carregado no aplicativo Teleprompter uma vez e, a partir daí, persiste no dispositivo.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add mhashim6/teleprompter

Perguntar na sua IA favorita

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

Documentação

Crie um deck de teleprompter

Transforme material bruto em um deck de teleprompter finalizado e bem ritmado. Você (o agente) faz o trabalho criativo — entrevista, ingere, escreve a prosa, coloca pausas retóricas. Uma ferramenta determinística comprometida (tools/deck.js) faz o trabalho contratual difícil — analisa, conta palavras, estima a duração exata, monta o JSON, carimba um id estável. Nunca escreva o JSON do deck à mão; sempre compile-o através da ferramenta para que o contrato e o relatório de duração sejam garantidos por máquina.

Leia references/format.md para o formato exato de criação do .deck.md e a receita de extração de pptx antes de começar a escrever.

Fluxo de Trabalho

1. Reúna a fonte

Pergunte qual é a fonte e, em seguida, ingira-a:

  • Texto colado / anotações — use diretamente.
  • Imagens / capturas de tela — leia os arquivos de imagem você mesmo (visão). Nenhum script.
  • PDF — leia você mesmo com a ferramenta Read (suporte nativo a PDF). Nenhum script.
  • PowerPoint (.pptx) — converta o deck para texto da maneira que funcionar melhor na máquina do usuário (veja references/format.md → "Extraindo um .pptx"): capture o texto por slide e as notas do orador, depois verifique se a saída parece correta antes de rascunhar a partir dela. Trate o arquivo como não confiável; não confirme nenhum script de extração descartável que você escrever.

As notas do orador são o melhor material bruto para a narração — prefira-as em vez dos marcadores no slide quando ambos existirem.

2. Confirme a intenção e os metadados (pergunte, não presuma)

Proponha um esqueleto por slide a partir da fonte — número, título, type (ex.: content, section-divider), a dica on-screen (o que o público vê), e um target aproximado em minutos por slide — e confirme. Pergunte também:

  • Duração total desejada para a palestra (orienta os alvos por slide).
  • Público / propósito (ajusta registro e profundidade).
  • Modo de conteúdo — narração completa (escreva a prosa falada) ou notas de sinalização (marcadores curtos com pontos de discussão que o apresentador expande com suas próprias palavras, com uma pausa após cada ponto para espaço de fala). Veja references/format.md → "Modos de conteúdo". Se o usuário já pediu por dicas / pontos de discussão / um deck resumido ou no estilo de notas, pule esta pergunta e crie no modo de notas; caso contrário, pergunte.
  • Estilo de fala / voz. Ofereça a skill blacktree-voice do próprio usuário se ele quiser no tom de seu blog pessoal, ou um registro: conversacional, formal, enérgico ou neutro. Aplique essa voz ao rascunhar. (No modo de notas, a voz molda as poucas palavras que você escreve; o apresentador fornece o resto ao vivo.)
  • Idioma (padrão pt-BR para corresponder ao contexto).

Use AskUserQuestion para essas escolhas ramificadas, em vez de adivinhar.

3. Rascunhe a narração

Escreva o roteiro falado por slide na voz escolhida. Coloque pausas rítmicas onde a retórica as exigir — após uma revelação, antes de uma lista, em uma mudança brusca de tópico — usando [[pause]] (1s) ou [[pause:1.5]] (personalizado). Este posicionamento semântico é seu trabalho; a ferramenta apenas valida e relata.

No modo de notas, não escreva frases completas: escreva um marcador curto de ponto de discussão por parágrafo e termine cada um com uma pausa de orçamento de fala ([[pause:20]]– [[pause:30]] para um ponto substancial, menos para pontos menores), dimensionando as pausas para somar ao target do slide. As poucas palavras do marcador são lidas em segundos, então as pausas são o que atinge o alvo. Veja references/format.md → "Modos de conteúdo" para a convenção e a nota de que a flag de ritmo do relatório é esperada e ignorada aqui.

Escreva tudo em decks/<slug>.deck.md no formato de references/format.md. Mantenha cada parágrafo como uma batida lógica (a ferramenta colapsa a quebra suave).

4. Compile

node tools/deck.js decks/<slug>.deck.md --wpm 130

Isso escreve decks/<slug>.json e imprime um relatório de duração: por slide, as palavras, contagem de pausas e segundos adicionados, m:ss estimado no ritmo de referência, o wpm implícito vs. o intervalo 60–220, e o delta em relação ao alvo de cada slide; além do total do deck. Use --wpm <n> para relatar no ritmo em que o usuário realmente lê.

Opcional: --fill-beats insere um [[pause]] estrutural no final dos parágrafos que não possuem um (nunca no último parágrafo de um slide, nunca duplicando uma batida existente). Desligado por padrão — use apenas se o usuário quiser espaço automático para respirar além das suas batidas criadas.

5. Confirme a duração e itere

Mostre o relatório ao usuário. Se um slide ultrapassar ou ficar abaixo do seu alvo, revise a prosa (aperte ou expanda) ou ajuste as pausas, depois recompile. Repita até que o timing se ajuste. O id do deck é estável (derivado do título / meta.id), então recompilar atualiza o mesmo deck no lugar, em vez de gerar duplicatas.

6. Finalize

Confirme o deck final e diga ao usuário:

  • O deck compilado está em decks/<slug>.json; a fonte editável é decks/<slug>.deck.md (pode ser reexecutado a qualquer momento).
  • Para usá-lo: abra o aplicativo → menu (canto inferior direito) → escolher arquivo e selecione o JSON, ou arraste o .json para a zona de soltar. decks/ não é listado automaticamente, então deve ser carregado uma vez; a partir daí, ele persiste nesse dispositivo e lembra sua posição.

Diretrizes

  • O JSON do deck é sempre produzido por tools/deck.js, nunca digitado manualmente.
  • Todo o texto do deck chega ao aplicativo via textContent/.value; ainda assim, mantenha os scripts livres de caracteres de controle (a ferramenta e Schema sanitizam, mas mantenha limpo).
  • Não confirme nenhum script de extração pptx descartável; extraia, verifique, limpe.
  • As pausas são tempo absoluto (não escaladas pelo ritmo); gaste-as deliberadamente.

Habilidades Relacionadas