Each workflow was ~300 lines of grep-count "VERIFICAR" steps and ran every phase for every request. Phases now state their minimum tier, checks are the quality gate plus real tools, detail moved to references/, and machine-specific paths and non-public skills are gone. Security references move to OWASP Top 10:2025, ASVS 5.0 and the OWASP LLM Top 10. Co-Authored-By: Claude Opus 5.5 <[email protected]>
5.9 KiB
name, description, license, metadata
| name | description | license | metadata | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| wf-frontend | Use para trabalho de frontend e UI - componentes, páginas, layouts, estilos, design system, animação, acessibilidade, redesign de tela existente, e geração de PDF ou documento visual a partir de HTML. Fluxo DESIGN, BUILD, REVIEW com profundidade definida pelo nível do dev-router. Não use para backend ou API (wf-backend), para bug sem mudança visual (wf-bugfix) nem para refactor sem mudança de comportamento (wf-refactor). | MIT |
|
Workflow Frontend
A profundidade vem do nível que o dev-router definiu. Cada fase diz a partir de qual nível roda.
| Nível | O que roda |
|---|---|
| 0 | só o gate (--tier 0) |
| 1 | ajuste de UI: siga o design system que já existe; sem DESIGN.md, sem aprovação; BUILD enxuto + gate --tier 1 |
| 2 | tela ou componente novo: DESIGN curto, BUILD, REVIEW com ui-critic e reviewer |
| 3 | fluxo ou design system novo: DESIGN com aprovação do usuário, BUILD por tarefas, REVIEW completo |
Skills (carregar só na fase que usa)
- Tela nova:
design-taste-frontend(~35 mil tokens; só para tela nova, nunca para ajuste) e, se instalada,frontend-design. - Tela existente:
redesign-existing-projects(audita antes de mudar). - Auditoria anti "UI de IA":
impeccable(/impeccable audit, externa). - React/Next:
vercel-react-best-practices(performance),vercel-composition-patterns(composição). - Motion:
animate. Microcopy:avoid-ai-writing. - Sempre:
lean-code.
Externas são opcionais: se não estiverem instaladas, siga as regras desta página. Instalação em docs/SKILLS.md.
Fase 1, DESIGN (nível 2+, tela ou componente novo)
Nível 1 pula esta fase e usa os tokens, componentes e padrões que o projeto já tem.
explorermapeia o design system existente: tokens (cor, tipografia, espaçamento), componentes reutilizáveis, biblioteca de UI. Reaproveitar vem antes de criar.- Defina a direção: paleta, tipografia, densidade, claro/escuro. Tela nova usa
design-taste-frontend; redesign usaredesign-existing-projects. - Registre as decisões em
DESIGN.md(curto: tokens e o porquê). - Nível 3, ou decisão que é do usuário (identidade visual, troca de stack): pare e peça aprovação antes de codar. Nível 2 segue sem parar se a direção vem do design system existente.
Evite: gradiente roxo genérico, glassmorphism sem motivo, cards idênticos em grade, ícone decorativo sem função, dois design systems na mesma tela.
Fase 2, BUILD (nível 1+)
implementer(ou você, em mudança pequena) implementa comlean-code: componente e hook existentes antes de novos; CSS e HTML nativos antes de JS.- Estados em todo fluxo com dados: carregando, vazio, erro, sucesso.
- Acessibilidade por padrão: HTML semântico, foco visível e em ordem, rótulos, contraste de texto >= 4.5:1. ARIA só quando o HTML não resolve.
- Responsivo mobile-first, testado em 375 px e 1280 px.
- Composição: compound components em vez de explosão de props booleanas (
isX,showY). - Motion com propósito (estado, entrada, feedback) e
prefers-reduced-motionrespeitado. - React/Next: sem waterfall de dados, sem re-render em cascata, imagem com dimensões, código dividido por rota.
- TypeScript sem
anynem cast forçado para "passar". - Rode o gate a cada componente relevante, não só no fim.
Entrada de usuário renderizada como HTML, dangerouslySetInnerHTML, eval, postMessage ou mudança de CSP disparam security-auditor (XSS/CSP).
Fase 3, REVIEW (nível 2+)
ui-critic: screenshot em 375 e 1280, estados, a11y, padrões genéricos. Seimpeccableestiver instalada,/impeccable audit.reviewer: correção e simplicidade do diff.avoid-ai-writingnos textos entregues ao usuário (labels, vazios, erros), se instalada.- Corrija o que for
bloqueanteouimportantee rode os dois de novo só no que mudou.
Gate
"${CLAUDE_PLUGIN_ROOT}/scripts/quality-gate" --tier N
Lint, typecheck, testes, segredos e build rodam sozinhos. O que depende do app de pé (Lighthouse,
axe, bundle, regressão visual) entra como [[check]] no .dev-workflows.toml do projeto: modelos em
references/checks.md. Lista completa de checagens:
skills/dev-router/references/quality-gate.md.
Metas de referência (nível 2+): LCP <= 2,5 s, INP <= 200 ms (TBT como proxy em laboratório),
CLS <= 0,1; axe sem violação serious ou critical; bundle dentro do limite do size-limit.
O verifier roda o gate e devolve a evidência. Ferramenta ausente aparece como "não verificado":
diga isso ao usuário, nunca chame de testado.
PDF e documento visual
Sempre HTML + CSS renderizado pelo Playwright (page.pdf()), depois cada página convertida em PNG e
inspecionada com Read: nada cortado na margem, tabela longa quebrando entre páginas. Nunca
reportlab platypus direto para tabelas longas. Método completo: references/pdf.md.
Aceite
- Nível declarado; fases puladas coerentes com ele.
- Nível 2+: direção registrada em
DESIGN.md(aprovada pelo usuário no nível 3). - Estados carregando, vazio, erro e sucesso em todo fluxo com dados.
- Acessível: semântica, foco, rótulos, contraste >= 4.5:1; axe sem
serious/criticalse configurado. - Responsivo em 375 px e 1280 px, sem corte ou sobreposição.
prefers-reduced-motionrespeitado; animação só com propósito.- Sem explosão de props booleanas; composição com compound components.
- Gate
pass, ou falhas explicadas; "não verificado" listado ao usuário. - PDF: páginas renderizadas e inspecionadas, nada cortado.