Labsco
vercel-labs logo

next-upgrade

β˜… 1,400

by vercel Β· part of vercel-labs/openreview

Upgrade Next.js to the latest version following official migration guides and codemods

πŸ”₯πŸ”₯πŸ”₯πŸ”₯βœ“ VerifiedFreeQuick setup
🧰 Not standalone. This skill ships with vercel-labs/openreview and only works together with that tool β€” install the tool first, then add this skill.

This is the playbook your agent receives when the skill activates β€” you don't need to read it to use the skill, but it's here to audit before installing.


name: next-upgrade description: Upgrade Next.js to the latest version following official migration guides and codemods argument-hint: "[target-version]"

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:

  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:

    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:

    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):

    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