What problem does it solve? Next.js 16 Cache Components introduce new caching primitives ('use cache', cacheTag, cacheLife, updateTag) that are easy to misuse, causing stale dashboards, users not seeing their own writes, and build failures like "Uncached data was accessed outside of <Suspense>". This Skill provides the rules and patterns to wire caching and invalidation correctly. ## Core Features & Use Cases - Cache Directive Placement: Enforces putting 'use cache' with cacheTag() and cacheLife() inside data.ts query functions, keeping callers free of caching primitives. - Tag Constants & Invalidation: Defines exported tag builder constants and the correct invalidation API per context: updateTag() in Server Actions, revalidateTag(tag, 'max') or { expire: 0 } in webhooks and cron Route Handlers. - Suspense & loading.tsx Wiring: Ensures pages awaiting runtime data have a loading.tsx or Suspense boundary so next build does not fail with the blocking-route error. - Use Case: A webhook from an external system must invalidate cached discount data; the Skill shows the Route Handler importing the shared tag constant and calling revalidateTag with stale-while-revalidate semantics. ## Quick Start Review my Next.js app router code and fix the caching so users see their own writes after a mutation without breaking the build.