Install any skill in seconds. Free to start, no credit card required.
Get Started Free →vercel/migrate-ai-sdk-v6-to-v7
Migrate applications from AI SDK 6.x to AI SDK 7.0.
Passed 22 of 22 test cases with the skill, and 7 of 22 without it.
and 16 more in the full report
15 fixed7 passed either way0 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 15 test cases the skill fixed. Same model, same prompt, with and without the skill.
Our custom tool returns an image artifact using `{ type: 'media', data: base64Str, mimeType: 'image/png' }`. Update this part object structure for v7.
| Checked | Without skill | With skill |
|---|---|---|
| Uses type file-data instead of media for tool output parts | Missed | Passed |
The instructions your model reads when the skill loads.
Use content/docs/08-migration-guides/23-migration-guide-7-0.mdx from the AI SDK repo as the source of truth. This skill is the working checklist; read the guide for exact examples or when behavior is unclear.
package.json and lockfiles to identify installed ai, @ai-sdk/*, provider, UI, MCP, and telemetry packages.@ai-sdk/otel only if the project uses OpenTelemetry spans.>=22, and AI SDK packages are ESM-only. Replace require() imports with ESM imports and add "type": "module" or use .mjs where needed.Prefer behavior-preserving changes. When v7 changes semantics, decide whether the app wants the new all-steps behavior or the previous final-step-only behavior.
experimental_customProvider -> customProvider.experimental_generateImage -> generateImage; Experimental_GenerateImageResult -> GenerateImageResult.experimental_transcribe -> transcribe; Experimental_TranscriptionResult -> TranscriptionResult.experimental_generateSpeech -> generateSpeech; Experimental_SpeechResult -> SpeechResult.experimental_output option/result -> output option/result.CallSettings -> LanguageModelCallOptions & Omit<RequestOptions, 'timeout'>; prepareCallSettings -> prepareLanguageModelCallOptions.stepCountIs -> isStepCount.system to instructions for generateText, streamText, generateObject, streamObject, and streamUI.{ role: 'system' } messages from prompt or messages into top-level instructions. Only use allowSystemInMessages: true for trusted persisted messages.experimental_prepareStep to prepareStep.prepareStep, rename returned system to instructions.experimental_repairToolCall, use { instructions } instead of { system }.prepareStep behavior: returned instructions and messages now carry forward into later steps. If code depended on one-step-only overrides, rebuild from initialInstructions, initialMessages, and responseMessages explicitly.experimental_onStart -> onStart.experimental_onStepStart -> onStepStart.onFinish -> onEnd.onStepFinish -> onStepEnd.embed, embedMany, and rerank, experimental_onFinish -> onEnd.test cases passed, vs 7 / 22 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.