Audita issues e fluxos em escala com personas representativas. Trigger em: "simulando usuarios reais diferentes", "fazer a IA impersonar persona e testar o app", "encontrar bugs de usabilidade em massa antes do lancamento", "numa auditoria, como triar tudo isso", "frota de agentes paralelos abrindo PR", "regras de dedup de issue quando varios agentes reportam", "abrir PR automatica ou comentar wontfix", "escalar QA exploratorio com IA sem virar gargalo", "simular usuario nao tecnico testando o produto", "PRs deveriam ser aprovadas automaticamente", "nao tenho personas escritas, da pra gerar a partir do repo", "auditoria automatica do produto sem preparar nada antes", "inferir persona a partir do codigo do projeto".
81%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Passed
No findings from the security scan
Testar um produto do ponto de vista de N usuarios reais diferentes, converter cada fricção em issue, e escalar a triagem sem trocar "gargalo de QA" por "gargalo de review". O funil e o produto: cada fase existe para reduzir volume com confiança crescente, ate sobrar só o que exige julgamento humano.
Esta skill segue GLOBAL.md, policies/execution.md, policies/handoffs.md, policies/tool-safety.md, policies/verification-before-completion.md, policies/swarm-protocol.md (mecânica de fan-out paralelo e circuit-breaker, herdada — não reimplementada) e policies/visual-diff-precision.md (quando o achado da Fase 2 é uma diferença visual fina — ícone deslocado, espaçamento errado — não descrita em texto pela persona, decompor em passes de zoom em vez de afirmar a partir de uma olhada única no screenshot).
Fronteira com as skills vizinhas — esta skill decide o funil de descoberta e triagem. Ela nao reimplementa:
commands/swarm.md — implementa feature nova a partir de spec, worktree isolado, Ralph loop story-by-story. Esta skill audita produto existente, unidade de trabalho e persona → issue, nao story. A Fase 4 (fix paralelo) reaproveita o padrao de fan-out do swarm — N agentes fresh, cada um consumindo 1 unidade — mas sobre issues, nao storiesskills/06-security-review/SKILL.md — se uma persona encontra uma vulnerabilidade (nao so friccao de UX), a issue e rotulada security e vai para review de seguranca, nao para o reviewer de qualidade geral desta skillskills/11-reviewer/SKILL.md — a Fase 5 (review de PR) usa os mesmos criterios de aprovacao/rejeicao da skill 11; esta skill so define o volume e o corte de confiança que chega ate elaskills/34-static-analysis/SKILL.md — cobre bug de codigo achado por scanner estatico (Semgrep/CodeQL). Esta skill cobre bug de experiência achado por simulação comportamental — a intersecção é pequena (uma persona pode tropeçar num bug que também aparece em SAST) e nesse caso as duas issues devem ser linkadas, não duplicadasskills/51-ux-research/SKILL.md — persona ali e artefato de pesquisa com usuario real (entrevista, journey map), com um gate de integridade que esta skill herda sem reescrever: persona sem pesquisa por trás é ficção decorativa e precisa ser marcada como proto-persona. As personas que a Fase 1 infere do código são proto-personas por definição — servem para gerar cobertura de teste, não substituem pesquisa real. Se o repositório já tem docs/personas/ ou artefato da skill 51, ele é fonte primária e a inferência automática não o sobrescreve/swarm ou skill 01→09, não estapersonas/*.md) ou artefato da skill 51 — se existir, é fonte primária e pula a inferência automática (ver Fase 1)Workflow)A skill roda ponta a ponta mesmo sem nenhuma persona pré-escrita. Ordem de resolução:
personas/*.md no repositório, ou artefato de skills/51-ux-research (persona baseada em pesquisa real). Se existir, usa isso e pula a inferência — pesquisa real vence proto-persona sempreLer, nesta ordem de sinal (mais confiável primeiro):
skills/58-i18n-localization) — mercado e idioma esperadoA partir disso, montar entre 3 e 5 proto-personas cobrindo o espectro mínimo: pelo menos uma técnica, uma não-técnica, uma com dificuldade declarada (baixa familiaridade com o idioma da interface, conexão lenta, pouca experiência digital — inferida do mercado/locale do produto, não genérica), e uma adversarial (tenta quebrar o fluxo de propósito — voltar, duplo clique, campo vazio). Se o produto claramente serve um único perfil (ferramenta interna B2B de nicho), forçar as 4 categorias produz persona artificial — cobrir o que o produto real sustenta e declarar a redução no relatório.
Cada proto-persona é um .md com, no mínimo:
fonte: inferida-do-repo ou fonte: pesquisa-real ou fonte: escrita-manual — rastreabilidade obrigatória; sem isso ninguém revendo a auditoria depois sabe o quanto confiar em cada personaPersonas viram contexto do agente de teste, não uma lista de casos de teste escritos por um humano. A diferença importa: uma persona bem escrita deixa a IA descobrir a fricção; um caso de teste escrito à mão só verifica o que o autor já esperava.
Proto-persona inferida não é substituto de pesquisa real — é o ponto de partida quando pesquisa real não existe ainda. Um padrão de fricção recorrente que a auditoria revela é sinal para investir em skills/51-ux-research de verdade, não uma conclusão definitiva por si só (ver Handoff).
Uma skill de teste costurada ao produto específico (navegabilidade, arquitetura de informação, documentação disponível) impersona cada persona e explora o produto com o objetivo dela, podendo despachar mcp__Claude_Browser__*, mcp__claude-in-chrome__* ou Playwright conforme o ambiente.
Regras da fase:
Duas personas frequentemente tropeçam na mesma causa raiz por caminhos diferentes (persona A não acha o botão porque o menu está escondido; persona B clica errado pelo mesmo motivo). Antes de abrir issue nova:
skills/06-security-reviewDedup ruim gera o resultado inverso do pretendido: 100 issues das quais 60 são a mesma raiz descrita com palavras diferentes não é "cobertura", é ruído que a Fase 3 paga para reprocessar 60 vezes.
Um agente com contexto rico do produto (arquitetura, convenções, decisões registradas) passa issue por issue, cruza com a codebase, e comenta: causa provável, solução sugerida, trade-offs.
Este agente não corrige nada — só analisa e comenta. Separar análise de fix intencionalmente: um agente que já decidiu a solução tende a implementá-la rápido demais e pular alternativas; comentar primeiro cria um registro que a Fase 4 (ou um humano) pode contestar antes que vire código.
Toda issue sai desta fase com um rótulo de confiança implícito no comentário — mesmo que a Fase 4 seja quem decide o corte, a Fase 3 precisa expor o raciocínio suficiente para essa decisão ser auditável depois.
N agentes (default: 10, mesmo teto do Workflow), cada um clone do perfil "engenheiro frontend/arquitetura", cada um consome uma issue, lê o comentário de análise da Fase 3, decide:
wontfix (ou needs-human) na issue com o motivo específico — "requer decisão de produto sobre X", "toca lógica de billing, fora do escopo de auto-fix", "reprodução inconsistente" — nunca um wontfix genéricoCritério de confiança alta não é "o código compila": exige (a) causa raiz identificada com certeza razoável na Fase 3, (b) fix local — não atravessa múltiplos módulos ou muda contrato de API, (c) coberto por teste existente ou trivialmente testável, (d) fora de área sensível declarada pelo projeto (pagamento, auth, dado pessoal — ver skills/06-security-review). Fora disso, wontfix/needs-human é a resposta correta, e um agente que abre PR de baixa confiança só move o custo do review da Fase 3 para a Fase 5.
Regras de isolamento: cada agente roda em contexto fresco (nunca herda o que outro agente da frota decidiu — evita viés de "a issue anterior era assim, essa deve ser parecida"); paralelismo é entre issues, nunca duas frotas tocando a mesma issue ao mesmo tempo (mesma razão do swarm: policies/swarm-protocol.md já proíbe spawn paralelo não-Ralph sobre a mesma unidade de trabalho, por risco de race condition no git).
Um agente reviewer (skill 11 + skills/06-security-review quando aplicável) passa PR por PR com os critérios normais de aprovação — não um critério mais frouxo só porque o volume é alto.
Saídas possíveis por PR: aprovada (com o motivo específico no comentário — não "LGTM"), rejeitada (fechada, com o motivo — inclui "mudança inútil" e "só comentário de enhancement, fora de escopo", que são achados legítimos do funil, não falha dele), ou revisão manual quando o reviewer automático não tem confiança suficiente para decidir sozinho.
PR aprovada pelo reviewer não é PR mergeada. Merge continua decisão humana — ver Anti-Padrões.
O que sobra depois da Fase 5 (PRs rejeitadas voltando a issue, mais os wontfix/needs-human da Fase 4) passa por uma triagem humana leve antes da distribuição ao time:
/swarm: --auto-merge é decisão separada e nunca defaultwontfix sem motivo específico — "não deu pra resolver" não ajuda a triagem final a decidir se vale reabrir com outro agente ou é definitivamente humanofonte: pesquisa-real é hipótese; se a auditoria abre issues como "usuários reais confirmaram X", isso é fabricação. O rótulo de fonte existe para impedir esse deslizedocs/personas/, artefato da skill 51 ou uma spec da skill 01 já descrevem o público, a inferência automática da Fase 1 não sobrescreve; ela só entra quando nada disso existeinferida-do-repo / pesquisa-real / escrita-manual) — sem isso a run não começa a Fase 2wontfix/needs-human tem motivo específico, não genérico/swarm ou skill 03/04: quando uma issue residual é grande o bastante para virar feature/refactor formal em vez de fix pontual/swarmskills/51-ux-research/SKILL.md, que já trata esse mesmo risco para persona de pesquisa qualitativa.felvieira/claude-skills-fv
449fb53
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.