CtrlK
BlogDocsLog inGet started
Tessl Logo

nextjs-15

Next.js 15 App Router patterns. Trigger: When working with Next.js - routing, Server Actions, data fetching.

62

Quality

73%

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

Fix and improve this skill with Tessl

tessl review fix ./curated/nextjs-15/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

76%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.

The body is a lean, well-organized reference of executable Next.js 15 App Router patterns that respects Claude's competence and avoids padding. Its weak spots are the absence of any workflow/validation sequencing (it is a catalog, not a process) and a slightly outdated dynamic-params example.

Suggestions

Update the `generateMetadata` example to the Next.js 15 async-params form (`{ params }: { params: Promise<{ id: string }> }` then `const { id } = await params;`) so the code is correct for the declared version.

Add a brief validation note to the Server Actions example (e.g. validate input before `db.users.create` and handle errors) so the data-mutating pattern shows a feedback checkpoint.

DimensionReasoningScore

Conciseness

The body is almost entirely executable code under terse section headers with only minimal, useful inline comments ('# Root layout (required)', 'No directive needed - async by default'); it assumes Claude's competence and explains no Next.js basics, so every token earns its place.

5 / 5

Actionability

Most sections (Server Actions, Route Handlers, Middleware) give copy-paste-ready TypeScript, but the dynamic metadata example uses `generateMetadata({ params })` with synchronous `params.id` access, which is the pre-15 pattern — Next.js 15 requires `params` to be awaited — a minor correctness/executability gap.

4 / 5

Workflow Clarity

This is a pattern catalog rather than a multi-step workflow, so there is no sequenced process or validation checkpoints to evaluate; the destructive/data-mutating Server Action example (db.users.create) also lacks any validation step, which caps sequenced-workflow quality at the midpoint.

3 / 5

Progressive Disclosure

No bundle files exist (references/, scripts/, assets/ are absent) and the content is a single ~140-line file with clear, well-organized section headers and no nested references; it is well structured, though at this length a few advanced sections could optionally be split out.

4 / 5

Total

16

/

20

Passed

Description

70%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.

The description is concise and third-person with an explicit Trigger clause covering both what and when, naming the Next.js 15 App Router niche clearly. Its main weakness is that the capability statement ('patterns') is generic rather than enumerating concrete actions.

Suggestions

Replace the generic noun 'patterns' with 2-3 concrete actions, e.g. 'Implement routing, Server Actions, data fetching, and streaming in Next.js 15 App Router.'

Add a couple of natural trigger synonyms users say, such as 'App Router', 'React Server Components', or 'Next.js 15', to broaden trigger coverage.

DimensionReasoningScore

Specificity

The description names the domain ('Next.js 15 App Router patterns') and lists concrete capabilities via the trigger ('routing, Server Actions, data fetching'), but the primary 'what' is the generic word 'patterns' rather than enumerated actions, so it stops at naming the domain plus a few concrete actions without being comprehensive.

3 / 5

Completeness

Both 'what' ('Next.js 15 App Router patterns') and an explicit 'when' ('Trigger: When working with Next.js - routing, Server Actions, data fetching') are present with a concrete trigger clause, but the 'what' is somewhat thin ('patterns') and could be more specific, keeping it just below a 5.

4 / 5

Trigger Term Quality

Natural user-facing terms are present ('Next.js', 'routing', 'Server Actions', 'data fetching') and these are phrases users actually say, but a few common variations/synonyms (e.g., 'App Router' as a standalone trigger, 'React Server Components', 'streaming') are absent from the description itself.

4 / 5

Distinctiveness Conflict Risk

'Next.js 15 App Router patterns' carves a clear niche with distinct triggers and low conflict risk, but it could overlap with a general Next.js or React web-development skill, so it is mostly distinct rather than uniquely niched.

4 / 5

Total

15

/

20

Passed

Validation

100%

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

Validation16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
Gentleman-Programming/Gentleman-Skills
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.