review-animations (emilkowalski/skills)
Revisa o código de animação com um padrão de qualidade rígido e aponta fragilidades por padrão.
review-animations: faz com que uma revisão de motion de pull request encontre os problemas plantados e dê correções exatas (controle 2.9, skill 4.4, prompt de uma frase 4.9) com 1.2x os tokens; um prompt de uma frase com o checklist se sai melhor
Codex CLI · gpt-6-astra
24.9 / 30
Ganho sobre sem skill: +1.52 · Recomendado · 18 execuções
Recomendado: o total 24.9/30 é pelo menos 22, a qualidade da saída 4.4 é pelo menos 3.5 e o ganho +1.52 é 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.5
- Qualidade da saída
- 4.4
- Custo de tokens e tempo
- 4.0
- Instalação e portabilidade
- 4.0
- Segurança
- 4.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 emilkowalski/skills --skill review-animations
Commit fixado: a81dbca07f2217b7103e510c0f13f8d5b017afc9
Testado: 2026-11-02
O que testamos
- Revisar um diff de motion — Revise as mudanças de animação em change.diff antes de eu fazer o merge. Não altere nenhum arquivo.
- Revisar apenas as regras do toast — Revise apenas as regras de animação .toast em change.diff. Não altere nenhum arquivo.
- Veredito de merge — Devo fazer o merge das mudanças de animação em change.diff como estão? Responda primeiro, depois explique por quê. Não altere nenhum arquivo.
Prós
- Eleva a nota média de 2.86 para 4.38 em relação ao grupo sem skill (+1.52).
- A skill foi acionada sem ser nomeada: o arquivo da skill foi lido em 6/6 execuções de tratamento.
Contras
- Um prompt de uma frase marcou 4.93, contra 4.38 com a skill (-0.55).
- 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), 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). Um change.diff que adiciona animações com 7 problemas plantados. Tarefas: revisar o diff inteiro antes do merge, revisar apenas as regras do toast e responder 'devo fazer merge assim?' (responda primeiro, depois explique por quê). Os prompts não citam nenhuma regra. O prompt de uma frase é o checklist em uma frase e pede substituições exatas.
Comparação entre os braços
| Braço | Nota média (0-5) | Tokens por execução |
|---|---|---|
| Sem a skill | 2.86 | 53k |
| Prompt de uma frase | 4.93 | 48k |
| Com a skill | 4.38 | 63k |
Medido com Codex CLI em 18 execuções, com pontuação por verificações baseadas em regras e sem juiz LLM. Total 24.9 / 30, veredito Recomendado.
Veredicto: Recomendado (24.9 / 30). Fonte: emilkowalski/skills, skills/review-animations, fixado no commit a81dbca. Instalação: npx skills@latest add emilkowalski/skills --skill review-animations. Licença: MIT (LICENSE do repositório).
O que é
A skill review-animations (emilkowalski/skills): uma checklist de análise para mudanças de animação em um diff: por padrão, sinalizar curvas de UI ease-in/ease-in-out, transition: all, inícios com scale(0), animação de propriedades de layout, animação em ações de alta frequência, stagger sem efeito, falta de movimento reduzido e durações acima de 300 ms, com valores de substituição exatos.
Como testamos
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), 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).
Um change.diff que adiciona animações com 7 problemas plantados. Tarefas: analisar o diff inteiro antes do merge, analisar apenas as regras do toast e responder "devo fazer o merge assim?" (responda primeiro, depois o porquê). Os prompts não citam nenhuma regra. A frase única é a checklist em uma frase e pede substituições exatas.
- Analisar um diff de movimento — Analise as mudanças de animação em change.diff antes de eu fazer o merge. Não altere nenhum arquivo.
- Analisar apenas as regras do toast — Analise apenas as regras de animação .toast em change.diff. Não altere nenhum arquivo.
- Veredicto de merge — Devo fazer o merge das mudanças de animação em change.diff como estão? Responda primeiro, depois explique o porquê. Não altere nenhum arquivo.
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: "Analise o código de movimento com um padrão elevado de acabamento e, por padrão, sinalize: curvas de UI ease-in ou ease-in-out, transition: all, inícios com scale(0), animação de propriedades de layout, animação em ações frequentes, stagger sem efeito, falta de movimento reduzido, durações acima de 300 ms; dê os valores de substituição exatos para cada achado."
| Tarefa | Pontuação do controle | Uma frase | Com a skill | Tokens do controle | Tokens de uma frase | Tokens com a skill | Skill lida |
|---|---|---|---|---|---|---|---|
| t1-review-diff | 1.53 | 4.79 | 3.67 | 56k | 56k | 77k | 2/2 |
| t2-toast-only | 2.22 | 5.0 | 5.0 | 47k | 39k | 55k | 2/2 |
| t3-verdict | 4.82 | 5.0 | 4.46 | 55k | 48k | 55k | 2/2 |
Pontuação média: 2.86 sem a skill vs. 4.38 com a skill (delta +1.52). Tokens por execução: 53k vs. 63k (1.18x); tempo 30s vs. 32s. Grupo de uma frase: 4.93 (ganho da skill sobre a frase única: -0.55; ganho da própria frase única sobre sem skill: +2.08); 48k tokens por execução no grupo de uma frase, então a skill custa 1.30x a frase única.
O que aconteceu
- Controle 2.86, skill 4.38, frase única 4.93 (n=6 cada). Sem orientação, a análise do diff inteiro encontrou 3 de 7 problemas plantados em uma execução e 1 de 7 na outra, e não deu valores de substituição em 2 de 2 execuções.
- Análise apenas do toast: o controle perdeu
transition: alle não deu correção exata nas duas execuções (2.2); skill e frase única marcaram 5.0 nas quatro execuções. - Análise do diff inteiro: a skill encontrou 5-6 de 7 problemas, mas foi inconsistente (4.18 e 3.16); perdeu a paleta de comandos de alta frequência em uma execução e o stagger sem efeito na outra. A frase única marcou 5.0 e 4.59.
- Tarefa de veredicto: o controle já dá uma resposta bem fundamentada (5.0 e 4.64), a skill 4.64 e 4.29, a frase única 5.0 nas duas.
- Tokens: skill 63k, frase única 48k, controle 53k por execução (1.19x o controle, 1.3x a frase única). A skill foi lida em 6/6 execuções com a skill.
Pontuação por dimensão
| Dimensão | Pontuação | Por quê |
|---|---|---|
| 1_output_quality | 4.38 | Pontuação média de 4.38/5 com a skill (verificações programáticas; consulte a tabela por tarefa). |
| 2_lift_vs_no_skill | 3.52 | +1.52 pontos vs. 2.86 sem a skill (n=2 por tarefa; abaixo 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 | Somente a checklist do SKILL.md. |
| 5_efficiency | 4 | 1.18x tokens (63k vs. 53k por execução) e 1.06x tempo (32s vs. 30s). |
| 6_safety_hygiene | 4 | Somente texto; consulte security.md. |
Limites deste teste
- Verificações de recall no texto da análise: itens encontrados entre os plantados e presença de valores concretos; a qualidade das explicações não foi julgada.
- A frase única é uma paráfrase próxima da própria checklist da skill.
- Um único diff de teste; n=2 por célula.
- 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 / 0 HIGH / 0 MEDIUM. Veredicto: segura para execução (sandbox sem rede). Um scan limpo não prova que uma skill é segura.
Conclusão
A skill melhora claramente uma análise de movimento em relação a nenhuma orientação, principalmente por trazer substituições concretas e pegar os itens menos óbvios. A mesma checklist em uma única frase foi melhor e mais barata neste teste, então o benefício é sobre a ausência de orientação, não sobre um bom prompt.
Transcrição
Log de execuções: review-animations (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-review-diff control-1: nota 1.94, tokens 48194, s 27.2, verificações 1/3, nada aberto t1-review-diff control-2: nota 1.12, tokens 64124, s 37.9, verificações 1/3, nada aberto t1-review-diff oneliner-1: nota 4.59, tokens 65072, s 52.4, verificações 3/3, nada aberto t1-review-diff oneliner-2: nota 5.0, tokens 48423, s 41.8, verificações 3/3, nada aberto t1-review-diff treatment-1: nota 3.16, tokens 77459, s 41.1, verificações 2/3, abriu review-animations t1-review-diff treatment-2: nota 4.18, tokens 77187, s 40.0, verificações 3/3, abriu review-animations t2-toast-only control-1: nota 2.22, tokens 47474, s 21.1, verificações 0/2, nada aberto t2-toast-only control-2: nota 2.22, tokens 47748, s 25.5, verificações 0/2, nada aberto t2-toast-only oneliner-1: nota 5.0, tokens 31576, s 16.0, verificações 2/2, nada aberto
18 execuções, 3 artefatos
Resultado de exemplo
SOTA · With the skill: final message (t1-review-diff, run 1, Codex)
| Before | After | Why | | --- | --- | --- | | Toast starts at `scale(0)` ([diff:5](change.diff:5)) | Start at `scale(0.95)` with opacity `0`. | Growing from nothing creates an exaggerated entrance and distorts the toast’s content. | | Toast uses `all 600ms ease-in-out` ([diff:5](change.diff:5)) | Limit transitions to `transform, opacity`; shorten below 300ms and use `cubic-bezier(0.23, 1, 0.32, 1)`. | The entrance starts slowly and takes too long. `all` also allows future layout changes to animate accidentally. | | Sidebar animates `width 400ms` ([diff:7](change.diff:7)) | Remove the width transition; apply the collapsed width immediately. | Animating from 240px to 56px repeatedly recalculates layout and can reflow content throughout an already lengthy transition. | | Command items enter with a 500ms, 24px slide ([diff:10](change.diff:10)) | Remove the item animation and its delay rule. | Assuming `.cmdk-item` represents command-palette items, decorative entrances delay visual availability in a frequently used keyboard workflow. Adding stagger would worsen this. | | Movement has no reduced-motion override ([diff:5–12](change.diff:5)) | Under `prefers-reduced-motion: reduce`, remove scaling and translation; retain a short opacity transition where useful. | The supplied styles impose the same movement on users who request reduced motion. | | Hover transition is ungated ([diff:9](change.diff:9)) | Gate it with `@media (hover: hover) and (pointer: fine)`; prefer an immediate background change. | Touch can produce lingering hover states. Removing this frequent color animation also avoids repeated paint work. | **Feel-breaking regressions:** The toast’s zero-scale entrance and slow timing block approval. The command-item animation should be removed if these are command-palette results. **Performance:** The sidebar width transition adds avoidable layout work. Keep the toast’s transitions explicitly scoped. **Accessibility:** Reduced-motion handling and hover capability gating are missing. **Block.** Static review only; the workspace contains no runnable interface to verify motion visually. Locations above reference the supplied diff. No files changed.