New to Claude Skills? Learn how to install them →

Mvercel on GitHub

Major Version Mode

OfficialFree

Manage breaking changes for AI SDK releases effectively.

by vercel26.1k stars on vercel/ai
Updated Aug 10, 2026
Get this skill

Free · Opens the source repo

What Major Version Mode does

Major Version Mode is a specialized skill designed for developers working on significant updates to the AI SDK. This skill is explicitly invoked by the user, ensuring that it is only activated when needed, such as through the command '/major-version-mode'. It provides a structured approach to implementing breaking changes, which are acceptable in this context, while emphasizing the importance of minimizing disruption for third-party consumers.

The skill outlines clear guidelines for handling breaking changes, including suggestions for deprecating old exports and maintaining backward compatibility where feasible. Developers are encouraged to provide deprecated aliases for renamed or modified exports, helping to ease the transition for users who rely on the previous versions. This is particularly useful in scenarios where a clean break may introduce technical debt, as it allows for a smoother upgrade path.

Additionally, Major Version Mode emphasizes the importance of documentation updates. After implementing changes, developers are instructed to update relevant documentation in the migration guides, ensuring that consumers are well-informed about any necessary code updates or data migrations. This proactive approach to documentation helps maintain clarity and usability for all SDK users.

Overall, this skill is tailored for developers involved in major SDK releases, providing them with the necessary context and guidelines to manage breaking changes effectively while considering the impact on third-party developers.

When to use it

Use Major Version Mode when planning significant updates to the AI SDK that involve breaking changes.

When not to use it

This skill is not suitable for minor updates or maintenance tasks that do not involve breaking changes.

What you can build with it

Planning a Major Release

When preparing for a significant update to the AI SDK, invoke Major Version Mode to manage breaking changes effectively.

Implementing Breaking Changes

Use this skill to follow structured guidelines for deprecating exports and maintaining backward compatibility.

Updating Documentation

After implementing changes, leverage the skill’s instructions to ensure all relevant documentation is current and clear.

How to install Major Version Mode

View source

1. Install with the skills CLI

npx skills add vercel/ai/major-version-mode --agent claude-code

2. Or install it manually

Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.

Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs

Inside SKILL.md

Written by vercel

Context

This task is part of the next AI SDK major release. Breaking changes are acceptable.

Breaking Change Guidelines

While breaking changes are acceptable, it is still encouraged to minimize unnecessary disruption for 3P consumers of the AI SDK. Providing deprecated aliases and automated migration logic can help ease the transition.

Renamed/changed exports

If renaming or modifying an exported function or type, provide a deprecated alias as a package-level export where feasible:

/** @deprecated Use `newFunctionName` instead. */
export { newFunctionName as oldFunctionName } from './new-module';

Only do this if it doesn't introduce meaningful technical debt. If it does, skip the alias — but check with the user first before making a clean break.

Modified message types (e.g. in @ai-sdk/provider-utils)

If modifying model message shapes (e.g. content part types in packages/provider-utils/src/types/content-part.ts):

  1. Deprecate in @ai-sdk/provider-utils rather than removing immediately, if feasible. Mark deprecated types/members with a @deprecated JSDoc comment and a TODO note to remove in the following major version.
  2. Keep deprecated equivalents in packages/ai/src/prompt/content-part.ts — this file is the consumer-facing layer and should retain the old shapes in the Zod schemas so existing consumer code continues to compile with a deprecation warning. Include a similar note about deprecation and removal in the following major version.
  3. If clean deprecation isn't feasible without meaningful technical debt, a hard removal may be preferred — but check with the user first.

Provider spec changes (@ai-sdk/provider)

The provider package defines the spec that provider implementers code against. It should generally not be modified outside of major versions, so keeping the spec clean and consistent is critical.

Breaking changes without maintaining temporary backward compatibility measures are more acceptable here than elsewhere, because the audience is smaller — far fewer developers implement their own providers than build features on top of the AI SDK.

Rules:

  • Only modify the latest spec version. Older versioned spec interfaces must remain completely untouched.
  • Deprecated aliases are not required — a clean break is preferred to preserve spec clarity.
  • The current spec version is not the same as the current AI SDK major version number. If it's unclear which spec version to operate on, ask the user before proceeding.

Documentation

After implementing changes, update relevant documentation in content/docs/.

If the change requires consumers to update their code or migrate stored data, add a section to the latest migration guide:

  • Find the migration guide with the highest version number in content/docs/08-migration-guides/
  • Add a concise section explaining what changed and how to migrate

Frequently asked questions about Major Version Mode

Similar skills