O que RageClick faz?
Transforme uma URL e um objetivo do usuário em uma sequência curta e reproduzível que quebra um comportamento prometido. Use a ferramenta de navegador existente para inspecionar a página real e, em seguida, o executor Playwright integrado para obter evidências repetíveis. Esta skill não avalia design visual nem pretende representar uma pesquisa real com usuários.
Escopo e critérios de sucesso
Trabalhe apenas em fixtures próprias, aplicativos locais ou ambientes de teste explicitamente autorizados. O executor integrado aceita apenas URLs de loopback, inicia um novo contexto de navegador e bloqueia requisições fora da origem exata. Um aplicativo local pode ainda assim mutar um backend real através de seu servidor: estabeleça dados sintéticos e uma conta descartável antes de submeter. Não compre, envie mensagens, exclua dados valiosos ou altere configurações de acesso. A permissão existente cobre apenas o workflow acordado.
A partir do objetivo do usuário e da UI observada, identifique um invariante concreto: um projeto para uma intenção de submissão, recuperação após um arquivo inválido ou um rascunho sobrevivendo a um salvamento prometido. Se o contrato for ambíguo, registre uma observação ou pergunte sobre esse comportamento específico, em vez de inventar um defeito. Registre a versão do aplicativo ou commit; use unknown se indisponível.
Explorar, perturbar, reproduzir
-
Inspecione a página atual usando uma ferramenta de navegador disponível ou o código-fonte alvo. Selecione rótulos estáveis, papéis ou IDs de teste a partir de evidências reais. Execute primeiro o workflow bem-sucedido normal. Se ele não puder ser concluído, resolva esse pré-requisito ou reporte-o separadamente.
-
Leia references/plans.md para escrever um plano JSON. Escolha os templates aplicáveis de references/perturbations.md. Altere uma dimensão por caso. Contextos de navegador frescos isolam o estado do navegador, mas dados do servidor exigem uma reinicialização conhecida ou uma conta descartável única. Não presuma que um navegador fresco redefine um banco de dados.
-
Execute a partir do diretório desta skill após
npm cienpx playwright install chromium:node scripts/run.mjs --url http://127.0.0.1:3000 --plan /absolute/path/case.json --out /absolute/path/evidence --app-version COMMITO diretório de saída deve ser novo. O executor escreve um relatório legível, plano exato, resultados de etapas, capturas de tela, trace, vídeo e script de replay. Ele não consegue inferir um objetivo ou seletores sozinho; a skill faz esse trabalho. Mantenha as evidências geradas fora do repositório alvo, a menos que solicitado como um exemplo durável.
-
Trate
observed_failurecomo uma incompatibilidade de asserção, não uma causa raiz estabelecida. Repita o mesmo caso em estado fresco pelo menos duas vezes antes de chamá-lo de reproduzível. Capture falhas e sucessos; nunca descarte execuções contraditórias.execution_errorsignifica que uma ação, seletor, navegador ou limite falhou e não é evidência de produto. Registre comentários subjetivos de UX separadamente das asserções objetivas. -
Minimize a sequência sem alterar a falha, então use
replay.mjscomo um comando de regressão (saída 0 para sucesso, 1 para incompatibilidade de asserção, 2 para erro de execução/configuração). Se autorizado a corrigir o aplicativo, execute novamente o plano idêntico contra a versão corrigida e verifique se o caminho normal ainda passa. Nunca altere a asserção para fabricar um resultado de sucesso.
Reporte o contrato violado, estado real e esperado, contagem de ocorrências, versões do aplicativo/navegador, comandos exatos e caminhos das evidências. Diga quando vídeo, trace, linha de base, reinicialização ou repetibilidade estiverem ausentes. Redija credenciais e dados pessoais antes de compartilhar capturas; traces podem conter dados completos de requisição/resposta. Nenhuma publicação ou mensagem externa está implícita por esta skill.
Limites
O executor usa Chromium, seletores CSS, eventos de ponteiro nativos, arquivos inline sintéticos e atrasos de requisição limitados. Um atraso de requisição não é limitação de banda ou perda de pacotes. Ele não pode automatizar staging remoto, redirecionamentos HTTP (incluindo redirecionamentos de mesma origem), respostas de streaming, login multi-origem, service workers, WebSockets ou JavaScript arbitrário. As respostas são armazenadas em buffer através do Playwright com redirecionamentos e repetições de transporte desativados, então a fidelidade de streaming e temporização de rede é limitada. Testes de política de credenciais do navegador e Set-Cookie também não são suportados: o transporte da API pode armazenar cookies de resposta de forma diferente do fetch do navegador. Para workflows não suportados, use uma ferramenta de navegador já disponível e autorizada e preserve o mesmo contrato de evidências; marque perturbações não suportadas explicitamente. Não enfraqueça o limite de origem do executor para fazer um teste passar.