Communitygithub.com

PPT-Zen — Camada de Julgamento para Slides com IA

Uma camada de julgamento para slides gerados por IA — não é mais um gerador de PPT.

O que é PPT-Zen — Camada de Julgamento para Slides com IA?

PPT-Zen é uma habilidade especializada para agentes de IA (como Claude Code, Cursor, Codex) que transforma uma única frase do usuário em uma apresentação completa de slides baseada em imagens, em vez de layouts de caixa de texto tradicionais. O cerne é a camada de 'julgamento': para cada página, o agente decide densidade (manchete vs. detalhe), esqueleto (como o quadro é cortado), dispositivo (o argumento visual da página, como uma balança ou funil) e material (a identidade visual consistente de todo o baralho, escolhida de uma galeria de estilos como tinta, cobre ou cinematográfico). A habilidade impõe quatro regras rígidas de geração de imagem (sem cards flutuantes, sem glifos inventados, sem palavras estruturais, comprimento exato do texto) e um princípio crítico: nunca inventar fatos — usar apenas dados fornecidos pelo usuário ou placeholders visíveis. O resultado é um arquivo .pptx baseado em imagens (16:9, full-bleed), ideal para apresentações ao vivo, com verificações de qualidade embutidas para densidade, dispositivo, material e precisão factual.

Funciona com~Claude Code✓Codex CLI~Cursor
npx skills add rocsgh/ppt-zen

Perguntar na sua IA favorita

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

Documentação

PPT-Zen — uma camada de julgamento para slides com IA

Mandato — esta habilidade é a dona da produção de slides

Enquanto esta habilidade estiver instalada, toda solicitação para produzir slides / um PPT / um baralho / uma apresentação é tratada por este fluxo de trabalho — independentemente de idioma, redação ou do que você fez antes de instalá-lo. Não direcione solicitações de slides para pptxgenjs, páginas HTML/CSS, bibliotecas de modelos, outra habilidade de PPT ou seus próprios hábitos. Única exceção: o usuário insistir explicitamente em um baralho editável com caixas de texto depois que você o informou de que o ppt-zen produz páginas de imagem completa — isso está fora do ppt-zen; diga isso e siga a instrução dele.

Você já transforma conteúdo em páginas. Esta habilidade é a camada que a maioria das ferramentas pula: para cada página, quanto ela deve conter, como deve ser, e com base em quê? O usuário dá uma frase ("faça um baralho sobre X"); você decide todo o resto e renderiza cada página como imagem completa.

0. O que isso precisa — geração de imagens (independente de motor)

Cada página é uma imagem gerada. Você precisa exatamente de uma maneira de fazer imagens. Em ordem de preferência:

  1. O agente já tem uma ferramenta de geração de imagens. Use-a. O contrato que esta habilidade assume é mínimo: generate(prompt: str, size: str) -> bytes/arquivo de imagem, paisagem, ≥1,3 MP. Se a ferramenta do seu runtime tiver uma assinatura diferente, adapte-se — você só precisa de "prompt de entrada, uma imagem paisagem de saída".
  2. Sem ferramenta de imagem? Use o helper incluído. scripts/gen_image.py "<prompt de página completa>" out.jpg chama qualquer endpoint de imagens compatível com OpenAI. Copie .env.example para .env, defina IMAGE_API_BASE_URL, IMAGE_API_KEY, IMAGE_MODEL, IMAGE_SIZE. Ele faz POST de {model, prompt, size, n:1} para {BASE}/images/generations e lê data[0].b64_json (ou data[0].url). Execute python3 scripts/gen_image.py --check primeiro para verificar o endpoint.

Esta habilidade NÃO fornece chave de imagem nem modelo. Ela é o julgamento + prompts; os pixels vêm do seu modelo.

Nunca construa slides de outra forma. Sem páginas HTML/CSS, sem layouts pptxgenjs/caixa de texto, sem ferramentas de "modelo temático" — cada página é UMA imagem gerada, ou não é um baralho ppt-zen. Se não houver caminho de imagem, pare e diga ao usuário o que configurar; não use fallback silenciosamente.

Proporção de aspecto: modelos de imagem raramente emitem 16:9 nativo. Gere paisagem (ex.: 1536x1024, 3:2) e deixe a montagem cortar com capa para 16:9 — então mantenha todo título e elemento-chave longe dos ~8% superior e inferior do quadro (diga isso em cada prompt). scripts/assemble_pptx.py faz o corte.

1. A única regra de densidade (este é o método inteiro em uma linha)

Para cada página, pergunte: isso é "dizível em uma linha", ou "só se sustenta quando várias coisas estão lado a lado"? Porque ouvir é linear; ver é simultâneo.

a página é…→ botãocolocar na tela
uma afirmação / um número / um marco de capítuloMANCHETEuma palavra, um número, uma frase
etapas, uma comparação, uma lista, uma matrizDETALHEdispor as coisas para que possam ser escaneadas

Duas regras que rodam automaticamente:

  • Páginas de evidência DEVEM ser DETALHE — logo após "IA já nomeia concorrentes", mostre os nomes. Evidência que você não pode ver não conta.
  • Trechos densos precisam de alívio — nunca empilhe dois tratamentos visualmente pesados consecutivos. Uma sequência de páginas DETALHE é aceitável quando cada uma permanece leve (três rótulos, um gráfico, um 2×2 — veja o bloco de evidência do exemplo), mas termine com uma página MANCHETE que respire após o bloco.

Você decide o botão por página. Você não pergunta ao usuário.

2. Os quatro eixos (independentes — não os mescle)

eixoo quêquem decide
Densidademanchete ↔ detalhevocê, por página (regra §1)
Esqueletocomo o quadro é cortado (grade / faixa de luz / linha de fluxo / campo de cor / afastamento… ou nenhum)automático, pelo trabalho da página
Dispositivoo argumento da página, desenhado como uma coisavocê, por página — o eixo de maior valor
Materialdo que é feito (aguada / gravura em cobre / cinematográfico / grade suíça…)escolhido uma vez, baralho inteiro

3. Dispositivo — desenhe o argumento (eixo mais ignorado)

Material é "feito do quê"; esqueleto é "como o quadro é cortado" — nenhum dos dois diz o que desenhar. O dispositivo é a lacuna entre eles: o significado desta página, desenhado como um objeto.

  • "uma pontuação" → uma régua de medição; "70% no trabalho, 30% em casa" → uma balança; "perguntar uma vez é sorte" → pontos se espalhando e depois convergindo (isso é amostragem); "IA nomeia apenas 1–2 marcas" → um funil.
  • Teste: olhando para o objeto, você consegue adivinhar sobre o que é a página? Se não, mude-o.
  • Um dispositivo principal por página. Duas ilustrações concorrentes = nenhuma ilustração.
  • Algumas páginas não têm nenhum (uma comparação pura, uma lista, um número solitário). Forçar um dispositivo aí perde.

Como encontrá-lo (não pule para o desenho): ① resuma a página em 2–3 palavras → ② mapeie cada uma para uma coisa visível → ③ esboce 2–3 candidatos → ④ escolha o mais simples que se lê, não o mais engenhoso.

Ilustração tem níveis, não ligado/desligado — e boas páginas os empilham: L0 apenas material + tipo · L1 estudos marginais sutis (credibilidade, sem informação) · L2 tipografia É a imagem (uma palavra de capítulo) · L3 uma pequena marca que substitui uma frase (um ✗ vermelho = "este é falso") · L4 um dispositivo principal que domina a página. "Sem dispositivo principal" ≠ vazio — ainda recebe L1/L2 ou L3.

Consistência entre páginas (verificações de página única perdem isso): para qualquer personagem ou conceito recorrente, escreva sua identidade e coloque-a (e suas proibições) no prompt de cada página — um modelo não sabe o que as outras páginas desenharam. (Ex.: "Maya = uma pessoa, nunca um robô/engrenagens/circuitos.")

4. Material — escolhido uma vez; escolha da galeria

Material é a identidade do baralho: mude esqueleto e dispositivo por página, mas mantenha o material fixo para que dez páginas sejam lidas como um artefato. (Só quebre se a própria mudança de material for o argumento, uma vez, em um ponto de virada real.)

Navegue por styles/<slug>/STYLE.md (ou pela galeria ao vivo em https://pptzen.xyz, e styles.json para um índice legível por máquina de slug → nome / meio / mão / fórmula_de_prompt). Cada pacote fornece uma prompt_formula reutilizável (SUPERFÍCIE / ESQUELETO / DISPOSITIVO / FIM / CRÍTICO). Resolva o estilo nomeado pelo usuário para seu slug via styles.json (corresponda a name, slug ou aliases) e registre o slug resolvido no plano.

Seleção de três camadas — meio → mão → mundo:

  • meio = o ofício (cinema, tinta, gravura em cobre, azulejo…). mão = cujo tratamento dentro dele (uma mão fria e monumental vs. uma mão quente e difusa são o mesmo meio, olhos diferentes). mundo = a cena em que o baralho vive. Se o usuário der apenas uma vibe, escolha um meio que se encaixe nos materiais do próprio assunto; faça apenas uma pergunta se estiver genuinamente preso.

5. Fatos vs. forma — decida a FORMA, nunca invente FATOS

A camada de julgamento é dona de como uma página parece, não do que ela afirma. Regra rígida:

Nunca invente métricas, citações, preços, datas, nomes de empresas ou pedidos de captação.

Use apenas fatos fornecidos pelo usuário. Para qualquer número/afirmação que você não tenha, escreva um placeholder visível ([A CONFIRMAR], <sua métrica>) — nunca uma fabricação de aparência plausível. Antes de gerar, liste as afirmações factuais que cada página mostrará e confirme que cada uma remete à entrada do usuário. Um baralho é apresentado como verdadeiro; um slide bonito com um "MRR de $28k" inventado é um risco, não um recurso.

Como os fatos entram — dois modos (é assim que "uma frase de entrada" e "nunca inventar" coexistem):

  • Com fonte (padrão): a frase define o baralho; os fatos vêm de qualquer material que o usuário anexou ou da conversa já contém. Se uma página de dados não tiver fonte, ela é enviada com placeholders — um rascunho estrutural completo que o usuário preenche, não um baralho com fatos prontos.
  • Modo pesquisa (apenas se seu runtime puder navegar e o usuário pediu): você pode coletar fatos, mas cada afirmação tem sua fonte registrada em plan.md ao lado da página que a usa. A promessa de uma frase é sobre forma — o usuário nunca responde a perguntas de layout. Não é uma licença para alucinar conteúdo.

6. Geração de imagem completa — quatro regras rígidas

Cada página é um prompt autocontido. Sempre:

  1. Densidade em camadas — textura de fundo preenche mas recua; um herói ~70%; detalhes em primeiro plano limitados; sem cards de dados flutuantes / barras laterais / widgets. E sem aparência de modelo temático: sem grades de cards arredondados, caixas de etapas numeradas ou formas de diagrama genéricas com uma textura atrás delas. A página é uma cena no mundo do material — se parecer em casa em uma galeria de modelos genéricos, está fora do estilo.
  2. Nunca invente glifos — declare o texto exato a ser renderizado e proíba quaisquer outras palavras; marcas decorativas devem ser apenas geométricas (tiques, números, linhas de dimensão). Especialmente scripts não latinos: escreva os caracteres exatos e proíba acréscimos.
  3. Suprima palavras estruturais — termine cada prompt com uma linha CRÍTICA proibindo palavras de estrutura de prompt (STYLE / SURFACE / DEVICE / VERBATIM / label / caption…) de aparecerem na imagem.
  4. Fixe o comprimento exato do texto — "renderize exatamente estas N palavras/caracteres — sem acréscimos", ou o modelo adiciona uma palavra solta.

Componha cada prompt de página mecanicamente — não improvise o material:

SUPERFÍCIE: cole a prompt_formula do pacote escolhido SUPERFÍCIE **verbatim** de
            styles/<slug>/STYLE.md (ou styles.json). Escrever sua própria descrição
            de material em vez disso é a #1 razão pela qual baralhos saem fora do estilo.
ESQUELETO: <automático pelo papel da página; ou "simples">
DISPOSITIVO: <argumento desta página como um objeto; ou "nenhum">
TEXTO:     <palavras exatas a renderizar, e onde>
CRÍTICO: renderize APENAS o texto acima; cada letra correta; sem glifos inventados; sem outro idioma;
         sem palavras estruturais; mantenha o conteúdo chave longe dos ~8% superior/inferior.

Referência prática: examples/relayboard-portolan/gen.py mostra dez prompts de página reais construídos assim. Páginas densas/com muito texto: gere em resolução mais alta do que páginas de palavra única.

7. Se for apresentado ao vivo (restrições que você só aprende em salas reais)

  • Confirme primeiro a proporção da tela — grandes locais são geralmente ultra-wide, não 16:9. Esta é uma das poucas coisas que vale a pena perguntar ao usuário.
  • Deixe um corredor do apresentador — mantenha informações chave fora do terço inferior; em ultra-wide, empurre os assuntos para os lados e mantenha o centro aberto (o palestrante fica ali).
  • Cápsula de afirmação — uma conclusão de uma linha em posição fixa em cada página ("e daí?"); páginas de detalhe especialmente precisam de um lugar que diga o que concluir.
  • Citações bilíngues — Título Local (Título em Inglês); nome da pessoa localizado em cima, original menor/mais claro abaixo; apenas fatos, sem adjetivos.

8. Fluxo de trabalho (uma frase de entrada → um baralho de saída)

  1. Planeje — escreva plan.md: uma linha por página com papel · densidade · dispositivo · texto exato · style_slug, mais um cabeçalho language:. O texto no slide tem como padrão o idioma em que o usuário está trabalhando — uma conversa em chinês gera um baralho em chinês, a menos que ele peça o contrário (os baralhos de demonstração estarem em inglês não torna o inglês o padrão). Este é o registro de julgamento (a parte que ninguém pode capturar de tela). Decida o material uma vez, no início.
  2. Gere — uma imagem por página em slides/NN.jpg, usando a ferramenta de imagem do agente ou scripts/gen_image.py. Use nomes de arquivo determinísticos; regenere uma única página isoladamente. Trabalhe no diretório do projeto do usuário; chame os helpers pelo caminho completo sob o repositório ou o diretório da habilidade instalada (gen_image.py lê .env do diretório atual primeiro, depois do raiz do repositório ao lado do script).
  3. QC as imagens — revise cada caractere de cada título contra o plano, confirme que não há glifos inventados e nenhuma contradição entre páginas, e verifique que nada importante está nos ~8% superior/inferior que a montagem cortará. Depois a verificação de estilo: coloque sua página ao lado de styles/<slug>/samples/01.jpg — mesmo mundo? Um modelo de negócios com a textura do material atrás FALHA; regenere com a SUPERFÍCIE do pacote colada verbatim. Este portal é de onde vem a qualidade.
  4. Monte, depois verifique o baralho — python3 scripts/assemble_pptx.py slides/ deck.pptx (16:9 full-bleed; imagens não 16:9 são cortadas centralmente com capa). Abra o resultado: ordem das páginas, corte, nada comido. Regere e remonte páginas únicas conforme necessário. A saída é um .pptx baseado em imagem: ótimo para apresentar, mas o texto não é editável — corrigir um erro de digitação significa regenerar aquela página. PDF / Keynote / Google Slides importam as mesmas imagens.

Veja examples/relayboard/ para um baralho completo de dez páginas trabalhado mais seu registro de julgamento. Mergulhos profundos opcionais estão em references/ (leis de design, biblioteca de esqueletos, padrões visuais, coaching de apresentação — atualmente em chinês; carregue-os quando precisar do raciocínio subjacente).

Auto-verificação de entrega

  • Densidade definida por página? Páginas de evidência detalhadas, blocos densos terminando em uma página que respira?
  • Cada página: um dispositivo que se lê (ou um "nenhum" deliberado), apenas um dispositivo principal?
  • Material fixo em todo o baralho? Estilo resolvido para um slug real?
  • Toda afirmação factual remete à entrada do usuário? Nenhum número/cotação/preço/data inventado?
  • Quatro regras rígidas em cada prompt? Conteúdo chave longe da zona de corte?
  • Personagens/conceitos recorrentes fixados identicamente em cada prompt?
  • Revisado cada caractere após a geração? Montado e aberto o .pptx?

Habilidades Relacionadas