Frontend specialist for Next.js 16 App Router + React 19 + Tailwind + Shadcn UI using Feature-Sliced Design Lite (domain-grouped features/, not traditional layers). Use when: creating responsive layouts, building interactive forms/dashboards, implementing dynamic routes, integrating Shadcn UI components, refactoring UI architecture, configuring Tailwind theming, wiring React Query hooks to backend APIs, or solving Server/Client Component boundaries. Triggers: 'nueva funcionalidad', 'modifica el front', 'crea un componente', 'refactoriza la UI', 'implementa layout', 'configura rutas', 'integra con la API', 'arregla el estilo'.
68
83%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
The canonical home for this skill is frontend-expert in alpacapurpura/luana-method
Sigue este orden para cualquier tarea frontend:
docs/domains/INDEX.md → identifica el feature/dominio destino.frontend/src/features/{nombre}/ y lee archivos relevantes. Consulta frontend/src/components/ para reutilizar primitivos.references/testing-patterns.md). El test debe fallar (RED). Para features existentes sin tests, cubrir comportamiento actual primero.python .claude/skills/frontend-expert/scripts/scaffold_feature.py <nombre-en-kebab-case> --layer features --path frontend/srcchrome-devtools-verify skill antes de marcar PR shipped (FE PR ≥ M). Si dev-app no disponible → escalate Chris staging gate manual.Estructura plana agrupada por dominio. Detalles completos en fsd-cheatsheet.md.
| Capa | Propósito |
|---|---|
src/features/{dominio}/ | Módulo autocontenido de negocio |
src/components/ui/ | Primitivos Shadcn UI |
src/components/shared/ | Layouts y componentes globales |
src/app/ | Solo routing y layouts de alto nivel |
Reglas de importación: Public API via index.ts — sin deep imports entre features. shared nunca importa de features.
features/{dominio}/components/components/shared/ o components/ui/1. "Necesito un componente para mostrar el perfil del lead en el dashboard de ventas."
sales → features/sales/components/lead-profile.tsxfeatures/sales/index.tsentities/lead salvo que se use en múltiples features2. "Crea un botón que haga scroll hacia arriba."
components/shared/ o components/ui/onClick → Client Component ("use client")component.tsx + iconos lucide-react| Problema | Solución |
|---|---|
| "Cannot access X from Y" | Importar desde index.ts (Public API). Si hay dependencia circular, mover lógica compartida a shared. |
| Hydration Mismatch | Usar useEffect con flag isMounted antes de renderizar UI dependiente del cliente. |
| Server Action Error | Solo pasar JSON plano (strings, números, booleanos) a través del límite Server→Client. |
| ¿Dónde va este componente? | Ante la duda: features/{dominio}/components/. Refactorizar después es más barato que sobre-ingenierizar. |
TDD aplica también a E2E: Para rutas nuevas, escribir el smoke test ANTES de implementar la página.
E2E smoke es obligatorio para rutas nuevas o flujos críticos modificados.
frontend/e2e/specs/smoke/ si es ruta nueva o crítica (suffix .smoke.spec.ts)frontend/e2e/specs/regression/{domain}/ para flujos completosfrontend/e2e/pages/ o crear uno nuevocd frontend && npm run test:e2e:smoke (NUNCA make e2e-smoke)docker compose up -d)playwright-expert (SSoT — Clerk auth, POMs, fixtures, mocks, CI, anti-patterns, recipe agregar smoke). Stub: .claude/rules/e2e-testing.md"use client" en nodos hoja que usen useState, useEffect, o event handlers.cn() de shared/lib/utils.ts para clases Tailwind. No crear helpers duplicados../ui/MiComponente). Alias global entre slices (@/features/other).references/frontend-quality.md — ESLint 60+ rules, TS strict, Vitest, 10 arch testsreferences/runtime-quality-checklist.md — OBLIGATORIO leer antes commit y antes spawn auditor. useEffect deps, stale closures, routing tenantId, mock anti-patterns, live verification gate (origen S4 PI-1)references/studio-section-pages.md — lazy-loading per-section pattern (brand/offer/futuros)playwright-expert (SSoT migrada 2026-05-04 — más amplia: arquitectura, Clerk auth deep-dive, freshness gate, recipe agregar smoke, POMs, fixtures+mocks, CI+flake debugging, anti-patterns)d31f7bc
Canonical home
since Aug 28, 2026
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.