Il Design Agent
Chiama design.validate per ottenere un Blueprint Readiness Score (0–100, voto A–F) su un artefatto frontend reale. Il Design Agent revisiona il tuo componente, schermata o flusso rispetto alle 8 leggi dell'Experience Design Blueprint, restituisce un verdetto per ogni legge con evidenze citate e una correzione, e lo valuta con lo stesso scorer pesato per severità usato da architect.validate. Solo piani Pro e Teams.
Membri Pro e Teams. Il Design Agent è la lente di review della superficie del Blueprint. Legge il sorgente completo dell'artefatto sotto una rigorosa politica di no-training, tratta qualsiasi testo con forma di istruzione dentro il markup come dato inerte non fidato, e supporta private_session=true per saltare il run memorizzato (i log operativi di sicurezza e di costo sono conservati secondo la Privacy Policy). Il codice non visuale (backend, config, type alias) è marcato not_applicable, non bocciato. Invia la superficie UI reale.
Cosa ottieni
Ogni run restituisce quattro cose, nella stessa forma ValidationResponse usata da architect.validate:
surface_classificationui_surface o non_ui, il codice non visuale è marcato not_applicable invece che bocciato, così inviare un handler backend non produce mai un finto voto di design.
per-law findingsUn verdetto per ognuna delle otto leggi con severity_score (0–100), severity_class, evidenze citate dal tuo markup reale e una raccomandazione specifica.
readinessScore, voto e livello dallo stesso scorer pesato per severità usato dalla lente architettura. Il voto penalizza solo i production_blocker, quindi un voto alto significa che i requisiti minimi di esperienza reggono, non che ogni pixel è perfetto.
surface dimensionI run vengono salvati nella tua dashboard di validation history con la dimensione surface, accanto ai run architecture dello stesso progetto quando passi un repository.
Le otto leggi su cui valuta
La rubrica è l'Experience Design Blueprint: otto leggi della qualità percepibile, ognuna valutata con lo stesso vocabolario di verdetti della lente architettura.
L1 · Jakob's LawOnora la familiarità prima dell'invenzione: la superficie rispetta il modello che gli utenti portano dai prodotti leader di categoria?
L2 · Hick's LawRiduci la scelta in ogni punto di decisione: un'azione primaria chiara per schermata.
L3 · Fitts's Law + the accessibility floorRendi i target facili da raggiungere: ogni target interattivo rispetta il minimo 24×24 di WCAG 2.2. Una violazione qui è un production_blocker.
L4 · Miller's LawRispetta i limiti della memoria di lavoro: quanti elementi deve tenere a mente l'utente in un momento di decisione?
L5 · Aesthetic-Usability EffectRendilo bello così sembra facile: la qualità regge negli stati vuoti, di caricamento e di errore, non solo nel percorso felice.
L6 · Peak-End RuleProgetta il picco e il finale: il momento di completamento è progettato, o un flusso curato finisce su un semplice 'Inviato.'?
L7 · Tesler's LawMetti la complessità dove deve stare: il sistema assorbe la complessità irriducibile con un default semplice e resta ispezionabile.
L8 · Mental-Model GapAllinea la superficie al modello mentale dell'utente: per le superfici mediate da agenti, l'intento è visualizzabile in anteprima e ogni deviazione dalle aspettative è dichiarata prima.
L'accessibilità è il requisito minimo
Quando due leggi confliggono, l'ordine è fisso: prima l'accessibilità, per ultima la rifinitura estetica. Il validatore non diluisce una violazione del requisito minimo in un numero rassicurante. Un target interattivo sotto 24×24px, uno stato di focus mancante o una conferma distruttiva irraggiungibile è un production_blocker che limita il voto, esattamente come un trust boundary fallito sulla lente architettura. La rifinitura è la legge più negoziabile. Il requisito minimo non è negoziabile affatto.
Come chiamarlo
Invia il sorgente completo dell'artefatto verbatim come implementation_context, il JSX, il markup, gli stili, senza troncamenti e senza puntini segnaposto (vengono letti come codice letterale). Se una superficie è troppo grande per il budget di tool-call del tuo client MCP, dividila in più chiamate per componente. Passa lo stesso valore repository tra le chiamate per raggruppare i round nella dimensione surface di un progetto. design.validate è solo sincrono. Se la chiamata va in timeout lato client, non riprovare, il run persiste lato server; recuperalo via me.validation_history(run_id=...) usando il run_id del primo evento di progresso.
Also in this section