Revisão de Movimento
Uma página com movimento não está pronta quando funciona no seu monitor. Ela está pronta quando obtém uma boa pontuação em uma rubrica fixa, passa em todas as verificações bloqueantes nos tamanhos desktop e celular, e você olhou o resultado em vez de confiar no código.
Este skill fornece três coisas:
- Um ciclo de olhar-e-corrigir: screenshot, pontue, corrija o pior problema, screenshot novamente.
- Uma rubrica de 10 critérios pontuados de 1 a 10, com a aparência de uma pontuação 5, 8 e 10: references/rubric.md.
- Uma lista de verificação de QA bloqueante e dois scripts independentes que a medem: references/qa-checklist.md, scripts/section-shots.mjs, scripts/qa-lite.mjs.
O padrão
- Média da rubrica 8 ou superior, e nenhum critério individual abaixo de 7.
- Todas as verificações bloqueantes passam em 1440x900 e 390x844.
- Você viu cada seção nos dois tamanhos. Uma revisão sem screenshots é um palpite.
Se a página não atingir o padrão, ela não está pronta, por mais bonito que o herói pareça.
Requisitos
- Node 18 ou mais recente.
- Playwright no projeto que você está revisando:
npm i -D playwrighte depoisnpx playwright install chromium. Ou use um Chrome instalado complaywright-coree passe--chrome "<caminho para o chrome>". Os scripts encontram Chrome ou Edge nos locais comuns do Windows, macOS e Linux por conta própria. - Opcional:
npm i -D sharppara folhas de contato. Sem ele, você ainda obtém cada PNG. - Execute os scripts da sua pasta de projeto. Eles procuram Playwright e sharp primeiro na pasta de onde você os executa, depois ao lado do script, então uma instalação no seu projeto é suficiente. Os caminhos dos scripts abaixo são relativos à pasta deste skill. O Claude Code mostra essa pasta quando o skill carrega; após uma cópia manual, ela é, por exemplo,
~/.claude/skills/motion-review/, então a chamada completa énode ~/.claude/skills/motion-review/scripts/qa-lite.mjs ./site.
A convenção ?shot=N
Os scripts abrem index.html?shot=N e esperam que a página vá para a seção N. Adicione isso à sua página uma vez (custa algumas linhas e torna cada revisão reproduzível):
// Gancho de QA: ?shot=N rola a seção N para o meio da janela de visualização após o carregamento.
const shot = new URLSearchParams(location.search).get("shot");
if (shot !== null) addEventListener("load", () => {
const marked = document.querySelectorAll("[data-shot]");
const s = (marked.length ? marked : document.querySelectorAll("section"))[+shot];
if (s) scrollTo(0, s.getBoundingClientRect().top + scrollY + s.offsetHeight / 2 - innerHeight / 2);
});
Para um filme ou uma introdução que toca uma vez, também avance a linha do tempo para seu estado estabilizado quando ?shot estiver presente, para que o screenshot mostre o quadro composto e não o quadro 1. Para filmes cronometrados, veja o método de captura justa no skill de análise: ../motion-analytics/references/reference-grading.md.
O ciclo de olhar-e-corrigir
Execute este ciclo até que a página atinja o padrão. Cada passagem deve corrigir primeiro o problema mais prejudicial, não dez pequenos problemas de uma vez.
1. Fotografe
node scripts/section-shots.mjs ./meu-site 6 ./qa/shots
Isso serve ./meu-site em uma porta local, abre index.html?shot=0 até ?shot=5 nos tamanhos desktop e celular, escreve d0.png ... d5.png, p0.png ... p5.png, e desk-sheet.png e phone-sheet.png quando o sharp está instalado. Imprime todos os erros de página e erros de console que viu.
2. Olhe
Abra primeiro as duas folhas de contato, depois os quadros individuais. Pergunte, seção por seção:
- A ideia central da página é visível neste quadro, ou esta é uma seção genérica?
- O quadro do celular tem sua própria composição, ou é o desktop comprimido?
- Algum texto está sobre uma parte movimentada da imagem?
- Algo está cortado, sobreposto, em branco ou ainda carregando?
- Cada seção parece da mesma marca?
Escreva o que você vê em palavras simples antes de pontuar. "O título do herói no celular cobre o rosto do sujeito" é útil. "Parece bom" não é.
3. Verifique
node scripts/qa-lite.mjs ./meu-site
Imprime PASS ou FAIL para cada verificação bloqueante, com os números medidos. Qualquer FAIL bloqueia a publicação. Veja references/qa-checklist.md para saber o que cada verificação significa, como o script a mede e a correção usual.
Algumas verificações precisam de um humano: o controle de pausa para tudo que se move, a reprodução da rolagem é limpa no sentido inverso após um movimento rápido, a página parece correta com o som ligado. A lista de verificação marca estas como manuais. Faça-as.
4. Pontue
Pontue todos os 10 critérios da rubrica a partir dos screenshots e do uso da página. Use os âncoras em references/rubric.md. Pontue o que está na tela, não o que o código pretende. Escreva uma frase de evidência por pontuação.
5. Corrija o pior problema
Escolha a pontuação mais baixa ou o primeiro FAIL. Corrija a causa, não o sintoma: se o texto está ilegível no celular, corrija a escala do tipo e o filtro, não diminua a imagem. Mantenha a mudança pequena e local.
6. Repita
Fotografe novamente, olhe novamente, repontue os critérios que você tocou. Pare quando o padrão for atingido. Três a cinco passagens é normal para uma página nova.
Formato do relatório de revisão
Quando você relatar uma revisão, use este formato para que os resultados possam ser comparados ao longo do tempo:
Página: <nome> Passagem: <n> Data: <aaaa-mm-dd>
Rubrica: ideia 8, artesanato 7, movimento 9, ... média 8,1, menor 7 (artesanato)
Bloqueante: 11 de 12 PASS. FAIL: alvos de toque (3 abaixo de 44 px no celular: .nav a, #prev, #next)
Visto: 6 quadros desktop, 6 quadros celular
Pior problema: <uma frase>
Correção aplicada: <uma frase>
Próximo: <uma frase>
Regras práticas
- Celular primeiro ao pontuar. A maioria dos visitantes chega pelo celular. Uma página que é 9 no desktop e 6 no celular é 6.
- Movimento que você não pode parar é um bug. Qualquer coisa que se mova por mais de cinco segundos precisa de um controle de pausa visível, e o movimento reduzido deve fornecer uma página completa e composta.
- A rolagem deve funcionar nos dois sentidos. Rolar para cima deve desfazer o que rolar para baixo fez, de forma limpa, em qualquer velocidade.
- Sem erros silenciosos. Um erro de console é FAIL, mesmo que a página pareça boa. Geralmente significa que um caminho de fallback está quebrado.
- Julgue o quadro estabilizado e o quadro em movimento. Um screenshot mostra composição; apenas usar a página mostra o tempo. Faça ambos.
Relacionados
- Medir tempo de quadro, níveis de qualidade e peso da página: ../motion-analytics/SKILL.md.
- Construir a página em primeiro lugar: ../motioncraft-builder/SKILL.md.