Install any skill in seconds. Free to start, no credit card required.
Get Started Free →asymmetric-al/cache-components
Build correct cached/dynamic boundaries in the Next.js App Router when Cache Components or PPR are enabled.
Passed 22 of 22 test cases with the skill, and 16 of 22 without it.
and 6 more in the full report
6 fixed16 passed either way0 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 6 test cases the skill fixed. Same model, same prompt, with and without the skill.
We have dynamic cached navigation targets in Next.js where prefetching should extend to request-time cached content on link hover or viewport entry. Which route export parameter controls runtime prefetch escalation?
| Checked | Without skill | With skill |
|---|---|---|
| The route configuration sets prefetch to 'allow-runtime'. | Missed | Passed |
The instructions your model reads when the skill loads.
Name: cache-components
Purpose: Build correct cached/dynamic boundaries in Next.js App Router when Cache Components or PPR are in use.
Use this skill to avoid request-context leaks and to enforce proper cache invalidation.
Applies when: cacheComponents: true, Partial Prerendering (PPR), 'use cache', cacheLife, cacheTag, updateTag, revalidateTag.
Do not use when: Working in the Pages Router or when Cache Components/PPR are not enabled.
<Suspense>.cookies(), headers(), or auth/session inside a 'use cache' scope.'use cache' function/component must be async.'use cache', cacheLife, cacheTag over route-segment config (revalidate, dynamic).updateTag for immediate consistency or revalidateTag for background refresh.partialPrefetching: true, Next.js prefetches one reusable shell per route. Every server await is a Stream (<Suspense>) / Cache ('use cache') / Block (export const instant = false + reason comment) decision; Instant Insights errors link the canonical fix at nextjs.org/docs/messages/... — apply that pattern, don't improvise.<Link prefetch={true}> extends prefetching to build-time-known cached content on that link; export const prefetch = 'allow-runtime' extends it to request-time cached content and requires PR justification.'use cache' + cacheTag (and cacheLife if needed).<Suspense>.'use cache'cacheTag<Suspense>asyncexport const instant = false with a reasontest cases passed, vs 16 / 22 without
Published skills whose descriptions closely match this one, with their headline benchmark lift.
More skills from the same source and nearby in the registry, with their headline benchmark lift.