nextjs-16

Guides Next.js 16 App Router development covering client/server boundaries, caching, and notFound behavior.

Updated Sep 5, 2026
One-click install
npx skills add https://github.com/pohlai88/afenda-xforge-v5 --skill nextjs-16-pohlai88
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: nextjs-16
Source: https://github.com/pohlai88/afenda-xforge-v5/tree/main/.claude/skills/nextjs-16
Command: npx skills add https://github.com/pohlai88/afenda-xforge-v5 --skill nextjs-16-pohlai88

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Widely known Next.js knowledge targets version 14, but Next 16 removed experimental.ppr, replaced the caching model with cacheComponents, and changed navigation behavior — so recalled knowledge produces configuration that no longer exists. This Skill grounds all App Router work in the actual Next 16.3.4 surface used by this repository's apps/web app. ## Core Features & Use Cases - Version-accurate App Router guidance: Documents the routes, layouts, 'use client' files, and Server Actions actually present in apps/web, pinned to [email protected]. - Client/server boundary rules: Explains when to add 'use client', how context providers must wrap from a server parent, and how to avoid leaking server code into client bundles. - Caching model clarification: Distinguishes the previous caching model (in force here, since cacheComponents is off) from the new use cache model, including the removed experimental.ppr flag. - Use Case: Before adding a new page under apps/web/app/(app)/[orgSlug], consult this Skill to confirm params is a Promise, place 'use client' only on leaf components, and avoid adding a Route Handler while the backend transport is undecided. ## Quick Start Ask the AI to review the Next.js 16 conventions in this repository before adding a new route or client component under apps/web.

Frequently Asked Questions about nextjs-16

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I decide between client and server components in Next.js App Router?

Use a Client Component when you need state, event handlers, effects, or browser APIs; keep everything else as Server Components. Place 'use client' on leaf components, since everything imported below the directive becomes client code.

What replaced experimental.ppr in Next.js 16?

The cacheComponents flag replaced experimental.ppr, useCache, and dynamicIO as a single unified configuration in Next 16.0.0. The experimental.ppr flag and experimental_ppr segment export were removed entirely, not deprecated.

Does notFound() need a return statement in Next.js?

No, calling notFound() is enough because it throws and its return type is never, so TypeScript keeps prior narrowing. Wrapping it in try/catch silently swallows the not-found UI unless you use unstable_rethrow.

Why does notFound() return a 200 status instead of 404?

Calling notFound() inside a Suspense boundary means the response already started streaming as a 200, so the status cannot change. To return a real 404, check resource existence before streaming begins.

Are Server Actions in Next.js secure by default?

Server Actions are public POST endpoints reachable by anyone who sends the same request, so rendering a form only on authenticated pages is not a security boundary. You must authenticate, authorize, and validate inputs inside every action body.