CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

mem0-vercel-ai-sdk

Mem0 provider for Vercel AI SDK (@mem0/vercel-ai-provider). TRIGGER when: user mentions "vercel ai sdk", "@mem0/vercel-ai-provider", "createMem0", "retrieveMemories", "addMemories", "getMemories", "searchMemories", "mem0 vercel", "AI SDK provider", "AI SDK memory", or is using generateText/streamText with mem0. Also triggers for Next.js apps needing memory-augmented AI. DO NOT TRIGGER when: user asks about direct Python/TS SDK calls without Vercel (use mem0 skill), or CLI terminal commands (use mem0-cli skill).

68

Quality

86%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

SKILL.md
Quality
Evals
Security

Quality

Content

86%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A strong, highly actionable skill body: executable examples cover all three usage patterns, and detail is correctly pushed into three real, one-level-deep reference files. The only real cost is a duplicated internal-flow explanation (Pattern 1's under-the-hood list vs. the How It Works Internally section) and the absence of any verification step for the setup.

Suggestions

Collapse the "How It Works Internally" wrapped-model flow into Pattern 1's "What happens under the hood" list (or vice versa) — they describe the same add→search→inject→generate sequence twice.

Add a one-line smoke test after Step 2 (e.g., a minimal generateText call whose result shows the "Mem0 Memories" source when a memory exists) so users can verify the integration before building on it.

DimensionReasoningScore

Conciseness

The body is dominated by executable code, tables, and terse bullet guidance with no teaching of concepts Claude already knows — matching anchor 4 (efficient, minor trimmable instances). The trimmable part is duplication: Pattern 1's "What happens under the hood" (lines 58-63) and the "How It Works Internally" wrapped-model flow (lines 154-163) describe the identical add→search→inject→generate sequence twice. It is not 3 because nothing is padded or explanatory beyond need, and not 5 because that repeated flow plus the two overlapping Related/References tables cost tokens without adding information.

4 / 5

Actionability

Everything is copy-paste executable: an install command ("npm install @mem0/vercel-ai-provider ai@^6"), env-var exports with a real key format, three complete TypeScript examples covering the common cases (wrapped generateText, standalone retrieve/inject/store, streaming), a provider-selection example, and lookup tables for providers and the four utility functions. This matches anchor 5 (fully executable, common cases covered).

5 / 5

Workflow Clarity

Setup is explicitly sequenced ("Step 1: Install", "Step 2: Set up environment variables") and each pattern states when to choose it ("Use standalone utilities when you want full control..."), with failure behavior documented ("If either request fails, the error is logged and the LLM call proceeds without memories"). This matches anchor 4 (clear sequence, minor validation gaps) — there is no step verifying the setup works (e.g., a smoke-test snippet confirming memories are retrieved). It is not 5 because no validation checkpoint exists, but not 3 because the operations are non-destructive and the sequence plus selection guidance is unambiguous.

4 / 5

Progressive Disclosure

Scored against the actual bundle: SKILL.md (210 lines) keeps inline content to overview patterns and edge cases, while full API detail lives in the three real, present reference files (provider-api.md, memory-utilities.md, usage-patterns.md), each surfaced in a topic-labeled References table with both local and GitHub links. Grep confirms the reference files contain no nested .md links, so references are exactly one level deep. This matches anchor 5 (clear overview, well-signaled one-level-deep references, easy navigation).

5 / 5

Total

18

/

20

Passed

Description

81%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A highly distinctive, trigger-rich description with excellent negative boundaries against sibling skills. Its main weakness is that the capability statement is thin — it names the package and its exports but not what the provider actually does, so a user (or Claude) scanning only the description learns when to use it more clearly than what it delivers.

Suggestions

Add one sentence stating the core capability, e.g., "Automatically retrieves relevant memories and injects them into the system prompt, and stores new conversations to Mem0, during generateText/streamText calls."

Fold a brief action phrase ("wraps any AI SDK model with automatic memory retrieval and storage") into the opening line so the "what" is as explicit as the "when".

DimensionReasoningScore

Specificity

The description names the domain and artifact precisely ("Mem0 provider for Vercel AI SDK (@mem0/vercel-ai-provider)") and lists concrete export names ("createMem0", "retrieveMemories", "addMemories"), but only as trigger terms — it never states the actions the provider performs (e.g., automatically retrieving and storing memories during LLM calls). This matches anchor 3 (domain plus 1-2 concrete entities, not comprehensive); it is not 4 because no specific capability actions are listed, and not 2 because the package and function names are concrete rather than generic.

3 / 5

Completeness

Both parts are present: the "what" ("Mem0 provider for Vercel AI SDK") and a fully explicit "when" ("TRIGGER when: user mentions ... Also triggers for Next.js apps needing memory-augmented AI"). It falls short of anchor 5 only because the "what" side is thin — it identifies the package but never says what it does (memory retrieval/injection/storage during LLM calls); it exceeds anchor 3 because the when-clause is explicit and rich rather than weakly implied.

4 / 5

Trigger Term Quality

Trigger coverage is comprehensive with natural phrasings and synonyms: "vercel ai sdk", "@mem0/vercel-ai-provider", "mem0 vercel", "AI SDK provider", "AI SDK memory", all five function names, "generateText/streamText with mem0", and "Next.js apps needing memory-augmented AI". This clearly matches anchor 5 (comprehensive natural terms including synonyms); nothing a user would naturally say is missing.

5 / 5

Distinctiveness Conflict Risk

It carves out a clear niche with package-specific triggers and an explicit negative boundary ("DO NOT TRIGGER when: user asks about direct Python/TS SDK calls without Vercel (use mem0 skill), or CLI terminal commands (use mem0-cli skill)") that disambiguates sibling skills. This is a textbook match for anchor 5 (clear niche with distinct triggers; minimal conflict risk), going beyond anchor 4 by actively routing away from overlapping skills.

5 / 5

Total

17

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

relative_links

Relative link issues: 2 suspicious

Warning

Total

15

/

16

Passed

Repository

mem0ai/mem0

Path

skills/mem0-vercel-ai-sdk/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.