Communitygithub.com

G-resentation

Transforme "fazer um PPT" em um fluxo completo de produção, desde a pergunta até a entrega — extraia requisitos e público, fixe o número de slides, escolha a rota de criação, produza amostras de três páginas, entregue em lotes e faça a aprovação final com versionamento.

O que é G-resentation?

G-resentation é uma skill de orquestração para agentes de IA (como Claude Code, Cursor ou Codex) que organiza a criação completa de apresentações (slides, decks, PPT). Diferente de outras skills que geram slides diretamente, ela atua como um maestro: primeiro questiona o usuário exaustivamente para definir escopo, público e estrutura; depois escolhe a melhor rota de produção (HTML, imagem ou PPTX editável) e delega a execução para skills especializadas como `frontend-slides`, `guizang-ppt-skill`, `ppt-master` ou `imagegen`. A skill impõe gates rigorosos: validação de sumário, congelamento de páginas, amostras de três páginas complexas, produção em lotes de dez e checklist final de qualidade. Suporta plataformas Unix (macOS, Linux) e Windows (Git Bash, PowerShell) com scripts em Python puro (3.10+). Ideal para projetos que exigem rastreabilidade e controle, pois versiona cada etapa e não permite avançar sem aprovação explícita.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/QinyuTan/G-resentation/tree/HEAD/skills/g-resentation

Perguntar na sua IA favorita

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

Documentação

O que G-resentation faz?

Transforme "fazer um PPT" em um fluxo completo de produção, desde a pergunta até a entrega. O nome vem de grill me in presentation: primeiro te questiono até você não ter respostas vagas, depois ponho a mão na massa.

Esta skill é apenas de orquestração: ela pergunta requisitos, define estrutura, escolhe a rota, delega o trabalho para as skills de criação adequadas e, por fim, faz a aprovação. Ela não desenha páginas.

Na primeira execução, rode python3 "<SKILL_DIR>/scripts/doctor.py" — ele vai te dizer o que está faltando e qual o próximo comando. O guia completo está em QUICKSTART.md.

Limites

  • Usar quando: o conteúdo ainda não está definido e você precisa criar um material de apresentação do zero.
  • Não usar quando: já existe um sumário página a página e você só quer diagramá-lo, ou quando a tarefa é apenas embelezar, editar uma página ou converter formato — nesse caso, chame diretamente a skill de criação.
  • Prioridade de ativação: esta skill primeiro escolhe a rota, depois chama a skill de criação. As skills de criação também podem se declarar capazes de "gerar apresentações", mas não deixe que elas pulem a etapa 0.

Estrutura do Projeto

Cada projeto fica em uma pasta decks/<slug>/, com nomes de arquivo fixos. Cada etapa seguinte só reconhece esses nomes:

decks/<slug>/
├── brief.md      Definição de requisitos (produzido na Etapa 0)
├── outline.md    Roteiro página a página (P01, P02…)
├── assets/
│   ├── sources/  Materiais originais para verificação de fatos
│   └── media/    Imagens, logotipos, capturas de tela que vão para os slides
├── out/          Artefatos finais
└── versions/     Versões congeladas

Projetos pequenos podem omitir as pastas assets/ e versions/.

Scripts

Os três scripts fazem apenas tarefas determinísticas; não substituem julgamento. Usam apenas a biblioteca padrão do Python, funcionam em qualquer Python 3.10+, sem pacotes extras.

<SKILL_DIR> é o caminho absoluto do diretório onde esta skill está instalada. Substitua antes de executar. Os comandos abaixo funcionam em macOS, Linux e Git Bash; no PowerShell, escreva "$S\xxx.py" em vez de "$S/xxx.py".

S="<SKILL_DIR>/scripts"

python3 "$S/new_deck.py" q4-review --title "Review Q4"      # Cria a pasta do projeto e dois arquivos vazios
python3 "$S/new_deck.py" weekly-sync --small              # Projeto pequeno
python3 "$S/check_outline.py" decks/q4-review             # Verifica numeração contínua, seis campos e compara com a linha de base congelada
python3 "$S/snapshot.py" decks/q4-review outline          # Congela versão, incrementa automaticamente v01, v02…

No Windows, python3 pode ser um placeholder da Microsoft Store. Execute python3 -V primeiro para confirmar; se não funcionar, use python ou py -3. Todos os scripts aceitam qualquer interpretador disponível.

Se check_outline.py retornar código de saída diferente de zero, corrija antes de prosseguir. Após congelar, execute-o novamente: ele listará as diferenças de numeração de página em relação a versions/v01-outline/, que é a proteção para "alterar a P07 apenas pelo número".

Dependências Externas (Opcionais, Instale Conforme Necessário)

Esta skill é apenas a camada de orquestração e não inclui nenhuma ferramenta de criação. As quatro abaixo são necessárias dependendo da rota escolhida. Se faltar alguma, a skill opera em modo degradado:

DependênciaRotaO que fazer se não estiver instalada
frontend-slidesApresentação HTMLCriar HTML de página única, ou usar uma das duas rotas seguintes
guizang-ppt-skillOutro estilo de apresentação HTMLSubstituir por frontend-slides
ppt-masterPPTX editávelCair para HTML ou imagens, anotando na página "PPTX não gerado"
imagegenPáginas como imagensExportar PNG a partir de captura de tela do HTML

Para instalar qualquer uma: npx skills add <owner/repo>. Consulte os repositórios específicos.

ppt-master tem dependências não padronizadas (python-pptx, PyYAML, skia-pathops, uharfbuzz, etc.). Não fixe o caminho do interpretador de ninguém; primeiro detecte:

PY=$(command -v python3 || command -v python)
"$PY" -c "import pptx, yaml, pathops, uharfbuzz" 2>/dev/null \
  || echo "Faltam dependências: peça ao usuário para executar pip install -r <PPT_MASTER_DIR>/requirements.txt nesse ambiente Python"

Após passar, execute a verificação de integridade dele: "$PY" "<PPT_MASTER_DIR>/scripts/attribution_guard.py". Se retornar diferente de zero, pare. Não ignore nem contorne.

Material e Fatos

Para conteúdo "atual", não confie na memória. Se a skill aihot estiver instalada, use-a para obter as últimas novidades — ela é uma API pública somente leitura, sem necessidade de chave:

curl -sL "https://aihot.virxact.com/api/v1/items?mode=selected&window=7d&q=<palavra-chave>&limit=10"
curl -sL "https://aihot.virxact.com/api/v1/hot-topics"
  • mode=selected é o pool selecionado. Se a consulta com q retornar vazia, tente com mode=all e anote "não entrou no pool selecionado".
  • Salve a resposta bruta em assets/sources/ para referência futura; não a inclua nos arquivos de entrega.
  • No rodapé, cite apenas a fonte original de terceiros (publicador, nome do relatório, data). Não reproduza o resumo do site de notícias nem use o link dele como citação.
  • A API permite uso pessoal e não comercial. Para entregas comerciais ao cliente, cobrança externa ou redistribuição em massa, obtenha autorização de acordo com os termos dela; não assuma que pode usar.
  • Se a skill não estiver instalada ou a coleta falhar, recorra a pesquisa pública ou peça que o usuário forneça os dados, informando a data de corte.

Fluxo

1. Classificação

O único critério é: se este trabalho der errado, dá para desfazer?

  • Cliente externo, revisão formal, material para arquivar ou distribuir, entrega entre departamentos → projeto grande.
  • Reunião interna semanal, grupo restrito de conhecidos, pode ser refeito a qualquer momento → projeto pequeno.

Após classificar, informe com uma frase: "Vou tratar isso como projeto grande" ou "É pequeno, só preencha o formulário". O usuário pode alterar a classificação.

2. Levantamento de Requisitos (gate)

  • Projeto pequeno: Dê o assets/brief-template.md para o usuário preencher. Se faltar algo, pergunte especificamente; não adivinhe.
  • Projeto grande: Faça uma pergunta de cada vez: primeiro conteúdo, depois as quatro dimensões do público, por último o formato. Roteiro e frases em references/step0.md.

Independentemente da classificação, ao final, parafraseie em três frases: "Isso é para quem ver, o que eles devem fazer, o que devem lembrar depois de ver." Só escreva o brief.md após confirmação do usuário.

3. Roteiro Página a Página (gate)

Escreva o outline.md seguindo os sete campos de references/step0.md. Cada página com um número, começando em P01 em sequência. O título fica na linha do número; os outros seis campos abaixo. Use o prompt P1 Roteiro de references/prompts.md, substituindo todos os [ ] pelo conteúdo real do brief.md. Depois execute check_outline.py: numeração não contínua, título ou campos ausentes significam que não está pronto.

Após confirmação, congele: execute imediatamente snapshot.py <deck> outline para salvar a linha de base. O número de páginas e a numeração não podem mais ser alterados. Qualquer adição ou remoção de página exige aprovação do usuário; qualquer reorganização deve reportar "P07 original → P05 atual". Daqui em diante, "alterar a página X" refere-se apenas ao número.

4. Escolha da Rota + Amostra de Três Páginas (gate)

Primeiro adivinhe, depois confirme: com base no brief, sugira uma rota, explique o motivo e peça que o usuário a rejeite se não quiser. Não pergunte "Qual você quer?" Critérios e chamadas em references/paths.md.

As amostras devem ser as três páginas mais complexas: capa, a página com mais informações e a que tem gráfico ou fluxo mais complicado. Entregue artefatos reais (HTML navegável, PNG visível, PPTX que abre), não capturas de tela. Só após a confirmação da direção, produza em escala. Os prompts das três rotas (P3 / P4 / P6) já incluem a exigência de amostra, sem necessidade de escrever separadamente.

5. Produção

Chame a skill correspondente à rota e o prompt adequado:

RotaPromptSkill
Apresentação WebP3frontend-slides ou guizang-ppt-skill
ImagensP4, se necessário P5imagegen; P5 usa ppt-master
PPTX editávelP6ppt-master

Se houver imagens de referência ou requisitos visuais altos, adicione P2 Decomposição de Estilo antes do prompt; sem referência, pule e o estilo segue o padrão da skill de criação.

Substitua todos os [ ] nos prompts pelo conteúdo real do brief.md. Não envie nenhum prompt com colchetes vazios.

Produza em lotes de dez páginas. Após cada lote, informe "P11–P20 prontas". Não interrompa o ritmo; só pare se uma página específica não puder ser criada.

Antes de usar ppt-master, verifique se o interpretador pode importar os pacotes necessários. Se não puder, peça ao usuário para instalar o requirements.txt daquela skill. Não fixe o caminho do ambiente virtual alheio:

PY=$(command -v python3 || command -v python)
"$PY" -c "import pptx, yaml, pathops, uharfbuzz" || echo "Faltam dependências; veja a seção 'Dependências Externas' acima."

6. Aprovação + Versionamento Final

Siga as quatro categorias de references/checklist.md. Para a versão web, abra-a de verdade no navegador integrado e teste navegação, zoom e modo offline. Para cada item que falhar, use P7 Edição de Página Única, com o número da página e uma captura de tela. Altere uma página por vez. Para problemas comuns em várias páginas, descreva o escopo e reavalie o conjunto todo.

Antes de entregar, execute snapshot.py <deck> final para salvar uma versão.

7. Instruções de Entrega

Uma frase clara: de qual arquivo abrir, quais condições de execução são necessárias e quais limitações conhecidas existem.

Regras Rígidas

  • Em cada ponto de verificação, faça apenas perguntas específicas ("A direção dessas três páginas está correta? O que está errado?"), nunca "O que você acha?".
  • Não invente fatos, números ou casos. Se houver conflito ou falta de informações, pare e pergunte; não adivinhe.
  • Se um requisito não puder ser atendido, informe claramente a limitação e a alternativa; não degrade silenciosamente.
  • Se o mesmo problema não melhorar após duas rodadas, investigue a causa; não continue gerando repetidamente.
  • O fluxo completo só para duas vezes: na amostra e na verificação final. Entre elas, não confirme página por página.

Habilidades Relacionadas