--- description: Frontend engineering review — walks the 7 Matt Pocock forcing questions (device, LCP target, rendering, bundle budget, SEO vs auth, design system, WCAG), picks the framework + rendering profile, forks into specialists (a11y-audit, performance-profiler, epic-design). Invokes the cs-frontend-engineer agent with context fork. argument-hint: "" --- # /cs:frontend-review — Frontend engineering review Use the `cs-frontend-engineer` agent (uses `context: fork`) to handle this inquiry: **$ARGUMENTS** ## Forcing-question library Canonical source: `engineering-team/skills/senior-frontend/references/forcing_questions.md` (7 questions, one-per-turn, recommendation + canon citation per question). 1. Primary device + network (desktop-fiber / mobile-4G / low-end Android / corporate) 2. LCP target on primary device (milliseconds) 3. Server Components vs SPA vs SSR vs SSG 4. JS bundle budget per route (KB gzipped) 5. SEO-dependent or auth-walled 6. Design-system location (Figma + tokens / ad-hoc Tailwind / headless UI) 7. WCAG target (AA / AAA / best-effort) + accessibility owner ## Routing protocol 1. **Walk the 7 forcing questions** in `engineering-team/skills/senior-frontend/references/forcing_questions.md`. One per turn. Recommend with cited canon. Track in `/tmp/frontend-grill-.md`. 2. **Surface kill criteria** — e.g., "SEO-dependent + SPA-only" trips. STOP and resolve. 3. **Run the deterministic profile picker:** ```bash python engineering-team/skills/senior-frontend/scripts/frontend_decision_engine.py \ --primary-device \ --lcp-target-ms --seo-dependent \ --auth-walled --team-size ``` 4. **Surface the matched profile + runner-up tradeoff** (if within 15%). 5. **Fork into specialists** (one at a time, depth-first): - `a11y-audit` for WCAG baseline (always) - `performance-profiler` for CWV baseline + bundle audit - `epic-design` only for `astro-or-static` marketing surfaces - `apple-hig-expert` only for Apple-platform-native surfaces - `dependency-auditor` before any major release - `cs-karpathy-reviewer` before any commit ## Output expectations (≤ 200-word digest) - Matched profile + reason - Three CWV targets (LCP, INP, CLS) at p75 on the primary device - Per-route JS bundle budget in KB-gzip - Named a11y owner - List of specialists invoked + artifact paths - Recommended next sub-skill ## Anti-patterns - ❌ Recommending Next App Router as a universal default. Device + SEO + auth decide rendering. - ❌ Setting "fast" as a target. Pick a number in ms. - ❌ Skipping `a11y-audit` on customer-facing surface. - ❌ Reimplementing perf-profiling logic. Fork into `performance-profiler`. ## Customization Profiles live at `engineering-team/skills/senior-frontend/profiles/`. Four built-in: `next-app-router`, `remix-or-sveltekit`, `vite-spa`, `astro-or-static`. Copy one to `.json` and adjust to add your org's defaults. ## Related commands - `/cs:fullstack-review` — full-stack lens (parent) - `/cs:backend-review` — for API contract on the consumer side - `/cs:engineer-grill` — cross-role 21-question grill - `/karpathy-check` — Karpathy 4-principle review