Todas as skills

pptx (anthropics/skills)

Cria, lê e edita apresentações .pptx e .potx, modelos, layouts e notas do apresentador.

anthropics pptx: todos os grupos passam nas nossas verificações de deck (5.0 vs 4.99), a skill consome 1.4x os tokens; uma execução com prompt de uma frase gerou um deck que o LibreOffice não consegue abrir

SituacionalSeguro

Codex CLI · gpt-6-astra

24.0 / 30

Ganho sobre sem skill: +0.01 · Situacional · 17 execuções

Situacional: o ganho +0.01 está abaixo de +1.0. Para ser recomendado, é preciso total de 22/30, qualidade da saída de 3.5 e ganho de +1.0.

SOTA

Aprovado

Testado com Codex.

Cobre Codex, Claude Code

Codex CLI 0.166 (nível SOTA): 17 execuções avaliadas. Uma aprovação aqui também vale para o Claude Code pela nossa regra de níveis; ela não diz nada sobre o segundo nível.

Notas

Cada dimensão vai de 0 a 5, e as seis somam o total de 30. 5 é melhor em todas as dimensões. Custo 5 significa barato e rápido. Instalação 5 significa fácil.

Confiabilidade do acionamento
5.0
Ganho sobre sem skill
2.0
Qualidade da saída
5.0
Custo de tokens e tempo
3.0
Instalação e portabilidade
4.0
Segurança
5.0

Revisão de segurança

Seguro

Varredura estática: 0 CRÍTICO / 1 ALTO / 6 MÉDIO. Revisão manual: seguro para executar em sandbox sem rede (achados do scanner explicados). Uma varredura limpa não prova que a skill é segura.

Instalar

npx skills@latest add anthropics/skills --skill pptx

Fonte

Commit fixado: ca45fc496a3436251f191354091d557da31c15b5

Testado: 2026-11-02

O que testamos

  • Criar um pitch deck — Crie pitch.pptx: um deck 16:9 de 5 slides para o lançamento de um produto fictício chamado Falcon: um slide de título, um slide de Problema, um slide de Solução, um slide de Tração com um gráfico de barras da receita trimestral (Q1 12, Q2 18, Q3 27, Q4 35, em $k) e um slide final de Pedido. …
  • Inserir e renomear slides — Em team.pptx, mude o título do slide 2 para 'Perspectiva de receita' e insira um novo slide logo depois, com o título 'Riscos' e três tópicos (atrasos de fornecimento, contratação, câmbio). Mantenha todos os outros slides e suas notas do apresentador inalterados. Salve o resultado como team.pptx…
  • Extrair estrutura e tabela — A partir de team.pptx, escreva outline.txt (um título de slide por linha, em ordem) e table.csv (a tabela do slide de resultados, com a linha de cabeçalho primeiro). Não modifique team.pptx.

Prós

  • A skill foi acionada sem ser nomeada: o arquivo da skill foi lido em 6/6 execuções de tratamento.
  • Qualidade absoluta alta com a skill: 5.0 de 5.

Contras

  • Nenhum ganho mensurável em relação ao grupo sem skill (+0.01, dentro do ruído).
  • O grupo de controle já marca 4.99: efeito teto, então o teste não consegue mostrar ganho.
  • Ressalva do teste: 17 das 18 execuções planejadas; o braço de prompt de uma frase da t3 tem n=1. O lote foi interrompido após repetidas falhas do LibreOffice em uma máquina de teste.
  • n=2 por tarefa por braço; diferenças abaixo de cerca de 1 ponto são ruído.

Avaliação

Codex CLI 0.166 (gpt-6-astra, raciocínio baixo) em uma máquina de teste Mac, com um projeto temporário novo e HOME/TMPDIR/caches temporários a cada execução, skill instalada (tratamento), ausente (grupo de controle) ou ausente com o requisito central da skill comprimido em uma frase anexada ao prompt (grupo com prompt de uma frase), 2 execuções por grupo por tarefa, rede desligada, gravações em /tmp bloqueadas. Os prompts nunca mencionam a skill (exceto pelo texto indicado abaixo). Três tarefas: criar um pitch deck 16:9 de 5 slides (notas do apresentador em todos os slides, um gráfico nativo editável, tópicos reais, tudo no slide, abre no LibreOffice); em team.pptx, alterar o título do slide 2 para 'Perspectiva de receita' e inserir logo depois um slide 'Riscos' com três tópicos, mantendo os outros slides, a tabela e as notas do apresentador; extrair os títulos dos slides e a tabela para arquivos de texto sem modificar o deck. Os dois braços tinham as mesmas cópias offline de pptxgenjs e python-pptx. As verificações usam python-pptx e uma conversão feita offline pelo LibreOffice do nosso lado. Rodamos 17 das 18 execuções planejadas: o lote foi interrompido antes do fim (ver limites), então o grupo com prompt de uma frase tem uma execução a menos na tarefa de extração.

Comparação entre os braços

BraçoNota média (0-5)Tokens por execução
Sem a skill4.99114k
Prompt de uma frase4.86224k
Com a skill5.0162k

Medido com Codex CLI em 17 execuções, com pontuação por verificações baseadas em regras e sem juiz LLM. Total 24.0 / 30, veredito Situacional.

Divulgação: 17 das 18 execuções planejadas: o braço de uma frase da t3 tem n=1. O lote foi interrompido após repetidas falhas do LibreOffice em uma máquina de teste.

Veredicto: Situacional (24.0 / 30). Fonte: anthropics/skills, skills/pptx, fixado no commit ca45fc4. Instalação: npx skills@latest add anthropics/skills --skill pptx. Licença: Proprietária (LICENSE.txt no diretório da skill): avaliada somente para leitura, não redistribuída.

O que é

A skill pptx do anthropics/skills: criar decks com pptxgenjs (com uma lista de armadilhas que corrompem arquivos), editar decks descompactando e editando o XML dos slides com scripts auxiliares (add_slide.py, clean.py, thumbnail.py), ler conteúdo com markitdown e validar com scripts/office/validate.py e LibreOffice. Cerca de 3.100 palavras em SKILL.md, além de scripts Python e esquemas OOXML; licença proprietária, avaliada somente para leitura.

Como testamos

Codex CLI 0.166 (gpt-6-astra, raciocínio baixo) em uma máquina de teste Mac, com um projeto temporário novo e HOME/TMPDIR/caches temporários a cada execução, skill instalada (tratamento), ausente (controle) ou ausente com o requisito central da skill comprimido em uma frase anexada ao prompt (grupo de uma frase), 2 execuções por grupo por tarefa, rede desligada, gravações em /tmp bloqueadas. Os prompts nunca mencionam a skill (exceto pelo texto indicado abaixo).

Três tarefas: criar um pitch deck de 5 slides em 16:9 (notas do apresentador em cada slide, um gráfico nativo editável, marcadores reais, tudo dentro do slide, abre no LibreOffice); em team.pptx, renomear o slide 2 e inserir um slide "Risks" com três marcadores depois dele, mantendo os outros slides, a tabela e as notas do apresentador; extrair os títulos dos slides e a tabela para arquivos de texto sem modificar o deck. Os dois grupos tinham as mesmas cópias offline de pptxgenjs e python-pptx. As verificações usam python-pptx e uma conversão do LibreOffice feita offline do nosso lado. O teste foi executado com 17 das 18 execuções planejadas: o lote foi interrompido antes (ver limites), então o grupo de uma frase tem uma execução a menos na tarefa de extração.

  1. Criar um pitch deck — Crie pitch.pptx: um deck de 5 slides em 16:9 para o lançamento de um produto fictício chamado Falcon: um slide de título, um slide de Problema, um de Solução, um de Tração com um gráfico de barras da receita trimestral (Q1 12, Q2 18, Q3 27, Q4 35, em $k) e um slide final de Pedido. E…
  2. Inserir e renomear slides — Em team.pptx, mude o título do slide 2 para "Revenue outlook" e insira um novo slide logo depois com o título "Risks" e três marcadores (atrasos de fornecimento, contratação, câmbio). Mantenha todos os outros slides e suas notas do apresentador inalterados. Salve o resultado como team.pptx…
  3. Extrair tópicos e tabela — A partir de team.pptx, escreva outline.txt (um título de slide por linha, em ordem) e table.csv (a tabela do slide de resultados, com a linha de cabeçalho primeiro). Não modifique team.pptx.

A pontuação é programática (testes ocultos / identificação de problemas plantados / verificações de restrições / renderização + OCR quando aplicável), de 0 a 5 por execução. Nenhum juiz LLM decidiu qualquer pontuação.

Resultados

A frase única dada ao terceiro grupo: "Construa o deck como objetos reais do PowerPoint: defina o layout 16:9 primeiro, use um gráfico nativo editável (não uma imagem), marcadores reais (nunca caracteres '•' digitados), notas do apresentador pela API de notas, mantenha todas as formas dentro do slide e confirme que o arquivo abre convertendo-o para PDF; ao editar, altere apenas o que foi pedido, mantenha os outros slides e suas notas como estão e não deixe arquivos de trabalho."

TarefaPontuação do controleUma fraseCom a skillTokens do controleTokens de uma fraseTokens com a skillSkill lida
t1-new4.965.05.0147k342k185k2/2
t2-edit5.04.655.0114k175k199k2/2
t3-extract5.05.05.079k80k99k2/2

Pontuação média: 4.99 sem a skill vs. 5.0 com a skill (delta +0.01). Tokens por execução: 114k vs. 162k (1.42x); tempo 67s vs. 70s. Grupo de uma frase: 4.86 (ganho da skill sobre a frase única: +0.14; ganho da própria frase única sobre sem skill: -0.12); 224k tokens por execução no grupo de uma frase, então a skill custa 0.72x a frase única.

O que aconteceu

  • Nenhuma diferença na pontuação: 4.99 controle, 4.86 uma frase, 5.00 skill. O controle já cria decks corretos (5 slides, notas em todos, gráfico nativo, sem marcadores digitados, formas dentro do slide, abre no LibreOffice) e faz a edição com python-pptx sem perder notas nem a tabela.
  • A skill custou mais: 162k tokens por execução contra 114k (1.4x), e a versão de uma frase 224k (2.0x), principalmente na tarefa de criação (185k para a skill e 325-361k para a versão de uma frase, contra 118-176k do controle).
  • Uma falha, no grupo de uma frase: seu team.pptx editado abre no python-pptx, mas o LibreOffice não consegue convertê-lo (reproduzido duas vezes do nosso lado); o próprio agente relatou que o LibreOffice travou. Os seis decks do grupo da skill converteram, e as seis execuções com a skill rodaram o validate.py dela.
  • A skill foi lida em 6/6 execuções, e em todas as 6 o agente usou markitdown, validate.py e o wrapper do LibreOffice (soffice.py). O controle nunca chamou o LibreOffice; 4 de 5 execuções de uma frase chamaram soffice diretamente.

Pontuação por dimensão

DimensãoPontuaçãoPor quê
1_output_quality5.0

Pontuação média de 5.00/5 com a skill (verificações programáticas; consulte a tabela por tarefa).

2_lift_vs_no_skill2.01

+0.01 ponto vs. 4.99 sem a skill (n=2 por tarefa; abaixo de ~1 ponto é ruído).

3_trigger5.0Arquivo da skill lido em 6/6 execuções com a skill.
4_instructions_portability4

Pressupõe pptxgenjs, python-pptx, markitdown e LibreOffice instalados; voltada a sandbox Linux.

5_efficiency3

1.42x tokens (162k vs. 114k por execução) e 1.04x tempo (70s vs. 67s).

6_safety_hygiene5

Scripts lidos: soffice.py (iniciador do LibreOffice; compila um pequeno shim LD_PRELOAD apenas no Linux quando os sockets estão bloqueados), thumbnail.py, add_slide.py, clean.py e validadores; sem rede, sem acesso a credenciais.

Limites deste teste

  • O lote foi interrompido em 17 de 18 execuções: o LibreOffice travou repetidamente no computador de teste enquanto os agentes (principalmente nos grupos da skill e de uma frase) convertiam decks para PDF, e o usuário pediu para pararmos. Todos os resultados vêm de execuções concluídas; falta uma execução de extração do grupo de uma frase.
  • Verificações por regras (estrutura, notas, gráfico, limites, abertura); a qualidade visual dos slides não foi julgada, e as orientações de design da skill (paletas de cores, ideias de layout) não foram exercitadas.
  • Decks pequenos; 5 slides e 3 slides. Edição orientada por template, combinar/dividir e comentários não foram testados.
  • As conversões nas verificações foram executadas offline do nosso lado; o uso do LibreOffice pelos próprios agentes no computador de teste foi o que causou os travamentos.
  • n = 2 por grupo por tarefa: diferenças abaixo de cerca de 1 ponto são ruído.
  • A pontuação por regras mede o que as verificações conseguem ver; não julga bom gosto nem se o resultado é o melhor possível.

Segurança

Consulte security.md. Scan: 0 CRITICAL / 1 HIGH / 6 MEDIUM. Veredicto: segura para execução (sandbox sem rede). Um scan limpo não prova que uma skill é segura.

Conclusão

Em decks pequenos, o Codex sem skill com python-pptx já produzia arquivos corretos e válidos, então as armadilhas e o validador da skill acrescentaram cerca de 40% de tokens sem elevar a pontuação. O validador e as etapas de conversão da skill são úteis para decks maiores ou baseados em template, que este teste não cobriu. Esteja ciente de que o fluxo de trabalho da própria skill chama o LibreOffice, que pode ser instável em alguns desktops.

Transcrição

Log de execuções: pptx (Codex CLI, network off, per-run temp HOME/TMPDIR, one row per graded run.)
Colunas: tarefa, grupo-execução, nota (0-5), tokens, segundos, verificações aprovadas, arquivos da skill abertos pelo agente.

t1-new control-1: nota 4.92, tokens 117727, s 118.4, verificações 1/2, nada aberto
t1-new control-2: nota 5.0, tokens 176319, s 129.0, verificações 2/2, nada aberto
t1-new oneliner-1: nota 5.0, tokens 324776, s 128.1, verificações 2/2, nada aberto
t1-new oneliner-2: nota 5.0, tokens 360676, s 134.3, verificações 2/2, nada aberto
t1-new treatment-1: nota 5.0, tokens 183150, s 123.4, verificações 2/2, abriu pptx
t1-new treatment-2: nota 5.0, tokens 187890, s 110.7, verificações 2/2, abriu pptx
t2-edit control-1: nota 5.0, tokens 115865, s 43.4, verificações 2/2, nada aberto
t2-edit control-2: nota 5.0, tokens 113982, s 42.2, verificações 2/2, nada aberto
t2-edit oneliner-1: nota 4.31, tokens 147330, s 67.2, verificações 1/2, nada aberto

17 execuções, 3 artefatos

Resultado de exemplo

SOTA · With the skill: create_pitch.js (t1-new, run 1, Codex)

const pptxgen=require('pptxgenjs'); const p=new pptxgen();p.layout='LAYOUT_WIDE';p.title='Falcon launch';p.author='Falcon';p.theme={headFontFace:'Arial',bodyFontFace:'Arial',lang:'en-US'}; const dark='192620',green='C2F36B',muted='56665C'; function t(s,text,x,y,w,h,size=20,color=dark,bold=false){s.addText(text,{x,y,w,h,fontSize:size,fontFace:'Arial',color,bold,margin:0});} function base(n,d=false){const s=p.addSlide();s.background={color:d?dark:'FFFFFF'};t(s,'FALCON / LAUNCH',.65,.35,6,.25,10,d?green:muted,true);t(s,String(n).padStart(2,'0'),12,6.9,.6,.25,10,d?'FFFFFF':muted);return s;} function list(s,items,x,y,w,h,color=dark,size=22){s.addText(items.map((text,i)=>({text,options:{bullet:{indent:size},hanging:4,breakLine:i<items.length-1}})),{x,y,w,h,fontFace:'Arial',fontSize:size,color,margin:0,paraSpaceAfter:23,valign:'top'});} function box(s,x,y,w,h,color){s.addShape(p.ShapeType.roundRect,{x,y,w,h,fill:{color},line:{color,transparency:100},radius:.15});} let s=base(1,true);t(s,'Falcon',.75,1.45,8,1.1,66,'FFFFFF',true);t(s,'Turn team plans into\nforward motion.',.75,2.85,8,1.5,34,'FFFFFF');t(s,'One workspace for priorities, owners, and progress.',.75,4.85,8,.7,20,'B9C8BE');s.addShape(p.ShapeType.chevron,{x:10,y:1.8,w:1.2,h:3.3,fill:{color:green},line:{color:green}});s.addShape(p.ShapeType.chevron,{x:11.4,y:2.5,w:.6,h:1.9,fill:{color:'71964A'},line:{color:'71964A'}});t(s,'Fictional product • Illustrative launch pitch',.75,6.5,8,.3,11,'B9C8BE');s.addNotes('Introduce Falcon as a fictional work-management product for growing teams. Its promise is to turn plans into coordinated action through shared priorities, owners, and progress. All business details are illustrative; quarterly revenue was supplied for this pitch.'); s=base(2);t(s,'Problem',.65,1,10,.65,40,dark,true);t(s,'Work moves faster than the tools tracking it.',.65,1.85,12,.6,25,muted);list(s,['Priorities scatter across chats, docs, and spreadsheets.','Unclear ownership delays decisions and handoffs.','Manual updates hide risks until deadlines slip.'],.8,3,7.1,3);box(s,9,2.85,3.55,3.15,'F0F5F1');t(s,'The cost',9.35,3.2,2.8,.4,20,muted,true);t(s,'More chasing.\nLess shipping.',9.35,3.95,2.8,1.3,30,dark,true);s.addNotes('Growing teams often keep priorities in multiple places, leaving owners and dependencies unclear. Explain how this creates time spent chasing updates. These are product assumptions for a fictional launch, not research findings.'); s=base(3);t(s,'Solution',.65,1,10,.65,40,dark,true);t(s,'One shared view. A clear next step.',.65,1.85,12,.6,25,muted);[['01','Align priorities',['Capture goals in one place.','Link tasks to outcomes.']],['02','Assign owners',['Give every task an owner.','Make deadlines visible.']],['03','Advance work',['Track progress together.','Flag blockers early.']]].forEach((a,i)=>{let x=.65+i*4.1;box(s,x,2.9,3.8,3.3,'F0F5F1');t(s,a[0],x+.3,3.2,1,.5,28,'638831',true);t(s,a[1],x+.3,4,3.2,.6,23,dark,true);list(s,a[2],x+.3,4.9,3.1,1.1,dark,16);});s.addNotes('Walk through the proposed workflow: align on priorities, assign owners, and advance work with visible progress and blockers. These are conceptual features of the fictional Falcon product. Emphasize the va [... excerpt: first 3200 of 5381 characters]

Ver o Pro