Upgrade Next.js to the latest version following official migration guides and codemods
Install with Tessl CLI
npx tessl i github:vercel-labs/next-skills --skill next-upgradeOverall
score
64%
Does it follow best practices?
If you maintain this skill, you can automatically optimize it using the tessl CLI to improve its score:
npx tessl skill review --optimize ./path/to/skillValidation for skill structure
Discovery
40%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 identifies a clear, specific niche (Next.js upgrades) with reasonable domain keywords, but critically lacks explicit trigger guidance ('Use when...') which limits Claude's ability to know when to select this skill. The specificity of actions could also be improved by listing concrete upgrade tasks.
Suggestions
Add a 'Use when...' clause with trigger terms like 'upgrade Next.js', 'update to Next 14/15', 'nextjs migration', 'run codemods'
Include common keyword variations: 'nextjs' (no space), 'update', 'version bump', specific version numbers like 'Next 13 to 14'
List more concrete actions: 'runs official codemods, updates dependencies, fixes breaking changes, updates app router patterns'
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Names the domain (Next.js) and the action (upgrade to latest version), and mentions methods (migration guides, codemods), but doesn't list multiple concrete actions like specific migration steps or what gets updated. | 2 / 3 |
Completeness | Describes what the skill does (upgrade Next.js) but completely lacks a 'Use when...' clause or any explicit trigger guidance for when Claude should select this skill. | 1 / 3 |
Trigger Term Quality | Includes relevant keywords like 'Next.js', 'upgrade', 'migration', and 'codemods' that users might say, but missing common variations like 'update', 'version bump', 'nextjs', or specific version numbers. | 2 / 3 |
Distinctiveness Conflict Risk | Very specific niche - Next.js upgrades specifically - unlikely to conflict with other skills. The combination of 'Next.js', 'upgrade', 'migration guides', and 'codemods' creates a distinct trigger profile. | 3 / 3 |
Total | 8 / 12 Passed |
Implementation
73%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This skill provides solid, actionable guidance for Next.js upgrades with concrete commands and a logical workflow. Its main weaknesses are missing validation/error-recovery steps between operations and some minor verbosity in explanations. The external documentation references are well-placed.
Suggestions
Add explicit validation checkpoint after running codemods (e.g., 'Run `npm run build` to verify codemod changes before proceeding')
Include error recovery guidance: what to do if codemods fail or build breaks mid-upgrade
Trim explanatory phrases like 'Next.js provides codemods to automate breaking changes' - just show the commands
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | Mostly efficient but includes some unnecessary explanation like 'Next.js provides codemods to automate breaking changes' which Claude already knows. The numbered list format adds some verbosity that could be tightened. | 2 / 3 |
Actionability | Provides concrete, executable commands throughout - specific npx codemod commands with transform names, npm install commands with exact packages, and clear bash examples that are copy-paste ready. | 3 / 3 |
Workflow Clarity | Steps are clearly sequenced (detect → fetch → plan → codemod → update → review → test), but lacks explicit validation checkpoints between steps. No feedback loop for handling build errors or codemod failures. | 2 / 3 |
Progressive Disclosure | Appropriately structured for a single-file skill under 50 lines. References external documentation via URLs rather than creating unnecessary file hierarchy. Clear section organization with logical flow. | 3 / 3 |
Total | 10 / 12 Passed |
Validation
69%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 11 / 16 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
description_trigger_hint | Description may be missing an explicit 'when to use' trigger hint (e.g., 'Use when...') | Warning |
metadata_version | 'metadata' field is not a dictionary | Warning |
license_field | 'license' field is missing | Warning |
frontmatter_unknown_keys | Unknown frontmatter key(s) found; consider removing or moving to metadata | Warning |
body_output_format | No obvious output/return/format terms detected; consider specifying expected outputs | Warning |
Total | 11 / 16 Passed | |
Table of Contents
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.