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 Architecture Guidance: Decision trees and tables for choosing Server vs Client Components based on interactivity and data needs. - Data Fetching & Caching Patterns: Reference tables covering static rendering, ISR revalidation, no-store dynamic fetching, and cache layer control. - Routing & Project Structure: Conventions for page.tsx, layout.tsx, loading.tsx, error.tsx, route groups, parallel routes, and API route handlers. - Use Case: When building a dashboard page, consult this Skill to structure a Server Component parent that fetches data directly, with Client Component children only for interactive widgets, plus proper loading and error boundaries. ## Quick Start Review my Next.js page component and tell me whether it should be a Server or Client Component with the right data fetching pattern.