Individua le regressioni visive prima di ogni PR
Una skill del repository che fa eseguire a Devin uno screenshot di ogni pagina interessata e gli fa segnalare i problemi di layout prima di aprire una pull request (PR).Il problema: i bug CSS passano inosservati nei test unitari
La tua suite di test passa, la CI è verde e la PR viene messa in merge — ma ora la pagina delle impostazioni ha del testo sovrapposto su mobile e il pulsante di checkout è scomparso dietro il footer. I test unitari e i linter non rilevano problemi visivi, quindi il bug arriva in produzione e un cliente lo segnala.Una skill di repository risolve questo problema. Le skill sono file markdown che fai il commit in
.agents/skills/<your-skill>/ in uno qualsiasi dei tuoi repository. Devin vede tutte le skill in tutti i repository collegati — puoi attivarle manualmente oppure Devin può scegliere di attivarle automaticamente quando rileva una situazione rilevante. Questa skill indica a Devin esattamente come avviare la tua app, navigare le pagine interessate dal diff e catturare screenshot a diverse larghezze di viewport — ogni volta, prima di ogni PR.Aggiungi la skill di visual-regression al tuo repository
Esegui il commit di un file in Questo file viene fornito insieme al tuo codice. Una volta effettuato il commit, Devin lo considera una capacità disponibile — ogni volta che una sessione interagisce con file dell’interfaccia utente in questo repository, Devin può attivare automaticamente le verifiche di regressione visiva, oppure puoi eseguirle manualmente in qualsiasi momento.
.agents/skills/visual-regression/visual-regression.md che descriva la checklist di QA manuale del tuo team sotto forma di passaggi che Devin può seguire:Rendi le verifiche specifiche per le tue pagine
Istruzioni generiche come “controlla che la pagina sia visualizzata correttamente” producono risultati vaghi. Il valore principale di questa skill sta nel dire a Devin come deve presentarsi lo stato corretto per ogni area della tua app.Aggiungi alla tua skill sezioni specifiche per ogni route:Devin legge il diff, identifica quali route sono state modificate e segue la sezione corrispondente, così che i controlli siano mirati anziché generici.
Guarda come rileva una vera regressione
Supponiamo che un ingegnere modifichi la griglia CSS nella dashboard da
grid-template-columns: repeat(3, 1fr) a repeat(auto-fit, minmax(200px, 1fr)) per rendere il layout responsive. I test unitari passano — nessuna logica è stata modificata. Ma su mobile, le card ora fuoriescono dal viewport.Quando Devin termina la modifica al codice, segue automaticamente la skill:- Avvia l’app — installa le dipendenze, avvia Docker, esegue le migrazioni, esegue il seeding dei dati, avvia il server di sviluppo
- Legge il diff — vede che
src/components/Dashboard.tsxè stato modificato, lo mappa alla route/dashboard - Cattura screenshot a 1280px — la griglia a 3 colonne viene renderizzata correttamente
- Cattura screenshot a 375px — individua un overflow orizzontale: le card non rientrano nel viewport
- Segnala il problema — riporta “Horizontal scroll detected on /dashboard at 375px width — metric cards overflow the viewport”
- Corregge il CSS — aggiunge
overflow-x: hiddene regola il minimo diminmaxa150px - Scatta di nuovo gli screenshot — conferma la correzione a entrambe le larghezze
- Apre la PR — include gli screenshot prima/dopo e la correzione nella descrizione
