next-upgrade — Codex skill: upgrade Next.js with codemods
Walks a project through major Next.js upgrades: reads the current version, pulls the official guides and runs codemods.
npx skills add openai/plugins --skill next-upgrade -a codexWhat next-upgrade does
The skill opens package.json, notes which Next.js version is in use and checks the related packages such as React and React DOM. It then fetches the official upgrade docs — the codemods page plus the guide for the target version — and works out which migration steps actually apply to your codebase.
Large jumps get split into stages: 13 → 14 → 15 rather than one leap. Codemods run first and handle part of the breaking changes for you: npx @next/codemod@latest <transform> <path>. Available transforms include next-async-request-api, next-request-geo-ip and next-dynamic-access-named-export. Package versions come next — npm install next@latest react@latest react-dom@latest — followed by the type packages if the project uses TypeScript.
Codemods do not cover everything. Async params in v15, edits inside next.config.js and features being removed all need a manual pass against the guide. The skill finishes by suggesting npm run build and npm run dev, since an upgrade you have not built is an upgrade you have not tested.
What it helps with
- move a project off an old major Next.js version
- let codemods handle breaking changes instead of editing by hand
- figure out which migration steps apply to your project
- bump React and React DOM alongside Next.js
- catch build errors right after the upgrade
Example prompts for the agent
- Upgrade Next.js to the latest version using the official guide
- Run the codemods for the Next.js 15 migration
- Migrate this project from 13 to 15 step by step
How to install next-upgrade
1Skills CLI (Vercel)
npx skills add openai/plugins --skill next-upgrade -a codex2Manually: put the files in place
.agents/skills/next-upgrade/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add openai/plugins --skill next-upgrade -a claude-code2Manually: put the files in place
~/.claude/skills/next-upgrade/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/next-upgrade/
Manually: put the files in place
.cursor/skills/next-upgrade/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install openai/plugins next-upgrade2Manually: put the files in place
.github/skills/next-upgrade/SKILL.mdPlatform CLI
gemini skills install https://github.com/openai/plugins --path plugins/vercel/skills/next-upgradeManually: put the files in place
.devin/skills/next-upgrade/SKILL.mdThe legacy .windsurf/skills/ path still works
Claude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: Codex skills: how to install, where they live, how to call them
Questions about next-upgrade
How do I install next-upgrade in Claude?
Run npx skills add openai/plugins --skill next-upgrade -a codex. The skill file lands at .agents/skills/next-upgrade/SKILL.md.
What does next-upgrade do?
It drives a Next.js upgrade: detects the installed version, pulls the official guides and codemods, updates dependencies and reminds you to build.
Can it jump several major versions at once?
The skill advises going one major at a time — 13 → 14 → 15 — so it stays clear which change broke what.
Source text
SKILL.md · Apache-2.0
---
name: next-upgrade
description: Upgrade Next.js to the latest version following official migration guides and codemods. Use when upgrading Next.js versions, running codemods, or migrating between major releases.
metadata:
priority: 6
docs:
- "https://nextjs.org/docs/app/guides/upgrading"
- "https://nextjs.org/docs/app/guides/upgrading/codemods"
pathPatterns:
- 'next.config.*'
- 'package.json'
bashPatterns:
- '\bnpx\s+@next/codemod\b'
- '\bnpm\s+(install|i|add)\s+[^\n]*\bnext@'
- '\bpnpm\s+(install|i|add)\s+[^\n]*\bnext@'
- '\bbun\s+(install|i|add)\s+[^\n]*\bnext@'
- '\byarn\s+add\s+[^\n]*\bnext@'
promptSignals:
phrases:
- "upgrade next"
- "upgrade nextjs"
- "migrate next"
- "update next.js"
- "next.js upgrade"
- "nextjs migration"
- "next codemod"
allOf:
- [upgrade, next]
- [migrate, next]
- [update, nextjs]
anyOf:
- "breaking changes"
- "codemod"
- "migration guide"
- "version upgrade"
noneOf: []
minScore: 6
---
# Upgrade Next.js
Upgrade the current project to the latest Next.js version following official migration guides.
## Instructions
1. **Detect current version**: Read `package.json` to identify the current Next.js version and related dependencies (React, React DOM, etc.)
2. **Fetch the latest upgrade guide**: Use WebFetch to get the official upgrade documentation:
- Codemods: https://nextjs.org/docs/app/guides/upgrading/codemods
- Version-specific guides (adjust version as needed):
- https://nextjs.org/docs/app/guides/upgrading/version-16
- https://nextjs.org/docs/app/guides/upgrading/version-15
- https://nextjs.org/docs/app/guides/upgrading/version-14
3. **Determine upgrade path**: Based on current version, identify which migration steps apply. For major version jumps, upgrade incrementally (e.g., 13 → 14 → 15).
4. **Run codemods first**: Next.js provides codemods to automate breaking changes:
```bash
npx @next/codemod@latest <transform> <path>
```
Common transforms:
- `next-async-request-api` - Updates async Request APIs (v15)
- `next-request-geo-ip` - Migrates geo/ip properties (v15)
- `next-dynamic-access-named-export` - Transforms dynamic imports (v15)
5. **Update dependencies**: Upgrade Next.js and peer dependencies together:
```bash
npm install next@latest react@latest react-dom@latest
```
6. **Review breaking changes**: Check the upgrade guide for manual changes needed:
- API changes (e.g., async params in v15)
- Configuration changes in `next.config.js`
- Deprecated features being removed
7. **Update TypeScript types** (if applicable):
```bash
npm install @types/react@latest @types/react-dom@latest
```
8. **Test the upgrade**:
- Run `npm run build` to check for build errors
- Run `npm run dev` and test key functionality
© Vercel Labs · Apache-2.0 · openai/plugins