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ência | Rota | O que fazer se não estiver instalada |
|---|---|---|
frontend-slides | Apresentação HTML | Criar HTML de página única, ou usar uma das duas rotas seguintes |
guizang-ppt-skill | Outro estilo de apresentação HTML | Substituir por frontend-slides |
ppt-master | PPTX editável | Cair para HTML ou imagens, anotando na página "PPTX não gerado" |
imagegen | Páginas como imagens | Exportar 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 comqretornar vazia, tente commode=alle 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.mdpara 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:
| Rota | Prompt | Skill |
|---|---|---|
| Apresentação Web | P3 | frontend-slides ou guizang-ppt-skill |
| Imagens | P4, se necessário P5 | imagegen; P5 usa ppt-master |
| PPTX editável | P6 | ppt-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.