What problem does it solve? DevFive frontend projects (puzzle-fit, girok-space) follow strict architectural conventions that are easy to violate: Server Component boundaries, devup-ui static style extraction, component file placement, and export rules. This Skill encodes those conventions so generated React/Next.js code passes the project's lint, type-check, and bundle-size requirements on the first attempt. ## Core Features & Use Cases - Server Component discipline: Decision tables for when 'use client' is required, prop-passing patterns that avoid forcing client components, and hook-isolation patterns that minimize JS bundle size. - devup-ui styling rules: Static extraction rules (inline object indexing vs. CSS variables), the css() className exception, the prohibition on authored .css files, and resetCss()/globalCss() usage. - Project structure enforcement: Monorepo layout, app/ folder restricted to layout.tsx/page.tsx, page-specific components under components/pages/, SVG icon file rules, and naming conventions. - Use Case: When asked to build a login page in a vinext-based Next.js app, the Skill produces a Server Component page.tsx with a descriptive LoginPage name, a minimal client form using react-hook-form, style props extracted at build time, and code that passes bun tsc --noEmit && bun run lint. ## Quick Start Load the devup-ui skill first, then apply this skill and write a new Next.js App Router page component following DevFive conventions.