Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Integrate Vercel AI SDK for LLMs, Chatbots, Generative UI, and Agentic Workflows.
.claude/skills/aiskillstore-ai-sdk-handler/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-06 | ✗→✓ | ▲ Improved | -15% | 0% |
| case-10 | ✗→✓ | ▲ Improved | -21% | 0% |
| case-17 | ✗→✓ | ▲ Improved | -27% | 0% |
| case-20 | ✗→✓ | ▲ Improved | -5% | 0% |
| case-08 | ✓→✗ | ▼ Worse | -52% | 0% |
This skill defines how to implement Large Language Model (LLM) features using the Vercel AI SDK. It covers streaming chat, structured object generation, generative UI, and background agents.
Note: For Image/Video generation (Replicate, Fal.ai), continue to use ai-handler. Use ai-sdk-handler specifically for text, chat, and agentic text/JSON workflows.
useChat, streamText).generateObject).streamUI).streamText (Server), useChat (Client).src/app/api/chat/route.ts.withAuthRequired to protect the route.src/components/chat-ui/ for chat components.streamUI (Server).generateObject.generateText / generateObject inside Inngest steps.session.user.id.@ai-sdk/openai or @ai-sdk/anthropic. Abstract the provider configuration in src/lib/ai/index.ts.streamText.unstable_cache or KV stores if queries are repetitive.reference.md: Core setup and essential code snippets.examples.md: Exhaustive examples covering:| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 13,554 | 7,408 | -45% | 1 | 1 | 0% | 2,718 | 2,145 | -21% | 0 | 0 | — |
case-02 | pass→pass | 14,772 | 10,437 | -29% | 1 | 1 | 0% | 3,013 | 2,913 | -3% | 0 | 0 | — |
case-03 | pass→pass | 18,402 | 11,324 | -38% | 1 | 1 | 0% | 3,146 | 2,851 | -9% | 0 | 0 | — |
case-04 | pass→pass | 17,027 | 11,039 | -35% | 1 | 1 | 0% | 3,211 | 3,062 | -5% | 0 | 0 | — |
case-05 | pass→pass | 11,464 | 4,970 | -57% | 1 | 1 | 0% | 1,990 | 1,661 | -17% | 0 | 0 | — |
case-06 | fail→pass | 14,729 | 6,414 | -56% | 1 | 1 | 0% | 2,303 | 1,964 | -15% | 0 | 0 | — |
case-07 | pass→pass | 8,886 | 3,109 | -65% | 1 | 1 | 0% | 1,562 | 1,305 | -16% | 0 | 0 | — |
case-08 | pass→fail | 11,308 | 1,512 | -87% | 1 | 1 | 0% | 2,068 | 998 | -52% | 0 | 0 | — |
case-09 | pass→pass | 9,840 | 1,735 | -82% | 1 | 1 | 0% | 1,577 | 1,002 | -36% | 0 | 0 | — |
case-10 | fail→pass | 6,871 | 1,486 | -78% | 1 | 1 | 0% | 1,201 | 948 | -21% | 0 | 0 | — |
case-11 | pass→pass | 12,804 | 6,042 | -53% | 1 | 1 | 0% | 1,847 | 1,892 | +2% | 0 | 0 | — |
case-12 | pass→pass | 14,568 | 10,736 | -26% | 1 | 1 | 0% | 2,503 | 2,709 | +8% | 0 | 0 | — |
case-13 | pass→pass | 14,605 | 8,344 | -43% | 1 | 1 | 0% | 2,481 | 2,224 | -10% | 0 | 0 | — |
case-14 | pass→pass | 4,476 | 2,480 | -45% | 1 | 1 | 0% | 813 | 1,178 | +45% | 0 | 0 | — |
case-15 | pass→pass | 6,483 | 1,760 | -73% | 1 | 1 | 0% | 999 | 1,064 | +7% | 0 | 0 | — |
case-16 | pass→pass | 16,866 | 6,926 | -59% | 1 | 1 | 0% | 2,715 | 2,080 | -23% | 0 | 0 | — |
case-17 | fail→pass | 11,759 | 3,803 | -68% | 1 | 1 | 0% | 1,934 | 1,411 | -27% | 0 | 0 | — |
case-18 | pass→pass | 19,782 | 14,049 | -29% | 1 | 1 | 0% | 3,248 | 3,562 | +10% | 0 | 0 | — |
case-19 | fail→fail | 12,019 | 2,311 | -81% | 1 | 1 | 0% | 2,118 | 1,115 | -47% | 0 | 0 | — |
case-20 | fail→pass | 17,912 | 11,990 | -33% | 1 | 1 | 0% | 2,920 | 2,788 | -5% | 0 | 0 | — |
case-21 | pass→fail | 4,312 | 1,291 | -70% | 1 | 1 | 0% | 777 | 984 | +27% | 0 | 0 | — |
case-22 | pass→pass | 13,295 | 12,446 | -6% | 1 | 1 | 0% | 2,223 | 3,121 | +40% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +9 percentage points is the difference between those two pass rates over the 22 comparable cases. 2 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.