theme-factory (Anthropic)
Aplica a slides, documentos e páginas HTML um dos dez temas predefinidos ou um tema gerado na hora.
theme-factory: o Codex já sabe de cor dois temas nomeados (5.0 sem a skill), mas só a skill consegue 'escolher um preset': 5.0 vs 0.0 nessa tarefa, e ainda é mais barata (0.66x tokens)
Codex CLI · gpt-6-astra
27.7 / 30
Ganho sobre sem skill: +1.67 · Recomendado · 18 execuções
Recomendado: o total 27.7/30 é pelo menos 22, a qualidade da saída 5.0 é pelo menos 3.5 e o ganho +1.67 é pelo menos +1.0.
SOTA
AprovadoTestado com Codex.
Cobre Codex, Claude Code
Codex CLI 0.166 (nível SOTA): 18 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
- 3.7
- Qualidade da saída
- 5.0
- Custo de tokens e tempo
- 5.0
- Instalação e portabilidade
- 4.0
- Segurança
- 5.0
Revisão de segurança
SeguroVarredura estática: 0 CRÍTICO / 0 ALTO / 0 MÉDIO. Revisão manual: seguro para executar em sandbox sem rede (nenhum achado). Uma varredura limpa não prova que a skill é segura.
Instalar
npx skills@latest add anthropics/skills --skill theme-factory
Commit fixado: ca45fc496a3436251f191354091d557da31c15b5
Testado: 2026-11-02
O que testamos
- Aplicar um preset de tema nomeado — Aplique o preset de tema 'Ocean Depths' a deck.html. Edite o arquivo diretamente.
- Aplicar outro preset de tema — Aplique o preset de tema 'Tech Innovation' a deck.html. Edite o arquivo diretamente.
- Escolher um preset adequado — Escolha o preset de tema que melhor se encaixa em um anúncio de feira de ciências infantil, diga qual escolheu e aplique-o a deck.html diretamente.
Prós
- Eleva a nota média de 3.33 para 5.0 em relação ao grupo sem skill (+1.67).
- A skill foi acionada sem ser nomeada: o arquivo da skill foi lido em 6/6 execuções de tratamento.
- Sem custo extra de tokens: 0.66x os tokens do grupo sem skill.
- Supera uma versão de uma frase da própria regra em +1.67.
- Qualidade absoluta alta com a skill: 5.0 de 5.
Contras
- Ressalva do teste: o grupo de controle conhece temas nomeados de memória; só a skill consegue escolher da própria lista, o que explica a grande diferença contra o braço de uma frase.
- 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 um PC de teste Windows dedicado, com um projeto temporário novo e HOME/TMPDIR/caches temporários a cada execução, skill instalada (tratamento) ou ausente (grupo de controle) ou ausente com o requisito central da skill comprimido em uma frase anexada ao prompt (grupo 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 no mesmo deck de slides HTML simples (deck.html): aplicar o tema nomeado 'Ocean Depths', aplicar o tema nomeado 'Tech Innovation', e 'escolher o preset de tema que melhor se encaixa em uma feira de ciências infantil, dizer qual escolheu e aplicá-lo'. O grupo prompt de uma frase adiciona uma frase dizendo ao agente para aplicar a paleta e o par de fontes de um preset de tema e dizer qual é; ela não contém dados de tema.
Comparação entre os braços
| Braço | Nota média (0-5) | Tokens por execução |
|---|---|---|
| Sem a skill | 3.33 | 111k |
| Prompt de uma frase | 3.33 | 126k |
| Com a skill | 5.0 | 73k |
Medido com Codex CLI em 18 execuções, com pontuação por verificações baseadas em regras e sem juiz LLM. Total 27.7 / 30, veredito Recomendado.
Divulgação: O grupo de controle conhece temas nomeados de memória; só a skill pode escolher da própria lista, o que explica a grande diferença em relação ao braço de uma frase.
Veredito: Recomendado (27.7 / 30). Fonte: anthropics/skills, skills/theme-factory, fixada no commit ca45fc4. Instalação: npx skills@latest add anthropics/skills --skill theme-factory. Licença: Apache-2.0 / termos da Anthropic (veja LICENSE.txt na skill).
O que é
A skill theme-factory, de anthropics/skills, oferece 10 temas predefinidos de cor e fonte (Ocean Depths, Sunset Boulevard, Forest Canopy, Tech Innovation e assim por diante), cada um um arquivo markdown curto com paleta em hex e par de fontes, além de um PDF de vitrine dos temas, para estilizar slides, documentos ou páginas. O SKILL.md instrui o agente a mostrar a vitrine, deixar o usuário escolher e então aplicar as cores e fontes do tema.
Como testamos
Codex CLI 0.166 (gpt-6-astra, raciocínio baixo) em um PC Windows dedicado a testes, um projeto temporário novo e HOME/TMPDIR/caches temporários a cada execução, skill instalada (tratamento) ou 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 no mesmo deck de slides HTML simples (deck.html): aplicar o tema nomeado 'Ocean Depths', aplicar o tema nomeado 'Tech Innovation' e 'escolha o tema predefinido que mais combina com uma feira de ciências infantil, diga qual e aplique-o'. O grupo de uma frase ganha uma frase dizendo ao agente para aplicar a paleta e o par de fontes de um tema predefinido e dizer qual; ela não contém dados de tema.
- Aplicar um tema predefinido nomeado — Aplique o tema 'Ocean Depths' a deck.html. Edite o arquivo no lugar.
- Aplicar outro tema predefinido — Aplique o tema 'Tech Innovation' a deck.html. Edite o arquivo no lugar.
- Escolher um predefinido adequado — Escolha o tema predefinido que mais combina com um anúncio de feira de ciências infantil, diga qual escolheu e aplique-o a deck.html no lugar.
A pontuação é programática (testes ocultos / detecção de problemas plantados / verificações de restrições / renderização+OCR quando aplicável), 0–5 por execução. Nenhum juiz LLM decidiu qualquer pontuação.
Resultados
O prompt de uma frase dado ao terceiro grupo: "Aplique a paleta de cores do tema predefinido escolhido (fundo, texto, destaque) e seu par de fontes de título/corpo de forma consistente a todos os elementos, e diga qual tema você aplicou."
| Tarefa | Pontuação do controle | Uma frase | Com a skill | Tokens do controle | Tokens de uma frase | Tokens com a skill | Skill lida |
|---|---|---|---|---|---|---|---|
| t1-ocean | 5.0 | 5.0 | 5.0 | 70k | 103k | 69k | 2/2 |
| t2-tech | 5.0 | 5.0 | 5.0 | 73k | 102k | 79k | 2/2 |
| t3-choose | 0.0 | 0.0 | 5.0 | 187k | 171k | 71k | 2/2 |
Pontuação média: 3.33 sem a skill vs 5.0 com ela (delta +1.67). Tokens por execução: 111k vs 73k (0.66x); tempo 53s vs 44s. Grupo de uma frase: 3.33 (ganho da skill sobre o prompt de uma frase: +1.67; ganho do próprio prompt de uma frase sobre nenhuma skill: +0.0); tokens do prompt de uma frase: 126k por execução, então a skill custa 0.58x o prompt de uma frase.
O que aconteceu
- Nas duas tarefas de tema nomeado, os três grupos marcam 5.0: o controle (sem skill, sem arquivos de tema na pasta) aplicou os hexes exatos do Ocean Depths (#1a2332, #2d8b8b, #a8dadc, #f1faee) e a paleta do Tech Innovation de memória. Os temas predefinidos são públicos o bastante para o modelo já os conhecer; a skill não acrescenta nada em um pedido que nomeia o tema.
- A skill importa onde a própria lista de temas é necessária: na tarefa 'escolha o melhor predefinido', o controle marcou 0/2 (uma execução disse que escolheu um predefinido chamado 'Sky', que não é um dos dez; a outra gastou 247k tokens), o prompt de uma frase marcou 0/2 (uma execução respondeu que não havia lista de predefinidos no workspace e pediu ao usuário) e a skill marcou 2/2 (escolheu 'Sunset Boulevard' e aplicou a paleta).
- Média 3.33 controle, 3.33 uma frase, 5.00 skill. O prompt de uma frase não substitui porque o valor são os dados nos arquivos de tema da skill, não uma instrução.
- Tokens: 73k por execução para a skill contra 111k do controle e 126k do prompt de uma frase (0.66x e 0.58x), porque na tarefa aberta o controle e o prompt de uma frase pesquisam e adivinham, enquanto a skill lê um pequeno arquivo de tema.
- As execuções com a skill copiam a pasta de temas e o PDF de vitrine da skill para o projeto (14 arquivos novos por execução em média), o que polui a pasta de trabalho.
Pontuações por dimensão
| Dimensão | Pontuação | Por quê |
|---|---|---|
| 1_output_quality | 5.0 | Pontuação média 5.00/5 com a skill (verificações programáticas, veja a tabela por tarefa). |
| 2_lift_vs_no_skill | 3.67 | +1.67 pontos vs 3.33 sem a skill (n=2 por tarefa; menos de ~1 ponto é ruído). |
| 3_trigger | 5.0 | Arquivo da skill lido em 6/6 execuções com a skill. |
| 4_instructions_portability | 4 | SKILL.md de 43 linhas, 10 arquivos de tema, um PDF de vitrine; sem scripts. |
| 5_efficiency | 5 | 0.66x tokens (73k vs 111k por execução) e 0.83x tempo (44s vs 53s). |
| 6_safety_hygiene | 5 | Somente prosa, dados e um PDF. |
Limites deste teste
- Verificações de paleta baseadas em regras (hexes predefinidos usados, tema nomeado); não é um julgamento de quão bom o deck reestilizado fica.
- A verificação da tarefa 3 só considera uma execução correta se ela usar os hexes de um dos dez temas e nomear um, então favorece qualquer grupo que consiga ver a lista.
- n=2 por célula; a etapa de vitrine da skill (mostrar o PDF ao usuário e esperar uma escolha) é interativa e não roda em um teste headless.
- n = 2 por grupo por tarefa: diferenças abaixo de cerca de 1 ponto são ruído.
- A pontuação baseada em regras mede o que as verificações conseguem ver; não julga bom gosto nem se o resultado é o melhor possível.
Segurança
Veja security.md. Scan: 0 CRITICAL / 0 HIGH / 0 MEDIUM. Veredito: seguro para executar (sandbox sem rede). Um scan limpo não prova que uma skill é segura.
Conclusão
Útil quando você quer um dos dez predefinidos específicos escolhido ou listado: elimina a adivinhação e economiza tokens. Se você apenas nomeia um predefinido, o Codex sozinho já faz o mesmo, então a skill não é necessária para isso.
Transcrição
Log de execuções: theme-factory (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-ocean control-1: nota 5.0, tokens 74123, s 43.0, verificações 2/2, nada aberto t1-ocean control-2: nota 5.0, tokens 66741, s 48.1, verificações 2/2, nada aberto t1-ocean oneliner-1: nota 5.0, tokens 112572, s 60.5, verificações 2/2, nada aberto t1-ocean oneliner-2: nota 5.0, tokens 94515, s 51.3, verificações 2/2, nada aberto t1-ocean treatment-1: nota 5.0, tokens 69081, s 47.0, verificações 2/2, abriu theme-factory t1-ocean treatment-2: nota 5.0, tokens 70216, s 33.6, verificações 2/2, abriu theme-factory t2-tech control-1: nota 5.0, tokens 77803, s 56.7, verificações 1/1, nada aberto t2-tech control-2: nota 5.0, tokens 69182, s 57.9, verificações 1/1, nada aberto t2-tech oneliner-1: nota 5.0, tokens 119920, s 57.6, verificações 1/1, nada aberto
18 execuções, 3 artefatos
Resultado de exemplo
SOTA · With the skill: deck.html (t1-ocean, run 1, Codex)
<!DOCTYPE html> <html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><title>Q3 Update</title> <style> :root { color-scheme: dark; --navy: #1a2332; --teal: #2d8b8b; --seafoam: #a8dadc; --cream: #f1faee; } * { box-sizing: border-box; } body { margin: 0; background: var(--navy); color: var(--cream); font-family: "DejaVu Sans", sans-serif; font-size: clamp(18px, 2.2vw, 28px); line-height: 1.6; } section { max-width: 1200px; min-height: 100vh; margin: 0 auto; padding: clamp(32px, 7vw, 96px); display: flex; flex-direction: column; justify-content: center; border-top: 6px solid var(--teal); } h1, h2 { font-family: "DejaVu Sans", sans-serif; font-weight: 700; line-height: 1.15; margin: 0 0 0.6em; } h1 { font-size: clamp(48px, 7vw, 88px); } h2 { color: var(--seafoam); font-size: clamp(36px, 5vw, 60px); } p { margin: 0 0 1em; } section:first-child p { color: var(--seafoam); } ul { margin: 0; padding-left: 1.3em; } li { padding: 0.25em 0; } li::marker { color: var(--seafoam); } table { width: 100%; border-collapse: collapse; border: 2px solid var(--teal); margin-top: 1em; } th, td { padding: 0.65em 1em; text-align: left; border: 1px solid var(--teal); } th { background: var(--seafoam); color: var(--navy); font-weight: 700; } @media print { section { min-height: 0; height: 100vh; break-after: page; } section:last-child { break-after: auto; } body { print-color-adjust: exact; -webkit-print-color-adjust: exact; } } </style> </head> <body> <section><h1>Q3 Update</h1><p>Prepared for the leadership team</p></section> <section><h2>Highlights</h2><ul><li>Revenue up 12%</li><li>Two launches shipped</li><li>Support backlog cleared</li></ul></section> <section><h2>Next quarter</h2><p>Focus: reliability, onboarding, pricing review.</p><table border="1"><tr><th>Metric</th><th>Q3</th></tr><tr><td>Revenue</td><td>$1.2M</td></tr><tr><td>Churn</td><td>2.1%</td></tr></table></section> </body></html>