一键导入
ux-auditor-app
Auditoria completa de UI/UX, CSS, HTML e experiência do app participante (PWA Mobile)
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Auditoria completa de UI/UX, CSS, HTML e experiência do app participante (PWA Mobile)
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Handover para nova sessão — carrega contexto do trabalho em andamento e instrui próximos passos
Protocolo de autodiagnostico contra os 5 problemas mais comuns da IA ao programar. Detecta overengineering, codigo duplicado, reinvencao da roda, falta de documentacao e arquivos monoliticos. Use SEMPRE antes de implementar, ao planejar mudancas, quando criar funcoes novas, ao escrever codigo, para revisar implementacoes. Palavras-chave - simples, duplicado, repetido, existe, separar, modular, documentacao, complexo, refatorar, engenharia demais, roda, reutilizar.
Guardiao de governanca frontend. Checkpoint obrigatorio ANTES de criar ou modificar CSS, HTML, inline styles, componentes visuais ou qualquer codigo de apresentacao. Previne duplicacao, hardcoded colors, keyframes orfaos, inline styles e criacao desgovernada de arquivos. Keywords: blindar frontend, anti-frankenstein, validar CSS, checar antes de criar, governanca CSS, prevenir duplicacao, revisar criacao.
Especialista em Hardening de APIs - Autenticacao, Autorizacao Multi-Tenant, Validacao de Input, Security Headers, Protecao contra Injection, Session Security e Data Exposure Prevention. Adaptado para Node.js/Express/MongoDB do Super Cartola Manager. Keywords: seguranca, security, hardening, vulnerabilidade, injection, IDOR, autenticacao, autorizacao, sessao, session, OWASP, pentest, sanitizar, validar input, exposicao de dados
Agente especialista em revisao de decisoes arquiteturais para o Super Cartola Manager. Analisa isolamento multi-tenant, sistema de modulos, integridade financeira, cache, API design e arquitetura frontend. Keywords: arquitetura, architecture, review, revisao, multi-tenant, liga_id, modulo, cache, performance, seguranca, isolamento, acoplamento, dependencia
Auditoria automatizada de módulos — segurança, UI/UX, performance, financeiro e regras de negócio
| name | ux-auditor-app |
| description | Auditoria completa de UI/UX, CSS, HTML e experiência do app participante (PWA Mobile) |
Auditoria completa e sistematica de UI/UX, CSS, HTML, Design e Experiencia do app do participante (PWA Mobile). Varre todas as telas, fragmentos, estilos, componentes e fluxos de navegacao do app participante para garantir consistencia visual, acessibilidade, performance e conformidade com o Design System.
Escopo: EXCLUSIVO para o app participante (/public/participante/). Para auditar admin, usar auditor-module ou code-inspector.
Diferenca das outras skills:
frontend-crafter → CRIA telas/componentesauditor-module → Audita 1 modulo (multidimensional: seguranca, financeiro, UI, etc.)ux-auditor-app → Audita TODA a experiencia do app participante (UI/UX/Design holistica)public/participante/
├── index.html # Entry point (PWA shell)
├── manifest.json # PWA config
├── service-worker.js # Offline support
├── DESIGN_SYSTEM.md # Referencia visual
│
├── css/ # 13 arquivos CSS
│ ├── _app-tokens.css # DESIGN TOKENS (fonte da verdade)
│ ├── participante.css # Estilos globais
│ ├── bottom-sheet-nav.css
│ ├── splash-screen.css
│ ├── pull-refresh.css
│ ├── quick-access-bar.css
│ ├── avisos.css
│ ├── boas-vindas.css
│ ├── campinho.css
│ ├── copa-sc.css
│ ├── matchday.css
│ └── top10-destaque.css
│
├── fronts/ # 18 fragmentos HTML (SPA)
│ ├── home.html
│ ├── ranking.html
│ ├── rodadas.html
│ ├── extrato.html
│ ├── top10.html
│ ├── melhor-mes.html
│ ├── pontos-corridos.html
│ ├── mata-mata.html
│ ├── campinho.html
│ ├── capitao.html
│ ├── artilheiro.html
│ ├── luva-ouro.html
│ ├── dicas.html
│ ├── copa-times-sc.html
│ ├── configuracoes.html
│ ├── historico.html
│ └── boas-vindas.html
│
├── js/ # Core + 26 modulos JS
│ ├── participante-navigation.js
│ ├── participante-cache.js
│ ├── participante-auth.js
│ └── modules/ # 1 JS por tela
│
└── modules/ # Legacy (ranking)
Arquivo fonte da verdade: css/_app-tokens.css
Checklist:
var(--app-*) (NUNCA hardcoded #FF4500, #1a1a1a)--laranja, --bg-card) apontam para tokens corretos--participante-* mapeados para --app-*--app-font-base, --app-font-brand, --app-font-mono--app-space-* (nao valores px avulsos)--app-radius-*--app-shadow-*Red Flags:
| Problema | Severidade | Como Detectar |
|---|---|---|
| Cor hardcoded em CSS/HTML | ALTO | grep -rn "#[0-9a-fA-F]{3,6}" --include="*.css" --include="*.html" excluindo _app-tokens.css |
font-family inline sem token | ALTO | grep -rn "font-family:" --include="*.css" fora do tokens |
px sem token em spacing | MEDIO | Inspecionar padding/margin sem var(--app-space-*) |
z-index arbitrario | ALTO | grep -rn "z-index:" --include="*.css" comparar com tokens |
Regra: O app usa 3 fontes com papeis distintos:
| Fonte | Token | Uso | Classe CSS |
|---|---|---|---|
| Inter | --app-font-base | Corpo de texto, paragrafos | (padrao, sem classe extra) |
| Russo One | --app-font-brand | Titulos, stats, badges, CTAs, nomes de destaque | .font-brand, .app-brand-title, .app-brand-stat |
| JetBrains Mono | --app-font-mono | Valores numericos (pontos, dinheiro, posicoes) | .app-value-mono, .font-mono |
Checklist:
index.html (Inter, Russo One, JetBrains Mono).font-brand ou .app-brand-title)letter-spacing usado para ajustar Russo One (nao font-weight)!important em _app-tokens.css cobrem todos os seletores reais dos fragmentosstyle="font-family:..." inlineRed Flags:
| Problema | Severidade |
|---|---|
| Titulo sem Russo One | ALTO |
| Valor numerico sem JetBrains Mono | MEDIO |
| Fonte nao carregada (FOUT/FOIT) | ALTO |
| Uso de Lexend (legado, substituido por Inter) | MEDIO |
Principio: OLED-first. Background principal #0a0a0a, surfaces #1a1a1a.
Checklist:
var(--app-bg) (#0a0a0a)var(--app-surface) (#1a1a1a)var(--app-text-primary) (#ffffff)var(--app-text-secondary) (rgba 85%)var(--app-text-muted) (rgba 60%)var(--app-primary) (#FF5500)var(--app-success) ou var(--app-success-light) (verde)var(--app-danger) (vermelho)var(--app-warning) (amarelo)var(--app-gold), prata var(--app-silver), bronze var(--app-bronze)var(--app-border-subtle) ou var(--app-border-default)Cores por Modulo (quando aplicavel):
| Modulo | Cor Primaria | Variavel |
|---|---|---|
| Artilheiro | Verde #22c55e | --module-artilheiro-primary |
| Capitao | Roxo #8b5cf6 | --module-capitao-primary |
| Luva de Ouro | Dourado #ffd700 | --module-luva-primary |
Principio: App participante eh 100% mobile-first. Desktop eh bonus.
Viewports de teste:
Checklist:
--app-touch-target)overflow-x-auto ou layout alternativo mobilemax-width: 100%text-overflow: ellipsis quando necessarioenv(safe-area-inset-bottom) e env(safe-area-inset-top)_app-tokens.css)Toda tela/componente DEVE ter 5 estados visuais:
| Estado | Descricao | Implementacao Esperada |
|---|---|---|
| Loading | Dados carregando | Spinner .app-spinner ou skeleton |
| Sucesso | Dados renderizados | Tela normal com dados |
| Vazio | Sem dados | Mensagem amigavel + icone + CTA |
| Erro | Falha na API | Mensagem de erro + botao "Tentar novamente" |
| Offline | Sem internet | Dados do cache + indicador offline |
Checklist por Fragmento (fronts/*.html):
home.html - 5 estados implementadosranking.html - 5 estados implementadosrodadas.html - 5 estados implementadosextrato.html - 5 estados implementadostop10.html - 5 estados implementadosmelhor-mes.html - 5 estados implementadospontos-corridos.html - 5 estados implementadosmata-mata.html - 5 estados implementadoscampinho.html - 5 estados implementadoscapitao.html - 5 estados implementadosartilheiro.html - 5 estados implementadosluva-ouro.html - 5 estados implementadosdicas.html - 5 estados implementadoscopa-times-sc.html - 5 estados implementadosconfiguracoes.html - 5 estados implementadoshistorico.html - 5 estados implementadosboas-vindas.html - 5 estados implementadosChecklist:
var(--app-primary) (laranja)participante-navigation.js (nao links <a> diretos)window.history.pushState funciona (botao voltar do browser)popstate listener intercepta voltar#ranking, #extrato) funcionam ao abrir apppull-refresh.js)Fluxo Critico - Pre-Temporada:
PWA:
manifest.json com name, short_name, icons, theme_color, background_colortheme_color consistente com --app-bg (#0a0a0a)Performance:
<head>)_app-tokens.css eh o PRIMEIRO CSS carregado@import em CSS (usar <link> no HTML)transform/opacity (nao top/left/width)will-change em elementos animados frequentesprefers-reduced-motion respeitado (definido em tokens)loading="lazy" onde aplicavelonerror="this.src='/escudos/default.png'" (fallback)Acessibilidade (A11y):
aria-label quando so tem iconealt em imagens significativasrole em elementos semanticos customizadosIcones:
material-icons ou material-symbols-outlined)auditar UX do app participante
Executa TODAS as 7 dimensoes. Gera relatorio completo.
auditar tokens do app participante
auditar tipografia do app
auditar dark mode do participante
auditar responsividade do app
auditar estados visuais do app
auditar navegacao do app
auditar PWA e acessibilidade do app
auditar UX da tela de ranking do participante
auditar design do extrato no app
Audita TODAS as 7 dimensoes, mas APENAS na tela especificada.
comparar UX do ranking com extrato no app
Compara consistencia visual entre duas telas.
Localização: scripts/ux-auto-fix.js
Detecta e corrige automaticamente issues comuns de UX no app participante.
| Tipo | Detecção | Fix Automático | Confidence |
|---|---|---|---|
| Cores hardcoded | #FF5500, #fff, #0a0a0a | → Design tokens (var(--app-primary)) | 95% |
| Z-index arbitrário | z-index: 999 | → Camadas semânticas (var(--app-z-modal)) | 80-95% |
| Emojis como ícones | 🏆, ⚽, 💰 | → Material Icons | 90% |
| Font-family hardcoded | font-family: Arial | → Tokens (var(--app-font-base)) | 90% |
| Inline styles | style="color:#fff" | → Extrair para CSS com tokens | 85% |
# Preview (dry-run) - mostra issues sem aplicar
node scripts/ux-auto-fix.js
# Aplicar fixes em todos arquivos
node scripts/ux-auto-fix.js --apply
# Fix + commit automático
node scripts/ux-auto-fix.js --apply --commit
# Arquivo específico
node scripts/ux-auto-fix.js --file=css/campinho.css --apply
✅ Backup automático antes de aplicar mudanças (.ux-auto-fix-backup/)
✅ Git clean check - bloqueia se working directory não está limpo
✅ Confidence scoring - só aplica fixes com >= 80% confiança
✅ Dry-run mode - preview antes de aplicar
================================================================================
🔍 UX AUTO-FIX REPORT - DRY-RUN
================================================================================
📊 RESUMO
Cores hardcoded em CSS: 604 issue(s)
Z-index arbitrário: 7 issue(s)
Font-family hardcoded: 26 issue(s)
Emoji como ícone: 2 issue(s)
Total: 639 issue(s) detectado(s)
📝 DETALHES
Cores hardcoded em CSS:
css/campinho.css:8
❌ #0a0a0a
✅ var(--app-bg)
💡 Cor hardcoded mapeada para token oficial (confidence: 95%)
css/campinho.css:102
❌ #fff
✅ var(--app-text-primary)
💡 Cor hardcoded mapeada para token oficial (confidence: 95%)
...
1. Rodar auditoria completa:
/ux-auditor-app
2. Se encontrar issues auto-fixáveis, preview:
node scripts/ux-auto-fix.js
3. Revisar mudanças propostas
4. Aplicar fixes:
node scripts/ux-auto-fix.js --apply
5. Testar app manualmente
6. Commit:
git commit -m "fix(ux): auto-fix [N] issues"
⚠️ Não corrige automaticamente:
Esses casos requerem análise e fix manual.
Ler: css/_app-tokens.css (fonte da verdade)
Ler: DESIGN_SYSTEM.md (referencia visual)
Para cada fronts/*.html:
- Verificar estrutura HTML
- Buscar classes CSS usadas
- Detectar estilos inline
- Verificar iconografia
Para cada css/*.css:
- Buscar cores hardcoded
- Verificar uso de tokens
- Analisar media queries
- Verificar z-index
Para cada js/modules/*.js:
- Buscar innerHTML com estilos inline
- Verificar estados (loading, error, empty)
- Verificar manipulacao de classes CSS
# AUDITORIA UX: App Participante
**Data:** DD/MM/AAAA
**Modo:** Completa | Dimensao X | Tela Y
---
## Resumo Executivo
| Dimensao | Score | Status |
|----------|-------|--------|
| 1. Design Tokens | X/Y | Aprovado/Warnings/Critico |
| 2. Tipografia | X/Y | Aprovado/Warnings/Critico |
| 3. Dark Theme | X/Y | Aprovado/Warnings/Critico |
| 4. Responsividade | X/Y | Aprovado/Warnings/Critico |
| 5. Estados Visuais | X/Y | Aprovado/Warnings/Critico |
| 6. Navegacao SPA | X/Y | Aprovado/Warnings/Critico |
| 7. PWA/A11y | X/Y | Aprovado/Warnings/Critico |
**Score Geral:** XX/100
**Telas Auditadas:** N de 18
---
## Issues Encontrados
### CRITICOS (bloquear release)
1. [Dimensao] Arquivo:linha - Descricao - Correcao sugerida
### ALTOS (corrigir antes de producao)
1. [Dimensao] Arquivo:linha - Descricao - Correcao sugerida
### MEDIOS (corrigir no sprint)
1. [Dimensao] Arquivo:linha - Descricao - Correcao sugerida
### BAIXOS (backlog)
1. [Dimensao] Arquivo:linha - Descricao - Correcao sugerida
---
## Telas Detalhadas
### home.html
| Dimensao | Status | Observacao |
|----------|--------|------------|
| Tokens | OK/NOK | ... |
| Tipografia | OK/NOK | ... |
| ... | ... | ... |
(repetir para cada tela auditada)
---
## Acoes Recomendadas (Priorizadas)
1. ...
2. ...
---
**Auditoria realizada por:** [IA]
**Proxima auditoria recomendada:** DD/MM/AAAA
| Nivel | Criterio | Exemplos |
|---|---|---|
| CRITICO | Quebra visual, app inutilizavel | Overflow, texto invisivel, nav quebrada |
| ALTO | Inconsistencia grave, UX prejudicada | Cor hardcoded, fonte errada, sem loading state |
| MEDIO | Inconsistencia menor, nao impede uso | Spacing irregular, z-index fora do padrao |
| BAIXO | Nice to have, polimento | A11y menor, animacao faltante |
Score = (Checks Passed / Total Checks) * 100
| Faixa | Classificacao |
|---|---|
| 90-100% | Excelente - Pronto para release |
| 70-89% | Bom - Corrigir warnings antes de release |
| 50-69% | Regular - Precisa melhorias significativas |
| < 50% | Critico - NAO fazer release |
# Cores hardcoded em CSS (excluindo tokens)
grep -rn --include="*.css" "#[0-9a-fA-F]\{3,6\}" public/participante/css/ | grep -v "_app-tokens.css"
# Cores hardcoded em HTML
grep -rn --include="*.html" "style=.*#[0-9a-fA-F]" public/participante/fronts/
# Font-family fora dos tokens
grep -rn --include="*.css" "font-family:" public/participante/css/ | grep -v "_app-tokens.css"
# z-index fora dos tokens
grep -rn --include="*.css" "z-index:" public/participante/css/ | grep -v "_app-tokens.css"
# innerHTML com style inline em JS
grep -rn "innerHTML.*style=" public/participante/js/
# Emojis em HTML (nao deveria ter como icones)
grep -rn --include="*.html" "[^\x00-\x7F]" public/participante/fronts/
# Font Awesome residual
grep -rn "fa-\|font-awesome\|fontawesome" public/participante/
# Estados de loading nos modulos JS
grep -rn "loading\|spinner\|skeleton" public/participante/js/modules/
# Estados de erro nos modulos JS
grep -rn "error\|erro\|falha\|showError" public/participante/js/modules/
# Estados vazios nos modulos JS
grep -rn "empty\|vazio\|nenhum\|sem dados" public/participante/js/modules/
| Cenario | Sequencia |
|---|---|
| Auditoria + correcao | ux-auditor-app → frontend-crafter |
| Auditoria pos-refatoracao | Refactor-Monolith → ux-auditor-app |
| Auditoria pre-release | ux-auditor-app → cache-auditor → code-inspector |
| Auditoria de modulo especifico (completa) | auditor-module (backend) + ux-auditor-app --tela X (frontend) |
Ultima atualizacao: 06/02/2026 Versao: 1.0.0 Autor: Sistema Super Cartola Manager