
Major Version Mode
OfficialFreeManage breaking changes for AI SDK releases effectively.
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 source1. Install with the skills CLI
npx skills add vercel/ai/major-version-mode --agent claude-code2. 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 vercelContext
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):
- Deprecate in
@ai-sdk/provider-utilsrather than removing immediately, if feasible. Mark deprecated types/members with a@deprecatedJSDoc comment and aTODOnote to remove in the following major version. - 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. - 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
Release Candidate Preparation
Streamline your OpenAI Agents release process.
Gitmoji
Generate expressive commit messages with emojis.
GitHub Release
Automate your GitHub library release process effortlessly.
Commit Message Storyteller
Generate meaningful commit messages from your git diffs.
Author Contributions
Trace author contributions across branches in Git.
Implementation Kickoff
Streamline your code implementation process with ease.
