What problem does it solve? Developers building Next.js applications often struggle with deciding between Server and Client Components, choosing the right data fetching strategy, and structuring routes correctly, leading to bloated client bundles and poor performance. ## Core Features & Use Cases - Component Decision Guidance: Provides a decision tree for choosing Server vs Client Components based on interactivity and data fetching needs. - Data Fetching & Caching Patterns: Covers static rendering, ISR revalidation, no-store dynamic fetching, and cache layer controls. - Routing & Project Structure: Documents file conventions (page.tsx, layout.tsx, loading.tsx, error.tsx), route groups, parallel routes, and intercepting routes. - Use Case: When building a dashboard page that fetches database data and includes an interactive form, use this Skill to split the page into a Server Component parent for data fetching and a Client Component child for the form, with proper loading and error boundaries. ## Quick Start Review my Next.js app directory structure and tell me which components should be Server Components and how to set up data fetching with revalidation.