pptx

Criação, edição e análise de apresentações em PowerPoint (.pptx).

O que é pptx?

Esta habilidade capacita o agente de IA a criar, editar e analisar apresentações do PowerPoint (.pptx) com precisão. Ela cobre três fluxos de trabalho principais: ler e analisar conteúdo existente (extração de texto com markitdown ou acesso XML bruto para comentários, notas do apresentador, layouts etc.), criar novas apresentações do zero usando um processo HTML para PPTX (que lida com seleção de paleta de cores, padrões geométricos, hierarquia visual e posicionamento preciso) e editar apresentações existentes manipulando diretamente o formato Office Open XML (OOXML). Também oferece suporte à criação de apresentações baseadas em modelos, duplicando e reorganizando slides de modelo, além de substituir conteúdo de espaço reservado. A habilidade inclui etapas obrigatórias de validação visual (miniaturas) e validação XML para garantir que a saída final esteja correta e bem formatada. As plataformas compatíveis incluem ambientes de terminal com Python, Node.js e ferramentas como Sharp para rasterização de imagens.

Funciona com✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/ComposioHQ/awesome-claude-skills/tree/master/document-skills/pptx

Installed? Explore more Programação e Desenvolvimento skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Perguntar na sua IA favorita

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

Documentação

Criação, edição e análise de PPTX

Visão Geral

Um usuário pode solicitar que você crie, edite ou analise o conteúdo de um arquivo .pptx. Um arquivo .pptx é essencialmente um arquivo ZIP contendo arquivos XML e outros recursos que você pode ler ou editar. Você tem diferentes ferramentas e fluxos de trabalho disponíveis para diferentes tarefas.

Leitura e análise de conteúdo

Extração de texto

Se você precisar apenas ler o conteúdo textual de uma apresentação, converta o documento para markdown:

# Converter documento para markdown
python -m markitdown caminho-para-arquivo.pptx

Acesso XML bruto

Você precisa de acesso XML bruto para: comentários, notas do apresentador, layouts de slides, animações, elementos de design e formatação complexa. Para qualquer um desses recursos, você precisará descompactar uma apresentação e ler seu conteúdo XML bruto.

Descompactando um arquivo

python ooxml/scripts/unpack.py <arquivo_office> <diretorio_saida>

Nota: O script unpack.py está localizado em skills/pptx/ooxml/scripts/unpack.py em relação à raiz do projeto. Se o script não existir neste caminho, use find . -name "unpack.py" para localizá-lo.

Estruturas de arquivo principais

  • ppt/presentation.xml - Metadados principais da apresentação e referências de slides
  • ppt/slides/slide{N}.xml - Conteúdo de cada slide (slide1.xml, slide2.xml, etc.)
  • ppt/notesSlides/notesSlide{N}.xml - Notas do apresentador para cada slide
  • ppt/comments/modernComment_*.xml - Comentários para slides específicos
  • ppt/slideLayouts/ - Modelos de layout para slides
  • ppt/slideMasters/ - Modelos de slide mestre
  • ppt/theme/ - Informações de tema e estilo
  • ppt/media/ - Imagens e outros arquivos de mídia

Extração de tipografia e cores

Ao receber um exemplo de design para imitar: Sempre analise primeiro a tipografia e as cores da apresentação usando os métodos abaixo:

  1. Leia o arquivo de tema: Verifique ppt/theme/theme1.xml em busca de cores (<a:clrScheme>) e fontes (<a:fontScheme>)
  2. Amostra do conteúdo do slide: Examine ppt/slides/slide1.xml para uso real de fontes (<a:rPr>) e cores
  3. Pesquise por padrões: Use grep para encontrar referências de cores (<a:solidFill>, <a:srgbClr>) e fontes em todos os arquivos XML

Criando uma nova apresentação do PowerPoint sem um modelo

Ao criar uma nova apresentação do PowerPoint do zero, use o fluxo de trabalho html2pptx para converter slides HTML em PowerPoint com posicionamento preciso.

Princípios de Design

CRÍTICO: Antes de criar qualquer apresentação, analise o conteúdo e escolha os elementos de design apropriados:

  1. Considere o assunto: Sobre o que é esta apresentação? Que tom, setor ou clima ela sugere?
  2. Verifique a identidade visual: Se o usuário mencionar uma empresa/organização, considere suas cores e identidade visual
  3. Combine a paleta com o conteúdo: Selecione cores que reflitam o assunto
  4. Declare sua abordagem: Explique suas escolhas de design antes de escrever código

Requisitos:

  • ✅ Declare sua abordagem de design baseada no conteúdo ANTES de escrever código
  • ✅ Use apenas fontes seguras para web: Arial, Helvetica, Times New Roman, Georgia, Courier New, Verdana, Tahoma, Trebuchet MS, Impact
  • ✅ Crie uma hierarquia visual clara por meio de tamanho, peso e cor
  • ✅ Garanta legibilidade: forte contraste, texto com tamanho adequado, alinhamento limpo
  • ✅ Seja consistente: repita padrões, espaçamento e linguagem visual entre os slides

Seleção de Paleta de Cores

Escolhendo cores criativamente:

  • Pense além dos padrões: Quais cores realmente combinam com este tópico específico? Evite escolhas automáticas.
  • Considere vários ângulos: Tópico, setor, clima, nível de energia, público-alvo, identidade visual (se mencionada)
  • Seja aventureiro: Tente combinações inesperadas - uma apresentação de saúde não precisa ser verde, finanças não precisa ser azul marinho
  • Construa sua paleta: Escolha 3 a 5 cores que funcionem juntas (cores dominantes + tons de apoio + destaque)
  • Garanta contraste: O texto deve ser claramente legível sobre os fundos

Exemplos de paletas de cores (use-os para despertar a criatividade - escolha uma, adapte ou crie a sua própria):

  1. Azul Clássico: Azul escuro (#1C2833), cinza ardósia (#2E4053), prata (#AAB7B8), off-white (#F4F6F6)
  2. Verde-azulado e Coral: Verde-azulado (#5EA8A7), verde-azulado escuro (#277884), coral (#FE4447), branco (#FFFFFF)
  3. Vermelho Forte: Vermelho (#C0392B), vermelho vivo (#E74C3C), laranja (#F39C12), amarelo (#F1C40F), verde (#2ECC71)
  4. Blush Quente: Malva (#A49393), blush (#EED6D3), rosa (#E8B4B8), creme (#FAF7F2)
  5. Luxo Borgonha: Borgonha (#5D1D2E), carmesim (#951233), ferrugem (#C15937), dourado (#997929)
  6. Roxo Escuro e Esmeralda: Roxo (#B165FB), azul escuro (#181B24), esmeralda (#40695B), branco (#FFFFFF)
  7. Creme e Verde Floresta: Creme (#FFE1C7), verde floresta (#40695B), branco (#FCFCFC)
  8. Rosa e Roxo: Rosa (#F8275B), coral (#FF574A), rosa (#FF737D), roxo (#3D2F68)
  9. Lima e Ameixa: Lima (#C5DE82), ameixa (#7C3A5F), coral (#FD8C6E), azul-cinza (#98ACB5)
  10. Preto e Dourado: Dourado (#BF9A4A), preto (#000000), creme (#F4F6F6)
  11. Sálvia e Terracota: Sálvia (#87A96B), terracota (#E07A5F), creme (#F4F1DE), carvão (#2C2C2C)
  12. Carvão e Vermelho: Carvão (#292929), vermelho (#E33737), cinza claro (#CCCBCB)
  13. Laranja Vibrante: Laranja (#F96D00), cinza claro (#F2F2F2), carvão (#222831)
  14. Verde Floresta: Preto (#191A19), verde (#4E9F3D), verde escuro (#1E5128), branco (#FFFFFF)
  15. Arco-Íris Retrô: Roxo (#722880), rosa (#D72D51), laranja (#EB5C18), âmbar (#F08800), dourado (#DEB600)
  16. Terroso Vintage: Mostarda (#E3B448), sálvia (#CBD18F), verde floresta (#3A6B35), creme (#F4F1DE)
  17. Rosa Costeiro: Rosa velho (#AD7670), castor (#B49886), casca de ovo (#F3ECDC), cinza cinza (#BFD5BE)
  18. Laranja e Turquesa: Laranja claro (#FC993E), turquesa acinzentado (#667C6F), branco (#FCFCFC)

Opções de Detalhes Visuais

Padrões Geométricos:

  • Divisores de seção diagonais em vez de horizontais
  • Larguras de coluna assimétricas (30/70, 40/60, 25/75)
  • Cabeçalhos de texto rotacionados a 90° ou 270°
  • Molduras circulares/hexagonais para imagens
  • Formas triangulares de destaque nos cantos
  • Formas sobrepostas para profundidade

Tratamentos de Bordas e Molduras:

  • Bordas grossas de uma cor (10-20pt) em apenas um lado
  • Bordas de linha dupla com cores contrastantes
  • Suportes de canto em vez de molduras completas
  • Bordas em forma de L (superior+esquerdo ou inferior+direito)
  • Destaques sublinhados abaixo dos cabeçalhos (3-5pt de espessura)

Tratamentos Tipográficos:

  • Contraste extremo de tamanho (títulos de 72pt vs. corpo de 11pt)
  • Cabeçalhos em maiúsculas com espaçamento amplo entre letras
  • Seções numeradas em tipo de exibição superdimensionado
  • Monoespaçada (Courier New) para dados/estatísticas/conteúdo técnico
  • Fontes condensadas (Arial Narrow) para informações densas
  • Texto contornado para ênfase

Estilo de Gráficos e Dados:

  • Gráficos monocromáticos com uma única cor de destaque para dados importantes
  • Gráficos de barras horizontais em vez de verticais
  • Gráficos de pontos em vez de gráficos de barras
  • Grades mínimas ou nenhuma
  • Rótulos de dados diretamente nos elementos (sem legendas)
  • Números superdimensionados para métricas importantes

Inovações de Layout:

  • Imagens com sangria total com sobreposições de texto
  • Coluna lateral (20-30% de largura) para navegação/contexto
  • Sistemas de grade modular (blocos 3×3, 4×4)
  • Fluxo de conteúdo em padrão Z ou padrão F
  • Caixas de texto flutuantes sobre formas coloridas
  • Layouts de várias colunas estilo revista

Tratamentos de Fundo:

  • Blocos de cor sólida ocupando 40-60% do slide
  • Preenchimentos gradientes (apenas verticais ou diagonais)
  • Fundos divididos (duas cores, diagonal ou vertical)
  • Faixas de cor de borda a borda
  • Espaço negativo como elemento de design

Dicas de Layout

Ao criar slides com gráficos ou tabelas:

  • Layout de duas colunas (PREFERIDO): Use um cabeçalho que abranja toda a largura e, em seguida, duas colunas abaixo - texto/marcadores em uma coluna e o conteúdo em destaque na outra. Isso proporciona melhor equilíbrio e torna os gráficos/tabelas mais legíveis. Use flexbox com larguras de coluna desiguais (por exemplo, divisão 40%/60%) para otimizar o espaço para cada tipo de conteúdo.
  • Layout de slide inteiro: Deixe o conteúdo em destaque (gráfico/tabela) ocupar todo o slide para máximo impacto e legibilidade
  • NUNCA empilhe verticalmente: Não coloque gráficos/tabelas abaixo do texto em uma única coluna - isso causa problemas de legibilidade e layout

Fluxo de Trabalho

  1. OBRIGATÓRIO - LEIA O ARQUIVO INTEIRO: Leia html2pptx.md completamente do início ao fim. NUNCA defina limites de alcance ao ler este arquivo. Leia o conteúdo completo do arquivo para obter sintaxe detalhada, regras críticas de formatação e práticas recomendadas antes de prosseguir com a criação da apresentação.
  2. Crie um arquivo HTML para cada slide com as dimensões adequadas (por exemplo, 720pt × 405pt para 16:9)
    • Use <p>, <h1>-<h6>, <ul>, <ol> para todo o conteúdo de texto
    • Use class="placeholder" para áreas onde gráficos/tabelas serão adicionados (renderize com fundo cinza para visibilidade)
    • CRÍTICO: Rasterize gradientes e ícones como imagens PNG PRIMEIRO usando Sharp, depois referencie-os no HTML
    • LAYOUT: Para slides com gráficos/tabelas/imagens, use layout de slide inteiro ou layout de duas colunas para melhor legibilidade
  3. Crie e execute um arquivo JavaScript usando a biblioteca html2pptx.js para converter slides HTML em PowerPoint e salvar a apresentação
    • Use a função html2pptx() para processar cada arquivo HTML
    • Adicione gráficos e tabelas às áreas de espaço reservado usando a API PptxGenJS
    • Salve a apresentação usando pptx.writeFile()
  4. Validação visual: Gere miniaturas e inspecione em busca de problemas de layout
    • Crie grade de miniaturas: python scripts/thumbnail.py output.pptx workspace/thumbnails --cols 4
    • Leia e examine cuidadosamente a imagem da miniatura em busca de:
      • Texto cortado: Texto sendo cortado por barras de cabeçalho, formas ou bordas do slide
      • Sobreposição de texto: Texto sobrepondo-se a outro texto ou formas
      • Problemas de posicionamento: Conteúdo muito próximo aos limites do slide ou outros elementos
      • Problemas de contraste: Contraste insuficiente entre texto e fundos
    • Se forem encontrados problemas, ajuste as margens/espaçamento/cores do HTML e regenere a apresentação
    • Repita até que todos os slides estejam visualmente corretos

Editando uma apresentação do PowerPoint existente

Ao editar slides em uma apresentação do PowerPoint existente, você precisa trabalhar com o formato Office Open XML (OOXML) bruto. Isso envolve descompactar o arquivo .pptx, editar o conteúdo XML e recompactá-lo.

Fluxo de Trabalho

  1. OBRIGATÓRIO - LEIA O ARQUIVO INTEIRO: Leia ooxml.md (~500 linhas) completamente do início ao fim. NUNCA defina limites de alcance ao ler este arquivo. Leia o conteúdo completo do arquivo para obter orientação detalhada sobre a estrutura OOXML e fluxos de trabalho de edição antes de qualquer edição de apresentação.
  2. Descompacte a apresentação: python ooxml/scripts/unpack.py <arquivo_office> <diretorio_saida>
  3. Edite os arquivos XML (principalmente ppt/slides/slide{N}.xml e arquivos relacionados)
  4. CRÍTICO: Valide imediatamente após cada edição e corrija quaisquer erros de validação antes de prosseguir: python ooxml/scripts/validate.py <dir> --original <file>
  5. Compacte a apresentação final: python ooxml/scripts/pack.py <diretorio_entrada> <arquivo_office>

Criando uma nova apresentação do PowerPoint usando um modelo

Quando você precisar criar uma apresentação que siga o design de um modelo existente, precisará duplicar e reorganizar os slides do modelo antes de substituir o conteúdo do espaço reservado.

Fluxo de Trabalho

  1. Extraia o texto do modelo E crie uma grade visual de miniaturas:

    • Extraia o texto: python -m markitdown modelo.pptx > modelo-conteudo.md
    • Leia modelo-conteudo.md: Leia o arquivo inteiro para entender o conteúdo da apresentação do modelo. NUNCA defina limites de alcance ao ler este arquivo.
    • Crie grades de miniaturas: python scripts/thumbnail.py modelo.pptx
    • Veja a seção Criando Grades de Miniaturas para mais detalhes
  2. Analise o modelo e salve o inventário em um arquivo:

    • Análise Visual: Revise a(s) grade(s) de miniaturas para entender os layouts dos slides, padrões de design e estrutura visual
    • Crie e salve um arquivo de inventário do modelo em modelo-inventario.md contendo:
      # Análise de Inventário do Modelo
      **Total de Slides: [contagem]**
      **IMPORTANTE: Os slides são indexados a partir de 0 (primeiro slide = 0, último slide = contagem-1)**
      
      ## [Nome da Categoria]
      - Slide 0: [Código do layout, se disponível] - Descrição/propósito
      - Slide 1: [Código do layout] - Descrição/propósito
      - Slide 2: [Código do layout] - Descrição/propósito
      [... CADA slide deve ser listado individualmente com seu índice ...]
      
    • Usando a grade de miniaturas: Consulte as miniaturas visuais para identificar:
      • Padrões de layout (slides de título, layouts de conteúdo, divisores de seção)
      • Locais e contagens de espaços reservados para imagens
      • Consistência de design entre grupos de slides
      • Hierarquia e estrutura visual
    • Este arquivo de inventário é OBRIGATÓRIO para selecionar modelos apropriados na próxima etapa
  3. Crie o esboço da apresentação com base no inventário do modelo:

    • Revise os modelos disponíveis da etapa 2.
    • Escolha um modelo de introdução ou título para o primeiro slide. Deve ser um dos primeiros modelos.
    • Escolha layouts seguros baseados em texto para os outros slides.
    • CRÍTICO: Combine a estrutura do layout com o conteúdo real:
      • Layouts de coluna única: Use para narrativa unificada ou tópico único
      • Layouts de duas colunas: Use SOMENTE quando você tiver exatamente 2 itens/conceitos distintos
      • Layouts de três colunas: Use SOMENTE quando você tiver exatamente 3 itens/conceitos distintos
      • Layouts de imagem + texto: Use SOMENTE quando você tiver imagens reais para inserir
      • Layouts de citação: Use SOMENTE para citações reais de pessoas (com atribuição), nunca para ênfase
      • Nunca use layouts com mais espaços reservados do que conteúdo
      • Se você tiver 2 itens, não os force em um layout de 3 colunas
      • Se você tiver 4+ itens, considere dividir em vários slides ou usar um formato de lista
    • Conte suas peças de conteúdo reais ANTES de selecionar o layout
    • Verifique se cada espaço reservado no layout escolhido será preenchido com conteúdo significativo
  4. Crie a apresentação copiando slides e substituindo o conteúdo:

    • OBRIGATÓRIO: Leia a seção modelo-inventario.md que você criou antes de prosseguir para garantir que você entendeu todos os slides disponíveis
    • Use os scripts OOXML para montar a apresentação:
      # Primeiro, descompacte o modelo
      python ooxml/scripts/unpack.py modelo.pptx workspace/descompactado
      cd workspace/descompactado
      # Edite ppt/presentation.xml para reorganizar/reordenar slides
      # Copie os arquivos de slide necessários: cp ppt/slides/slide1.xml ppt/slides/slideN.xml
      # Edite o conteúdo do slide XML, referências de relacionamento e espaços reservados
      # Valide a estrutura:
      python ooxml/scripts/validate.py workspace/descompactado --original modelo.pptx
      # Recompacte em um novo arquivo:
      python ooxml/scripts/pack.py workspace/descompactado workspace/minha_apresentacao.pptx
      
  5. Validação visual: Repita as etapas de validação visual da criação sem modelo

Criando Grades de Miniaturas

Use python scripts/thumbnail.py para criar uma grade de miniaturas de slides para rápida inspeção visual. Isso permite que você veja todos os slides de uma só vez para verificar a correção visual, consistência de layout, contraste e sobreposição de texto.

# Uso básico
python scripts/thumbnail.py entrada.pptx [diretorio_saida] [opcoes]

# Especificar número de colunas (padrão: 4) e largura da miniatura
python scripts/thumbnail.py entrada.png -c 5 -s 300

Onde encontrar o script: Se scripts/thumbnail.py não existir em relação ao diretório de trabalho atual, localize-o:

  • Procure por: find . -path "*/pptx/scripts/thumbnail.py"
  • Ou baixe de: curl -O https://raw.githubusercontent.com/ComposioHQ/awesome-claude-skills/master/scripts/thumbnail.py

Scripts Auxiliares e Referências

Scripts de utilidade OOXML

  • Descompactar: python ooxml/scripts/unpack.py <arquivo_entrada> <diretorio_saida>
  • Validar: python ooxml/scripts/validate.py <diretorio> --original <arquivo_original_pptx>
  • Compactar: python ooxml/scripts/pack.py <diretorio_entrada> <arquivo_saida>

Script de miniatura de slides

  • python scripts/thumbnail.py <arquivo_entrada_pptx> <diretorio_saida> [opcoes]

Referências Externas

Exemplos Rápidos

Criar nova apresentação (sem modelo)

# 1. Leia html2pptx.md na íntegra
# 2. Crie arquivos HTML para cada slide
# 3. Crie e execute um script JS para converter e salvar
# 4. Valide visualmente com thumbnail.py

Criar nova apresentação (a partir de modelo)

# 1. Extraia o texto e crie miniaturas do modelo: markitdown + thumbnail.py
# 2. Analise e crie inventário
# 3. Descompacte: unpack.py
# 4. Copie/reorganize slides via presentation.xml e arquivos de slide
# 5. Substitua o conteúdo do espaço reservado
# 6. Valide: validate.py
# 7. Compacte: pack.py

Editar apresentação existente

# 1. Leia ooxml.md na íntegra
# 2. Descompacte: unpack.py
# 3. Edite arquivos XML (slides, notas, comentários, etc.)
# 4. Valide: validate.py
# 5. Compacte: pack.py

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

ably-automation

Automate Ably tasks via Rube MCP (Composio). Always search tools first for current schemas.

abstract-automation

Automate Abstract tasks via Rube MCP (Composio). Always search tools first for current schemas.

abuselpdb-automation

Automate Abuselpdb tasks via Rube MCP (Composio). Always search tools first for current schemas.

abyssale-automation

Automate Abyssale tasks via Rube MCP (Composio). Always search tools first for current schemas.

accelo-automation

Automate Accelo tasks via Rube MCP (Composio). Always search tools first for current schemas.

accredible-certificates-automation

Automate Accredible Certificates tasks via Rube MCP (Composio). Always search tools first for current schemas.

acculynx-automation

Automate Acculynx tasks via Rube MCP (Composio). Always search tools first for current schemas.

active-campaign-automation

Automate ActiveCampaign tasks via Rube MCP (Composio). Always search tools first for current schemas.

addresszen-automation

Automate Addresszen tasks via Rube MCP (Composio). Always search tools first for current schemas.

adobe-automation

Automate Adobe tasks via Rube MCP (Composio). Always search tools first for current schemas.

adrapid-automation

Automate Adrapid tasks via Rube MCP (Composio). Always search tools first for current schemas.

adyntel-automation

Automate Adyntel tasks via Rube MCP (Composio). Always search tools first for current schemas.

aeroleads-automation

Automate Aeroleads tasks via Rube MCP (Composio). Always search tools first for current schemas.

aero-workflow-automation

Automate Aero Workflow tasks via Rube MCP (Composio). Always search tools first for current schemas.

affinda-automation

Automate Affinda tasks via Rube MCP (Composio). Always search tools first for current schemas.

affinity-automation

Automate Affinity tasks via Rube MCP (Composio). Always search tools first for current schemas.

agencyzoom-automation

Automate Agencyzoom tasks via Rube MCP (Composio). Always search tools first for current schemas.

agent-mail-automation

Automate Agent Mail tasks via Rube MCP (Composio). Always search tools first for current schemas.

agentql-automation

Automate Agentql tasks via Rube MCP (Composio). Always search tools first for current schemas.

agenty-automation

Automate Agenty tasks via Rube MCP (Composio). Always search tools first for current schemas.

Habilidades Relacionadas