CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

nextjs-app-router-fundamentals

Guide for working with Next.js App Router (Next.js 13+). Use when migrating from Pages Router to App Router, creating layouts, implementing routing, handling metadata, or building Next.js 13+ applications. Activates for App Router migration, layout creation, routing patterns, or Next.js 13+ development tasks.

60

Quality

76%

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 ./.agents/skills/nextjs-app-router-fundamentals/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

56%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 rich in accurate, concrete App Router guidance with a well-sequenced migration workflow and validation checklist, but it pays for that with substantial redundancy and an off-topic TypeScript section. Much of the generateStaticParams and advanced-routing material belongs in separate reference files, and the repeated examples inflate token cost without adding capability.

Suggestions

Consolidate the generateStaticParams section: keep one canonical example (e.g., the fetch-from-API version with dynamicParams) and cut the 'Common Patterns' trio and the separate 'Migration from Pages Router' restatement, which repeat the same pattern.

Move advanced, low-frequency content (generateStaticParams deep dive, data-fetching patterns, server vs client components) into reference files under references/ and link to them from a short SKILL.md overview, enabling progressive disclosure.

Remove or relocate the 'TypeScript: NEVER Use any Type' section — it is codebase lint policy unrelated to App Router fundamentals — and drop the Overview paragraph that restates the frontmatter description.

DimensionReasoningScore

Conciseness

The body is noticeably verbose with several padded sections: the Overview duplicates the description; the "TypeScript: NEVER Use any" section is codebase lint guidance unrelated to App Router; the generateStaticParams section repeats the same pattern roughly five times (Basic Usage, Fetching Data, Multiple Dynamic Segments, Common Patterns 1–3, Migration from Pages Router); and the root layout and Link examples each appear two to three times. This matches anchor 2 ("several unnecessary explanations or padded sections") rather than anchor 3 ("some unnecessary explanation").

2 / 5

Actionability

Mostly executable guidance: concrete before/after migration code pairs, a Pages-to-App file-mapping table, and runnable commands. Minor gaps keep it from a 5: ellipsis placeholders ("function handleSubmit(e: any) { ... }", "return (/* render */)") and undefined helpers such as getPost, getCategories, and db.post.findMany that are not copy-paste ready.

4 / 5

Workflow Clarity

The migration workflow is clearly sequenced (Steps 1–5: understand structure, create root layout, migrate pages, update navigation, clean up) and a "Testing and Validation" section provides a four-part checklist (structure, metadata, navigation, cleanup). Not a 5 because there is no explicit feedback loop for error recovery — the checklist says what to verify but not what to do when a check fails, and the destructive pages/ cleanup step has no re-verify instruction.

4 / 5

Progressive Disclosure

Section structure is clear with a quick-reference table and a clearly signaled "Additional Resources" section pointing to sibling skills, but there is no bundle: ~780 lines where clearly separable advanced content (the generateStaticParams deep dive, data-fetching patterns, server/client components) is inlined in the monolithic SKILL.md rather than split into reference files. This matches anchor 3 ("content that should be separate is inline") better than anchor 2, since references that do exist are clearly signaled and navigation is possible.

3 / 5

Total

13

/

20

Passed

Description

88%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 that clearly and explicitly states both capabilities and activation triggers with concrete, natural phrasing. Its only weaknesses are a missing few trigger synonyms and the redundant third sentence ("Activates for App Router migration, layout creation, routing patterns, or Next.js 13+ development tasks") that restates the 'Use when' clause without adding information.

DimensionReasoningScore

Specificity

The description lists multiple concrete actions — "migrating from Pages Router to App Router, creating layouts, implementing routing, handling metadata, or building Next.js 13+ applications" — covering the skill's scope comprehensively, matching the anchor-5 example of multiple specific concrete actions. It is not a 4 because the coverage goes beyond minor gaps: migration, layouts, routing, and metadata are all enumerated.

5 / 5

Completeness

It explicitly answers both what ("Guide for working with Next.js App Router (Next.js 13+)" plus enumerated capabilities) and when ("Use when migrating from Pages Router to App Router, creating layouts, implementing routing, handling metadata, or building Next.js 13+ applications") with concrete trigger phrases. Not a 4 because the 'when' clause is already explicit and specific; the anchor-4 case requires a 'when' that could be more explicit.

5 / 5

Trigger Term Quality

Good keyword coverage with natural phrases users would say ("Pages Router", "App Router", "layouts", "routing", "metadata", "Next.js 13+"), but a few natural terms are missing such as "app directory", "server components", or "generateStaticParams". Not a 5 because synonym/extension coverage is incomplete, and not a 3 because the included terms are specific and natural rather than generic.

4 / 5

Distinctiveness Conflict Risk

The version-gated niche (App Router, Next.js 13+) is mostly distinct, but the skill body references closely related sibling skills ("nextjs-advanced-routing", "nextjs-server-client-components", "nextjs-anti-patterns") whose topics overlap with the description's triggers ("implementing routing", "layouts") — minor overlap risk with closely related skills. Not a 5 because of that overlap; not a 3 because the triggers are version- and concept-gated well beyond a generic domain.

4 / 5

Total

18

/

20

Passed

Validation

87%

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

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (785 lines); consider splitting into references/ and linking

Warning

allowed_tools_field

'allowed-tools' contains unusual tool name(s)

Warning

Total

14

/

16

Passed

Repository

AzizBelhassan/timeverse

Path

.agents/skills/nextjs-app-router-fundamentals/SKILL.md

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.