{"enrichment":{"faq":[{"a":"nextjs-app-router-expert covers the complete foundation for building Next.js projects with App Router. Start by creating a new project with `create-next-app`, then organize your routes using the app directory's file-based structure. Place page.tsx files in route folders, use layout.tsx for shared UI, and leverage dynamic segments with [param] syntax. The skill guides you through RSC (React Server Components) by default, Server Actions for mutations, and middleware setup for authentication and request handling.","q":"How do I build a Next.js app router project from scratch?"},{"a":"nextjs-app-router-expert explains that App Router uses React Server Components by default, enabling server-side data fetching directly in components without API routes. Pages Router relies on client-side fetching and getServerSideProps/getStaticProps. App Router offers parallel routes for simultaneous rendering, intercepting routes for modals, and route groups for organization\u2014all unavailable in Pages Router. Migration involves moving files to the app directory and adopting Server Actions instead of API endpoints.","q":"What's the difference between next.js 14 server components and pages router?"},{"a":"nextjs-app-router-expert covers advanced routing patterns: parallel routes use @folder syntax to render multiple segments simultaneously (ideal for dashboards), while intercepting routes use (.)convention to intercept sibling routes (perfect for modal patterns). Both live in the app directory alongside regular routes. Parallel routes enable independent loading states and error boundaries per segment. Intercepting routes let you show modals over existing content, then fall back gracefully when accessed directly.","q":"How do I implement parallel routes and intercepting routes in nextjs?"},{"a":"nextjs-app-router-expert teaches three strategies: fetch() with cache tags for revalidation, unstable_cache for expensive computations, and ISR (Incremental Static Regeneration) via revalidatePath/revalidateTag. Server Components fetch data server-side by default. Use 'force-cache' for static data, 'no-store' for dynamic content, and set revalidate seconds for ISR. Combine with Suspense boundaries and streaming to show partial UI while data loads, improving perceived performance.","q":"How should I handle data fetching and caching in nextjs app router?"},{"a":"nextjs-app-router-expert covers Server Actions as async functions marked with 'use server' that run on the server and handle mutations securely. Use them in forms via the action prop instead of API routes. They support progressive enhancement, optimistic updates, and revalidation. Define them in Server Components or separate files, call them from Client Components, and handle errors with try-catch. They eliminate the need for separate API endpoints and reduce client-side JavaScript.","q":"What are Server Actions and how do I use them for form handling?"},{"a":"nextjs-app-router-expert addresses hydration mismatches by ensuring Client Components ('use client') render identically on server and client. Common causes: date/time differences, browser APIs in Server Components, or conditional rendering based on client state. Use 'use client' sparingly at leaf components, not root layouts. Enable React strict mode to catch issues early. Check browser console for hydration warnings, verify no server-only code runs client-side, and use useEffect for client-only logic.","q":"How do I debug hydration errors and RSC/client component boundaries?"}],"shadow_tags":["server-side-rendering","full-stack-react","edge-runtime","progressive-enhancement","metadata-generation","cache-invalidation","streaming-ssr","component-composition","routing-patterns"],"summary_rewrite":"This skill covers Next.js App Router architecture, including file-based routing, dynamic segments, parallel routes, and intercepting routes. Learn React Server Components, Server Actions for mutations, data fetching strategies with caching and ISR, middleware configuration, and performance optimization techniques. Ideal for building new projects or migrating from Pages Router."},"files":[{"bytes":9640,"path":".claude/skills/nextjs-app-router-expert/SKILL.md","sha256":"eb059519a5225ed8dbf4378340769e82f59e349a959f4b65cef60c18e81db6f4","url":"https://skillfed.io/files/curiositech/some_claude_skills/nextjs-app-router-expert/bab4b1fe/SKILL.md"}],"id":"curiositech/some_claude_skills/nextjs-app-router-expert","links":{"html":"https://skillfed.io/curiositech/some_claude_skills/nextjs-app-router-expert","md":"https://skillfed.io/curiositech/some_claude_skills/nextjs-app-router-expert.md","repo":"https://github.com/curiositech/some_claude_skills"},"meta":{"agents_supported":["claude-code"],"first_seen":"2026-07-28","forks":27,"language":"TypeScript","last_updated":"2026-07-14","license":"MIT","name":"nextjs-app-router-expert","publisher":"curiositech","stars":164},"relations":{"similar":[{"id":"Jeffallan/claude-skills/nextjs-developer"},{"id":"rohitg00/awesome-claude-code-toolkit/nextjs-mastery"},{"id":"patricio0312rev/skills/react-server-components"},{"id":"irahardianto/awesome-agv/nextjs-idioms"},{"id":"organvm/a-i--skills/nextjs-fullstack-patterns"},{"id":"yonatangross/orchestkit/react-server-components-framework"},{"id":"manutej/luxor-claude-marketplace/nextjs-development"},{"id":"greedychipmunk/agent-skills/nextjs-developer"},{"id":"PracticalSwan/agent-skills/nextjs-development"},{"id":"wsimmonds/claude-nextjs-skills/nextjs-advanced-routing"}]},"slug":{"owner":"curiositech","repo":"some_claude_skills","skill":"nextjs-app-router-expert"},"version":"bab4b1fe"}
