with one click
forge-responsive
Audit e implementacao de design responsivo — CWV, WCAG 2.2.
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Audit e implementacao de design responsivo — CWV, WCAG 2.2.
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
Executa o milestone inteiro de forma autonoma ate concluir.
Executa exatamente uma unidade de trabalho e para (step mode).
Task autonoma sem milestone — brainstorm, discuss, plan, execute.
Gerencia múltiplas contas Claude e troca entre elas (setup-token). Use ao esgotar a sessão de uma conta.
Qualidade do codebase — lint, nomenclatura. Flags: --fix, --paths.
Configuracoes do Forge — status line, hooks, MCPs.
| name | forge-responsive |
| description | Audit e implementacao de design responsivo — CWV, WCAG 2.2. |
<essential_principles>
clamp(), auto-fit, container queries over media query cascades.Read project config to identify the stack:
| Signal | Strategy |
|---|---|
tailwind.config.* exists | Tailwind CSS |
*.module.css or *.module.scss in components | CSS Modules |
styled-components or @emotion in package.json | CSS-in-JS |
*.css or *.scss alongside components | Vanilla / SCSS |
globals.css or app.css only | Global styles |
Read the config file (tailwind.config, theme file, or main CSS) to extract:
Check tailwind.config.* for custom screens. Tailwind v3/v4 defaults:
sm: 640px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px
Tailwind is mobile-first by design (min-width). Note custom breakpoints if present.
Search for media queries and classify:
min-width → mobile-first (correct default)max-width → desktop-first (valid if consistent)min-width AND max-width in same codebase → ⚠ inconsistencyExtract unique breakpoint values. Flag if >5 distinct values exist (fragmentation).
| Category | Common widths | Share |
|---|---|---|
| Mobile | 360-430px | ~80% of phones |
| Tablet | 768-810px | iPad variants |
| Desktop | 1440-1920px | Most common |
Check if the project uses modern CSS for self-adapting layouts:
| Pattern | CSS | Replaces |
|---|---|---|
| Fluid grids | repeat(auto-fit, minmax(min(250px, 100%), 1fr)) | Breakpoint-based column switching |
| Fluid spacing | gap: clamp(1rem, 2vw, 3rem) | Multiple spacing overrides per breakpoint |
| Fluid typography | clamp(1rem, 0.909rem + 0.45vw, 1.25rem) | font-size at every breakpoint |
| Container queries | @container (inline-size > 400px) { ... } | Component-level media queries |
| Logical properties | margin-inline, padding-block | Physical margin-left/padding-top |
Container queries (CSS Containment L3) have 90%+ browser support. Use for reusable components. Keep media queries for page-level layout and user preference queries (prefers-color-scheme, prefers-reduced-motion).
When to flag absence: If the project has >5 media queries doing column switching on the same component used in multiple contexts, suggest container queries. If typography uses 3+ breakpoint overrides, suggest clamp().
width: Npx on containers → ⚠ CLS risk — should be max-width + width: 100%grid-template-columns: Npx Npx Npx → ⚠ use repeat(auto-fit, minmax(Npx, 1fr))flex-wrap on multi-item containers → ⚠ will overflow on mobileFormula: font-size: clamp(min, preferred, max) where preferred = rem + vw:
/* 16px at 320px viewport → 20px at 1200px viewport */
font-size: clamp(1rem, 0.909rem + 0.455vw, 1.25rem);
rem + vw (not pure vw) so text scales with user browser font sizeinfo suggest clamp()<img> without max-width: 100% or responsive class → ⚠ will overflowsrcset + sizes or <picture> → ⚠ LCP wastes bandwidth on mobilewidth/height attributes or aspect-ratio → ⚠ CLS causes layout shiftinfo consider <link rel="preload">info suggest with <picture> fallback<img> instead of next/image → ⚠ loses optimization pipeline<meta name="viewport" content="width=device-width, initial-scale=1"> → ✗ criticalCross-reference findings with CWV metrics:
| Metric | Good | Needs Improvement | Poor | Responsive impact |
|---|---|---|---|---|
| CLS | ≤0.1 | 0.1-0.25 | >0.25 | Unsized images, font swaps, dynamic content injection |
| LCP | ≤2.5s | 2.5s-4.0s | >4.0s | Oversized images on mobile, unpreloaded hero images |
| INP | ≤200ms | 200ms-500ms | >500ms | Heavy JS hydration on mobile, layout thrashing on resize |
Flag findings that directly impact CWV with the metric name: ⚠ CLS, ⚠ LCP, ⚠ INP.
| Severity | Criteria | Example |
|---|---|---|
✗ Critical | Breaks layout or fails WCAG AA | Missing viewport meta, fixed 1200px container |
⚠ Warning | Degrades CWV or usability | No flex-wrap, unsized images (CLS), small touch targets |
info | Modern CSS improvement | Could use clamp(), could add container queries, srcset |
Exclude from analysis:
# Responsive Audit
**Strategy:** [Tailwind / CSS Modules / CSS-in-JS / Vanilla]
**Breakpoint approach:** [mobile-first / desktop-first / mixed ⚠]
**Breakpoints detected:** [list with px values]
**Modern CSS usage:** [container queries: yes/no] [clamp(): yes/no] [logical properties: yes/no]
## Critical
- `✗` [file:line] — [issue] — [standard] → [fix]
## Warnings
- `⚠` [file:line] — [issue] — [CWV metric or WCAG SC] → [fix]
## Improvements
- `info` [file:line] — [suggestion]
## Core Web Vitals risk
| Metric | Risk level | Root causes |
|--------|-----------|-------------|
| CLS | low/medium/high | [specific findings] |
| LCP | low/medium/high | [specific findings] |
| INP | low/medium/high | [specific findings] |
## Summary
- Critical: N | Warnings: N | Info: N
<fast_mode>
When invoked with -fast flag: audit only files changed in the current branch (use git diff --name-only main). Skip breakpoint consistency and CWV risk table. Focus on critical + warning only.
</fast_mode>
<success_criteria>