web-design-guidelines
Web Interface Guidelines
Review and fix UI for compliance with Web Interface Guidelines through static code analysis and visual browser inspection.
Scope of Application
- Static sites (HTML/CSS/JS)
- SPA frameworks: React / Vue / Angular / Svelte
- Full-stack frameworks: Next.js / Nuxt / SvelteKit
- Any web application with accessible source code
Workflow Overview
Step 1: Information Gathering
↓
Step 2: Guidelines Fetch + Static Analysis
↓
Step 3: Visual Inspection (if URL provided)
↓
Step 4: Issue Fixing
↓
Step 5: Re-verification
↓
(Loop if issues remain)
Step 1: Information Gathering
1.1 Determine Review Mode
| Input | Mode | Actions |
|---|---|---|
| File/pattern only | Static Analysis | Code review against guidelines |
| URL only | Visual Inspection | Browser-based visual review |
| URL + files | Full Review | Both static and visual analysis |
1.2 URL Confirmation (Visual Mode)
If visual inspection requested but no URL provided, ask:
Please provide the URL of the website to review (e.g.,
http://localhost:3000)
1.3 Project Detection
Attempt automatic detection from workspace files:
| File | Detection |
|---|---|
package.json |
Framework and dependencies |
tailwind.config.* |
Tailwind CSS |
next.config.* |
Next.js |
nuxt.config.* |
Nuxt |
vite.config.* |
Vite |
1.4 Styling Method Identification
| Method | Detection | Edit Target |
|---|---|---|
| Pure CSS | *.css files |
Global or component CSS |
| SCSS/Sass | *.scss, *.sass |
SCSS files |
| CSS Modules | *.module.css |
Module CSS files |
| Tailwind CSS | tailwind.config.* |
className in components |
| styled-components | styled. in code |
JS/TS files |
| CSS-in-JS | Inline styles | JS/TS files |
Step 2: Guidelines Fetch + Static Analysis
2.1 Fetch Latest Guidelines
Fetch fresh guidelines before each review:
https://raw.githubusercontent.com/vercel-labs/web-interface-guidelines/main/command.md
Use WebFetch to retrieve the latest rules. The fetched content contains all the rules and output format instructions.
2.2 Static Code Analysis
- Read the specified files (or prompt user for files/pattern)
- Check against all rules in the fetched guidelines
- Collect findings with
file:linereferences
Step 3: Visual Inspection (Browser Mode)
3.1 Prerequisites
- Target website must be running (local dev server or remote)
- Browser automation available (Playwright MCP or cursor-browser-extension)
3.2 Page Inspection
- Navigate to the specified URL
- Capture screenshots
- Retrieve DOM structure/snapshot
- If additional pages exist, traverse through navigation
3.3 Viewport Testing
Test at the following viewports for responsive issues:
| Name | Width | Representative Device |
|---|---|---|
| Mobile | 375px | iPhone SE/12 mini |
| Tablet | 768px | iPad |
| Desktop | 1280px | Standard PC |
| Wide | 1920px | Large display |
3.4 Visual Inspection Checklist
Layout Issues
| Issue | Description | Severity |
|---|---|---|
| Element Overflow | Content overflows container or viewport | High |
| Element Overlap | Unintended overlapping of elements | High |
| Alignment Issues | Grid or flex alignment problems | Medium |
| Inconsistent Spacing | Padding/margin inconsistencies | Medium |
| Text Clipping | Long text not handled properly | Medium |
Responsive Issues
| Issue | Description | Severity |
|---|---|---|
| Non-mobile Friendly | Layout breaks on small screens | High |
| Breakpoint Issues | Unnatural transitions at breakpoints | Medium |
| Touch Targets | Buttons too small on mobile | Medium |
Accessibility Issues
| Issue | Description | Severity |
|---|---|---|
| Insufficient Contrast | Low contrast ratio text/background | High |
| No Focus State | Cannot see focus during keyboard nav | High |
| Missing alt Text | No alternative text for images | Medium |
Visual Consistency
| Issue | Description | Severity |
|---|---|---|
| Font Inconsistency | Mixed font families | Medium |
| Color Inconsistency | Non-unified brand colors | Medium |
| Spacing Inconsistency | Non-uniform spacing patterns | Low |
Step 4: Issue Fixing
4.1 Issue Prioritization
| Priority | Criteria | Action |
|---|---|---|
| P1 | Layout issues affecting functionality | Fix immediately |
| P2 | Visual issues degrading UX | Fix next |
| P3 | Minor visual inconsistencies | Fix if possible |
4.2 Identifying Source Files
- Selector-based Search: Search codebase by class name or ID
- Component-based Search: Identify components from element text/structure
- File Pattern Filtering:
src/**/*.css,styles/**/*,src/components/**/*
4.3 Fix Principles
- Minimal Changes: Only make minimum changes necessary
- Respect Existing Patterns: Follow existing code style
- Avoid Breaking Changes: Be careful not to affect other areas
- Add Comments: Explain reason for fixes where appropriate
Step 5: Re-verification
5.1 Post-fix Confirmation
- Reload browser (or wait for HMR)
- Capture screenshots of fixed areas
- Compare before and after
5.2 Regression Testing
- Verify fixes haven't affected other areas
- Confirm responsive display is not broken
5.3 Iteration
If issues remain after fix, return to Step 3. Limit to 3 fix attempts per issue before consulting user.
Output Format
Review Results Report
# Web Design Review Results
## Summary
| Item | Value |
|------|-------|
| Target | {URL or files} |
| Framework | {Detected framework} |
| Styling | {CSS / Tailwind / etc.} |
| Review Mode | {Static / Visual / Full} |
| Issues Detected | {N} |
| Issues Fixed | {M} |
## Static Analysis Findings
{file:line format findings from guidelines check}
## Visual Inspection Findings
### [P1] {Issue Title}
- **Page**: {Page path}
- **Element**: {Selector or description}
- **Issue**: {Detailed description}
- **Fixed File**: `{File path}`
- **Fix Details**: {Description of changes}
### [P2] {Issue Title}
...
## Unfixed Issues (if any)
### {Issue Title}
- **Reason**: {Why it was not fixed}
- **Recommended Action**: {Recommendations for user}
## Recommendations
- {Suggestions for future improvements}
Usage Examples
Static Analysis Only
Review my UI in src/components/
Check accessibility of my forms
Audit design of src/pages/
Visual Inspection
Review the design at http://localhost:3000
Check the UI at http://localhost:5173/dashboard
Find layout problems on my site
Full Review (Recommended)
Review my UI at localhost:3000 and fix issues in src/
Audit the design and fix responsive problems
Best Practices
DO
- Always save screenshots before making fixes
- Fix one issue at a time and verify each
- Follow the project's existing code style
- Confirm with user before major changes
DON'T
- Large-scale refactoring without confirmation
- Ignore design systems or brand guidelines
- Fix multiple issues at once (difficult to verify)
- Skip re-verification after fixes
Troubleshooting
Style files not found
- Check dependencies in
package.json - Consider CSS-in-JS possibility
- Ask user about styling method
Fixes not reflected
- Check if dev server HMR is working
- Clear browser cache
- Check CSS specificity issues
Fixes affecting other areas
- Rollback changes
- Use more specific selectors
- Consider CSS Modules or scoped styles
More from dedalus-erp-pas/hexagone-foundation-skills
vue-best-practices
Guide des bonnes pratiques Vue.js 3 couvrant la Composition API, la conception de composants, les patrons de réactivité, le styling utility-first avec Tailwind CSS, l'intégration native de la bibliothèque de composants PrimeVue et l'organisation du code. À utiliser lors de l'écriture, la revue ou le refactoring de code Vue.js pour garantir des patrons idiomatiques et un code maintenable.
23ubiquitous-language
Extrait un glossaire de langage ubiquitaire style DDD de la conversation en cours, signale les ambiguïtés et propose des termes canoniques. Sauvegarde dans UBIQUITOUS_LANGUAGE.md. À utiliser quand l'utilisateur veut définir des termes métier, construire un glossaire, durcir la terminologie, créer un langage ubiquitaire ou mentionne « domain model », « DDD », « glossaire » ou « langage ubiquitaire ».
23grill-me
Interroge l'utilisateur sans relâche sur un plan ou un design jusqu'à atteindre une compréhension partagée, en résolvant chaque branche de l'arbre de décision. À utiliser quand l'utilisateur veut stress-tester un plan, se faire challenger sur son design, ou mentionne « grill me » / « interroge-moi » / « challenge-moi » / « questionne-moi ».
22meeting
Lance une réunion simulée avec plusieurs personas experts pour analyser un sujet sous des perspectives diverses, prendre une décision et proposer une solution avant implémentation. Peut optionnellement publier l'analyse de la réunion sur une issue GitLab ou GitHub liée.
22changelog-generator
Crée automatiquement des changelogs orientés utilisateur à partir des commits git en analysant l'historique, catégorisant les changements et transformant les commits techniques en notes de version claires et compréhensibles. Transforme des heures de rédaction manuelle en minutes de génération automatisée.
22github-issues
Crée, récupère, met à jour et gère les issues GitHub avec collecte complète du contexte. À utiliser quand l'utilisateur veut créer une nouvelle issue, voir les détails d'une issue, mettre à jour des issues existantes, lister les issues du projet, ajouter des commentaires ou gérer les workflows d'issues dans GitHub.
22