Detectar regressões visuais antes de cada PR
Uma habilidade de repositório que instrui o Devin a tirar capturas de tela de cada página afetada e sinalizar quebras de layout antes de abrir um PR.O problema: erros de CSS passam despercebidos pelos testes unitários
Sua suíte de testes passa, o CI está verde e o PR é mesclado — mas a página de configurações agora tem texto sobreposto no mobile, e o botão de checkout desapareceu atrás de um rodapé. Testes unitários e linters não detectam quebras visuais, então isso vai para produção e um cliente reporta o problema.Uma skill de repositório resolve isso. Skills são arquivos Markdown que você faz commit em
.agents/skills/<your-skill>/ em qualquer um dos seus repositórios. Devin vê todas as skills em todos os repositórios conectados — você pode acioná-las manualmente ou o Devin pode escolher acioná-las automaticamente quando detectar uma situação relevante. Esta skill diz ao Devin exatamente como inicializar seu app, navegar pelas páginas afetadas pelo diff e tirar capturas de tela delas em múltiplas larguras de viewport — sempre, antes de cada PR.Adicione a skill de regressão visual ao seu repositório
Faça um commit de um arquivo em Este arquivo vem junto com o seu código. Depois de incluído em um commit, o Devin o vê como uma habilidade disponível — sempre que uma sessão interagir com arquivos de UI neste repositório, o Devin pode acionar os testes de regressão visual automaticamente, ou você pode executá-los manualmente a qualquer momento.
.agents/skills/visual-regression/visual-regression.md que represente a lista de verificação de QA manual da sua equipe como etapas que o Devin possa seguir:Torne as verificações específicas para suas páginas
Instruções genéricas como “verifique se a página parece correta” produzem resultados vagos. A parte mais valiosa dessa skill é dizer ao Devin como é o comportamento correto em cada área do seu app.Adicione seções específicas de rota à sua skill:Devin lê o diff, identifica quais rotas foram afetadas e segue a seção correspondente — assim, as verificações são direcionadas em vez de genéricas.
Veja-o identificar uma regressão real
Suponha que um(a) engenheiro(a) altere o grid CSS no dashboard de
grid-template-columns: repeat(3, 1fr) para repeat(auto-fit, minmax(200px, 1fr)) para tornar o layout responsivo. Os testes unitários passam — nenhuma lógica mudou. Mas, no mobile, os cards agora extrapolam a largura da viewport.Quando o Devin termina a mudança de código, ele segue a skill automaticamente:- Inicializa o app — instala dependências, inicia o Docker, executa migrações, faz o seed dos dados, inicia o servidor de desenvolvimento
- Lê o diff — vê que
src/components/Dashboard.tsxmudou, mapeia isso para a rota/dashboard - Captura screenshots em 1280px — o grid de 3 colunas é renderizado corretamente
- Captura screenshots em 375px — identifica overflow horizontal: os cards não cabem na viewport
- Sinaliza o problema — reporta “Rolagem horizontal detectada em /dashboard com largura de 375px — cards de métricas extrapolam a viewport”
- Corrige o CSS — adiciona
overflow-x: hiddene ajusta o mínimo dominmaxpara150px - Captura novos screenshots — confirma a correção em ambas as larguras
- Abre o PR — inclui screenshots de antes/depois e a correção na descrição
