CtrlK
BlogDocsLog inGet started
Tessl Logo

next-cache-components

Next.js 16 Cache Components guidance — PPR, use cache directive, cacheLife, cacheTag, updateTag, and migration from unstable_cache. Use when implementing partial prerendering, caching strategies, or migrating from older Next.js cache patterns.

68

Quality

85%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

78%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A highly actionable, well-sectioned reference: every section gives exact executable syntax for the Next.js 16 cache APIs, and the migration guidance with before/after code is exemplary. The main weaknesses are the fully inlined ~400-line body with no progressive disclosure into reference files, plus a redundant recap example that inflates token cost.

Suggestions

Split bulk material into one-level-deep reference files (e.g. references/migration.md for the unstable_cache walkthrough and config table, references/api.md for cache profiles and invalidation details), keeping SKILL.md as a concise overview with clearly signaled links.

Remove or shrink the "## Complete Example" section — it recombines patterns already demonstrated (static shell + cached Stats + dynamic Suspense Notifications) and adds ~40 lines of token cost with little new information.

Consolidate the three "use cache Directive" subsections (file/component/function level) into a single example with a one-line note that the directive applies at all three scopes, trimming repeated boilerplate.

DimensionReasoningScore

Conciseness

Code-dominant with tight prose ("Cache Components enable Partial Prerendering (PPR) - mix static, cached, and dynamic content in a single route") and no padding explaining concepts Claude already knows. Minor trimmable redundancy: the "## Complete Example" section largely recombines patterns already shown, keeping it just below the lean anchor 5.

4 / 5

Actionability

Copy-paste-ready exact syntax throughout: the `cacheComponents: true` config block, `'use cache'` + `cacheLife('hours')`/`cacheTag('products')` usage, `updateTag` vs `revalidateTag(tag, "max")` distinction, and a full before/after `unstable_cache` migration pair with a config-mapping table. Covers the common cases completely; placeholders like `db` are app-specific stand-ins, not pseudocode.

5 / 5

Workflow Clarity

The enable → categorize content → apply `use cache` → invalidate → migrate flow is clearly sequenced by section order, with explicit wrong/correct contrasts ("Wrong - runtime API inside use cache" vs "Correct - extract outside, pass as argument") and a migration table. Not anchor 5 because no explicit validation checkpoints exist, though no destructive or batch operations require them.

4 / 5

Progressive Disclosure

Good internal structure with clear section headers, but the skill is ~400 lines in a single file with no reference files at all — migration walkthroughs, cache-profile API detail, and the complete example are inlined where a doc this size would benefit from one-level-deep references (e.g. MIGRATION.md, API.md). Matches the anchor for good structure with content that should be separate kept inline.

3 / 5

Total

16

/

20

Passed

Description

92%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong description: third-person, concise, with explicit what and when clauses anchored to specific Next.js 16 APIs and natural trigger terms including synonyms. The only gap is a few missing natural variations such as revalidateTag or cache invalidation.

DimensionReasoningScore

Specificity

Names the domain (Next.js 16 Cache Components) and enumerates multiple concrete capabilities — "use cache directive, cacheLife, cacheTag, updateTag, and migration from unstable_cache" — giving comprehensive coverage of the skill's surface. Matches the anchor for multiple specific concrete actions with comprehensive coverage, not the minor-gaps anchor below.

5 / 5

Completeness

Explicitly answers both: what ("Cache Components guidance — PPR, use cache directive, cacheLife, cacheTag, updateTag, and migration from unstable_cache") and when ("Use when implementing partial prerendering, caching strategies, or migrating from older Next.js cache patterns") with concrete trigger phrases. Not the level below, where "when" would be only weakly implied.

5 / 5

Trigger Term Quality

Includes strong natural terms with synonyms ("PPR"/"partial prerendering", "use cache", "cacheLife", "unstable_cache") that users would actually say. Falls short of comprehensive because common variations like "revalidateTag", "cache invalidation", or "stale-while-revalidate" are absent.

4 / 5

Distinctiveness Conflict Risk

Clear niche (Next.js 16 cache components) with distinct API-level triggers (use cache directive, cacheLife, unstable_cache migration); only slight overlap risk with a general Next.js skill via the broad phrase "caching strategies". Minimal conflict risk overall.

5 / 5

Total

19

/

20

Passed

Validation

81%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 13 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

metadata_field

'metadata' should map string keys to string values

Warning

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

13

/

16

Passed

Repository
vercel/vercel-plugin
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.