Design Audit
Audit transversal pour verifier qu'une interface, un design system ou un flow frontend respecte les contrats visuels, techniques, accessibles et agent-readable. Le skill enrichit la boucle Skillz-Claude avec Lyse comme signal statique externe optionnel, puis chaine vers les skills qualitatifs existants.
Quand utiliser
- Avant
/ship sur une PR frontend, design system, Figma-to-code ou AI UI.
- Dans
/qa pour compléter le health score avec une preuve design-system.
- Dans
/dev quand la feature modifie des fichiers .tsx, .jsx, .vue, .css, des composants, tokens, pages ou flows UI.
- Quand l'utilisateur demande un audit design, une boucle design/code, un check de drift Figma/code, ou un score de qualite UI.
- Quand l'utilisateur mentionne Lyse,
@lyse-labs/lyse, Health Score, .lyse.yaml, ou veut reprendre les règles Lyse dans une boucle Skillz-Claude.
- Quand l'utilisateur demande un workflow complet avec plusieurs agents, une "squad Lyse", ou un audit UI/DS approfondi.
- Quand un repo doit devenir plus lisible pour les agents:
AGENTS.md, skills, MCP, manifest composants, docs DS.
Quand NE PAS utiliser
- Bug backend pur sans surface UI ou DS.
- Simple critique esthétique d'un screenshot sans besoin de contrat technique: utiliser
taste-critic.
- Audit accessibilite seul: utiliser
a11y-enforcer.
- Sync Figma/code ciblé sur un composant connu: utiliser
figma-design-code-sync.
- Creation de documentation DS exhaustive: utiliser
ds-doc.
Inputs
| Input |
Usage |
| URL locale/prod |
Audit runtime + screenshots + console/reseau via web-navigator |
| Chemin repo |
Audit statique des fichiers UI, tokens, composants, docs agent |
| Figma URL |
Drift design/code + tokens + variants |
| Screenshot |
Audit visuel qualitatif, sans preuve statique complète |
--quick |
Score rapide et top 5 risques |
--full |
Audit complet et plan de correction |
--squad |
Workflow complet Lyse Design Squad avec 12 agents |
--ship-gate |
Focus blocants P0/P1 avant ship |
Références Lyse
Si l'utilisateur mentionne Lyse, si le repo contient .lyse.yaml, ou si le mode est --full / --ship-gate sur un repo frontend/design-system, lire:
references/lyse/README.md
references/lyse/cli-runtime.md
references/lyse/rule-catalog.md
references/lyse/result-mapping.md
Ces références sont des notes d'intégration Skillz-Claude. Ne pas copier le code Lyse: l'outil upstream est AGPL-3.0-only / commercial et reste une dépendance externe appelée via CLI ou MCP.
Références Lyse Design Squad
Pour --squad, /design-audit-squad, "workflow complet", "plein d'agents", ou "squad Lyse", charger:
references/lyse-squad/00_REGLES_COMMUNES.md
references/lyse-squad/01_MASTER_ORCHESTRATOR.md
- Tous les prompts dans
references/lyse-squad/agents/, dans l'ordre défini par le master orchestrator.
Chaque prompt agent est autoritaire sur son périmètre. Ne pas résumer les règles au point de supprimer ses garde-fous.
Process
1. Cadrer la surface
Identifier:
- type: app, landing, design system, composant, AI UI, repo agent-tooling;
- source: URL, path, Figma, screenshot;
- mode: quick, full, squad, ship-gate;
- seuil attendu: informatif, strict, ou bloquant.
Si le scope est ambigu, poser 1 question maximum. Sinon avancer avec l'hypothèse la plus conservatrice.
2. Collecter les preuves
Lire en priorité:
AGENTS.md, CLAUDE.md, components/CLAUDE.md, components/AGENTS.md;
package.json, components.json, .mcp.json, .lyse.yaml, tailwind.config.*, tokens*.json;
- fichiers UI pertinents (
components/, src/components/, app/, pages/, styles/);
- docs planning/DS (
docs/planning/ui, docs/design-system, figma.config.json).
Si Lyse est disponible et que le repo est frontend/DS/agent-surface, lancer un audit non destructif via le helper:
skill:design-audit/scripts/run-lyse-audit.sh .
Si Node < 22, Lyse absent, ou le repo n'est pas compatible, continuer en audit statique manuel et noter Lyse: skipped.
Si une URL est fournie, charger web-navigator pour collecter les preuves runtime non destructives. Si Playwright CLI est disponible:
playwright-cli open <url>
playwright-cli snapshot
playwright-cli screenshot
playwright-cli console
playwright-cli requests
Playwright CLI est optionnel mais recommande par web-navigator pour les audits par agents IA: il donne des preuves reproductibles sur l'UI reelle sans transformer l'audit en suite de tests E2E.
En mode --squad, suivre references/lyse-squad/01_MASTER_ORCHESTRATOR.md, produire les 12 livrables agents, puis consolider le rapport final.
3. Auditer les axes Lyse + Skillz
A. Tokens
- Couleurs, spacing, radii, shadows, motion et z-index doivent passer par tokens ou variables.
- Les tokens semantiques doivent expliquer leur usage.
- DTCG ou convention locale doit rester coherente avec Figma/code.
B. Components
- Reutiliser les composants DS avant natif HTML.
- Props de variants strictes (
"primary" | "secondary", pas string/any).
- Imports depuis le module canonique du DS.
- Storybook ou examples couvrent les variantes critiques.
C. Stories / documentation in code
- Les composants DS critiques doivent avoir story, exemple, fixture ou documentation d'usage.
- Les absences Storybook sont P2 par défaut, P1 si l'équipe dépend des agents pour produire l'UI.
D. A11y
- Labels, alt, roles, keyboard, focus, contrastes, reduced motion.
- Deleguer les violations detaillees a
a11y-enforcer si l'audit revele P0/P1.
E. Taste
- Hierarchie, layout, densite, typo, motion, copy, assets et responsive.
- Deleguer l'analyse qualitative a
taste-critic pour URL/screenshot/code UI.
F. Figma/code drift
- Variants, props, tokens, et etats Figma doivent mapper vers le code.
- Si drift detecte, appeler
figma-design-code-sync ou produire un handoff clair.
G. AI surface & governance
- Surface agent-readable:
AGENTS.md command-first, MCP config, manifest composants, skills valides.
- UI IA: AI marker, disclaimer, explainability, feedback, loading/error states, stop/regenerate/edit/dismiss controls.
- Gate produit: "l'IA est-elle necessaire ?", fallback deterministe, permission/retry/citation.
4. Classer
| Niveau |
Bloque ship ? |
Definition |
| P0 |
Oui |
Bug visible, a11y critique, drift DS cassant, action utilisateur bloquee |
| P1 |
Oui en --ship-gate |
Violation forte de tokens/components/a11y/AI governance |
| P2 |
Non |
Dette de qualite, risque de drift, polish utile |
| P3 |
Non |
Nits, suggestions, documentation |
5. Sortie
## Design Audit Report
**Input**: ...
**Mode**: quick | full | squad | ship-gate
**Lyse**: score X/100 | skipped (raison)
**Verdict**: Ship-ready | Fix P0/P1 first | Needs design loop
### Axis scores
| Axis | Score | Evidence |
|---|---:|---|
| Tokens | ... | ... |
| Components | ... | ... |
| Stories/docs | ... | ... |
| A11y | ... | ... |
| Taste | ... | ... |
| Figma/code | ... | ... |
| AI surface | ... | ... |
### Findings
| Sev | Axis | Where | Issue | Fix |
|---|---|---|---|---|
### Top 3 fixes
1. ...
### Next action
- `taste-critic` / `a11y-enforcer` / `figma-design-code-sync` / `ds-doc` / `/dev`
Livrables squad
En mode --squad, produire ou recommander:
01_scope_evidence.md
02_lyse_static_report.md
03_tokens.md
04_components_contracts.md
05_stories_docs.md
06_accessibility.md
07_ai_surface.md
08_ai_governance.md
09_figma_code_drift.md
10_taste_runtime.md
11_remediation_plan.md
12_final_report_ship_gate.md
Integration workflow
/design-audit: audit compact, ciblé ou ship-gate.
/design-audit-squad: orchestration complète Lyse Design Squad avec 12 agents.
/dev: utiliser après la phase Explore si frontend detecte, puis intégrer les P0/P1 au plan.
/qa: ajouter le verdict Design Audit au health score.
/ship: en --ship-gate, P0 bloque; P1 exige correction ou acknowledgement explicite.
/ds-doc: après correction DS, documenter les nouveaux tokens/composants/manifestes.
- Lyse: si l'audit est complet, charger
references/lyse/ et utiliser le score comme preuve statique, pas comme verdict unique.
Exemples
/design-audit . --quick
/design-audit http://localhost:3000 --ship-gate
/design-audit https://www.figma.com/design/... --full
Exemple de décision:
Lyse: 50/100, Defined, mais findings centrés sur la taille des skills.
- Verdict Skillz:
Needs design loop si les P0/P1 touchent tokens, composants, a11y, drift ou IA.
- Action: corriger les P0/P1 dans
/dev, puis relancer design-audit --ship-gate.
Anti-patterns
- Ne pas traiter Lyse comme source unique: c'est une preuve statique, pas un jugement complet.
- Ne pas copier de code Lyse dans Skillz-Claude; appeler l'outil externe ou utiliser les références d'intégration.
- Ne pas bloquer un repo non-UI parce que les axes tokens/a11y/components sont N/A.
- Ne pas transformer un audit en refonte: le livrable est un verdict + plan de correction priorise.
1---2name: design-audit3description: Audit une UI ou design system via tokens, composants, stories/docs, a11y, taste, Figma, IA, preuves runtime web-navigator/Playwright CLI et Lyse. Utiliser avant /qa, /ship, /dev frontend, boucle design ou /design-audit-squad.4---56# Design Audit78Audit transversal pour verifier qu'une interface, un design system ou un flow frontend respecte les contrats visuels, techniques, accessibles et agent-readable. Le skill enrichit la boucle Skillz-Claude avec Lyse comme signal statique externe optionnel, puis chaine vers les skills qualitatifs existants.910## Quand utiliser1112- Avant `/ship` sur une PR frontend, design system, Figma-to-code ou AI UI.13- Dans `/qa` pour compléter le health score avec une preuve design-system.14- Dans `/dev` quand la feature modifie des fichiers `.tsx`, `.jsx`, `.vue`, `.css`, des composants, tokens, pages ou flows UI.15- Quand l'utilisateur demande un audit design, une boucle design/code, un check de drift Figma/code, ou un score de qualite UI.16- Quand l'utilisateur mentionne Lyse, `@lyse-labs/lyse`, Health Score, `.lyse.yaml`, ou veut reprendre les règles Lyse dans une boucle Skillz-Claude.17- Quand l'utilisateur demande un workflow complet avec plusieurs agents, une "squad Lyse", ou un audit UI/DS approfondi.18- Quand un repo doit devenir plus lisible pour les agents: `AGENTS.md`, skills, MCP, manifest composants, docs DS.1920## Quand NE PAS utiliser2122- Bug backend pur sans surface UI ou DS.23- Simple critique esthétique d'un screenshot sans besoin de contrat technique: utiliser `taste-critic`.24- Audit accessibilite seul: utiliser `a11y-enforcer`.25- Sync Figma/code ciblé sur un composant connu: utiliser `figma-design-code-sync`.26- Creation de documentation DS exhaustive: utiliser `ds-doc`.2728## Inputs2930| Input | Usage |31|---|---|32| URL locale/prod | Audit runtime + screenshots + console/reseau via `web-navigator` |33| Chemin repo | Audit statique des fichiers UI, tokens, composants, docs agent |34| Figma URL | Drift design/code + tokens + variants |35| Screenshot | Audit visuel qualitatif, sans preuve statique complète |36| `--quick` | Score rapide et top 5 risques |37| `--full` | Audit complet et plan de correction |38| `--squad` | Workflow complet Lyse Design Squad avec 12 agents |39| `--ship-gate` | Focus blocants P0/P1 avant ship |4041## Références Lyse4243Si l'utilisateur mentionne Lyse, si le repo contient `.lyse.yaml`, ou si le mode est `--full` / `--ship-gate` sur un repo frontend/design-system, lire:44451. `references/lyse/README.md`462. `references/lyse/cli-runtime.md`473. `references/lyse/rule-catalog.md`484. `references/lyse/result-mapping.md`4950Ces références sont des notes d'intégration Skillz-Claude. Ne pas copier le code Lyse: l'outil upstream est AGPL-3.0-only / commercial et reste une dépendance externe appelée via CLI ou MCP.5152## Références Lyse Design Squad5354Pour `--squad`, `/design-audit-squad`, "workflow complet", "plein d'agents", ou "squad Lyse", charger:55561. `references/lyse-squad/00_REGLES_COMMUNES.md`572. `references/lyse-squad/01_MASTER_ORCHESTRATOR.md`583. Tous les prompts dans `references/lyse-squad/agents/`, dans l'ordre défini par le master orchestrator.5960Chaque prompt agent est autoritaire sur son périmètre. Ne pas résumer les règles au point de supprimer ses garde-fous.6162## Process6364### 1. Cadrer la surface6566Identifier:67- type: app, landing, design system, composant, AI UI, repo agent-tooling;68- source: URL, path, Figma, screenshot;69- mode: quick, full, squad, ship-gate;70- seuil attendu: informatif, strict, ou bloquant.7172Si le scope est ambigu, poser 1 question maximum. Sinon avancer avec l'hypothèse la plus conservatrice.7374### 2. Collecter les preuves7576Lire en priorité:77- `AGENTS.md`, `CLAUDE.md`, `components/CLAUDE.md`, `components/AGENTS.md`;78- `package.json`, `components.json`, `.mcp.json`, `.lyse.yaml`, `tailwind.config.*`, `tokens*.json`;79- fichiers UI pertinents (`components/`, `src/components/`, `app/`, `pages/`, `styles/`);80- docs planning/DS (`docs/planning/ui`, `docs/design-system`, `figma.config.json`).8182Si Lyse est disponible et que le repo est frontend/DS/agent-surface, lancer un audit non destructif via le helper:8384```bash85skill:design-audit/scripts/run-lyse-audit.sh .86```8788Si Node < 22, Lyse absent, ou le repo n'est pas compatible, continuer en audit statique manuel et noter `Lyse: skipped`.8990Si une URL est fournie, charger `web-navigator` pour collecter les preuves runtime non destructives. Si Playwright CLI est disponible:9192```bash93playwright-cli open <url>94playwright-cli snapshot95playwright-cli screenshot96playwright-cli console97playwright-cli requests98```99100Playwright CLI est optionnel mais recommande par `web-navigator` pour les audits par agents IA: il donne des preuves reproductibles sur l'UI reelle sans transformer l'audit en suite de tests E2E.101102En mode `--squad`, suivre `references/lyse-squad/01_MASTER_ORCHESTRATOR.md`, produire les 12 livrables agents, puis consolider le rapport final.103104### 3. Auditer les axes Lyse + Skillz105106#### A. Tokens107- Couleurs, spacing, radii, shadows, motion et z-index doivent passer par tokens ou variables.108- Les tokens semantiques doivent expliquer leur usage.109- DTCG ou convention locale doit rester coherente avec Figma/code.110111#### B. Components112- Reutiliser les composants DS avant natif HTML.113- Props de variants strictes (`"primary" | "secondary"`, pas `string`/`any`).114- Imports depuis le module canonique du DS.115- Storybook ou examples couvrent les variantes critiques.116117#### C. Stories / documentation in code118- Les composants DS critiques doivent avoir story, exemple, fixture ou documentation d'usage.119- Les absences Storybook sont P2 par défaut, P1 si l'équipe dépend des agents pour produire l'UI.120121#### D. A11y122- Labels, alt, roles, keyboard, focus, contrastes, reduced motion.123- Deleguer les violations detaillees a `a11y-enforcer` si l'audit revele P0/P1.124125#### E. Taste126- Hierarchie, layout, densite, typo, motion, copy, assets et responsive.127- Deleguer l'analyse qualitative a `taste-critic` pour URL/screenshot/code UI.128129#### F. Figma/code drift130- Variants, props, tokens, et etats Figma doivent mapper vers le code.131- Si drift detecte, appeler `figma-design-code-sync` ou produire un handoff clair.132133#### G. AI surface & governance134- Surface agent-readable: `AGENTS.md` command-first, MCP config, manifest composants, skills valides.135- UI IA: AI marker, disclaimer, explainability, feedback, loading/error states, stop/regenerate/edit/dismiss controls.136- Gate produit: "l'IA est-elle necessaire ?", fallback deterministe, permission/retry/citation.137138### 4. Classer139140| Niveau | Bloque ship ? | Definition |141|---|---:|---|142| P0 | Oui | Bug visible, a11y critique, drift DS cassant, action utilisateur bloquee |143| P1 | Oui en `--ship-gate` | Violation forte de tokens/components/a11y/AI governance |144| P2 | Non | Dette de qualite, risque de drift, polish utile |145| P3 | Non | Nits, suggestions, documentation |146147### 5. Sortie148149```markdown150## Design Audit Report151152**Input**: ...153**Mode**: quick | full | squad | ship-gate154**Lyse**: score X/100 | skipped (raison)155**Verdict**: Ship-ready | Fix P0/P1 first | Needs design loop156157### Axis scores158| Axis | Score | Evidence |159|---|---:|---|160| Tokens | ... | ... |161| Components | ... | ... |162| Stories/docs | ... | ... |163| A11y | ... | ... |164| Taste | ... | ... |165| Figma/code | ... | ... |166| AI surface | ... | ... |167168### Findings169| Sev | Axis | Where | Issue | Fix |170|---|---|---|---|---|171172### Top 3 fixes1731. ...174175### Next action176- `taste-critic` / `a11y-enforcer` / `figma-design-code-sync` / `ds-doc` / `/dev`177```178179## Livrables squad180181En mode `--squad`, produire ou recommander:182183- `01_scope_evidence.md`184- `02_lyse_static_report.md`185- `03_tokens.md`186- `04_components_contracts.md`187- `05_stories_docs.md`188- `06_accessibility.md`189- `07_ai_surface.md`190- `08_ai_governance.md`191- `09_figma_code_drift.md`192- `10_taste_runtime.md`193- `11_remediation_plan.md`194- `12_final_report_ship_gate.md`195196## Integration workflow197198- `/design-audit`: audit compact, ciblé ou ship-gate.199- `/design-audit-squad`: orchestration complète Lyse Design Squad avec 12 agents.200- `/dev`: utiliser après la phase Explore si frontend detecte, puis intégrer les P0/P1 au plan.201- `/qa`: ajouter le verdict Design Audit au health score.202- `/ship`: en `--ship-gate`, P0 bloque; P1 exige correction ou acknowledgement explicite.203- `/ds-doc`: après correction DS, documenter les nouveaux tokens/composants/manifestes.204- Lyse: si l'audit est complet, charger `references/lyse/` et utiliser le score comme preuve statique, pas comme verdict unique.205206## Exemples207208```bash209/design-audit . --quick210/design-audit http://localhost:3000 --ship-gate211/design-audit https://www.figma.com/design/... --full212```213214Exemple de décision:215216- `Lyse: 50/100, Defined`, mais findings centrés sur la taille des skills.217- Verdict Skillz: `Needs design loop` si les P0/P1 touchent tokens, composants, a11y, drift ou IA.218- Action: corriger les P0/P1 dans `/dev`, puis relancer `design-audit --ship-gate`.219220## Anti-patterns221222- Ne pas traiter Lyse comme source unique: c'est une preuve statique, pas un jugement complet.223- Ne pas copier de code Lyse dans Skillz-Claude; appeler l'outil externe ou utiliser les références d'intégration.224- Ne pas bloquer un repo non-UI parce que les axes tokens/a11y/components sont N/A.225- Ne pas transformer un audit en refonte: le livrable est un verdict + plan de correction priorise.