Write and Verify Playwright Tests
appsmithorg/appsmith
Writes a Playwright end-to-end test from a prompt, runs it against a live Appsmith deployment and retries with fixes up to three times until it passes.
Verify a Mem0 integration produced by /mem0-integrate. An agent skill from mem0ai/mem0.
$ npx skills add mem0ai/mem0 --skill mem0-test-integration -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install mem0ai/mem0 mem0-test-integration --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/mem0ai/mem0.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/mem0-test-integration .claude/skills/mem0-test-integration && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "mem0-test-integration" agent skill from https://github.com/mem0ai/mem0/tree/main/skills/mem0-test-integration into .claude/skills/mem0-test-integration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mem0-test-integration", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/mem0ai/mem0/tree/main/skills/mem0-test-integrationType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add mem0ai/mem0 --skill mem0-test-integration -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install mem0ai/mem0 mem0-test-integration --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mem0ai/mem0.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/mem0-test-integration .agents/skills/mem0-test-integration && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "mem0-test-integration" agent skill from https://github.com/mem0ai/mem0/tree/main/skills/mem0-test-integration into .agents/skills/mem0-test-integration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mem0-test-integration", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add mem0ai/mem0 --skill mem0-test-integration -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install mem0ai/mem0 mem0-test-integration --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mem0ai/mem0.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/mem0-test-integration .cursor/skills/mem0-test-integration && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "mem0-test-integration" agent skill from https://github.com/mem0ai/mem0/tree/main/skills/mem0-test-integration into .cursor/skills/mem0-test-integration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mem0-test-integration", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/mem0ai/mem0.git --path skills/mem0-test-integration--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add mem0ai/mem0 --skill mem0-test-integration -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install mem0ai/mem0 mem0-test-integration --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mem0ai/mem0.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/mem0-test-integration .gemini/skills/mem0-test-integration && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "mem0-test-integration" agent skill from https://github.com/mem0ai/mem0/tree/main/skills/mem0-test-integration into .gemini/skills/mem0-test-integration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mem0-test-integration", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install mem0ai/mem0 mem0-test-integrationInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add mem0ai/mem0 --skill mem0-test-integration -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/mem0ai/mem0.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/mem0-test-integration .github/skills/mem0-test-integration && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "mem0-test-integration" agent skill from https://github.com/mem0ai/mem0/tree/main/skills/mem0-test-integration into .github/skills/mem0-test-integration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mem0-test-integration", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add mem0ai/mem0 --skill mem0-test-integration -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install mem0ai/mem0 mem0-test-integration --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mem0ai/mem0.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/mem0-test-integration .opencode/skills/mem0-test-integration && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "mem0-test-integration" agent skill from https://github.com/mem0ai/mem0/tree/main/skills/mem0-test-integration into .opencode/skills/mem0-test-integration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mem0-test-integration", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
mem0-test-integrationVerify a Mem0 integration produced by /mem0-integrate. An agent skill from mem0ai/mem0.
Mem0 Test Integration is an agent skill from mem0ai/mem0. Verify a Mem0 integration produced by /mem0-integrate. Runs in the same workspace on the same branch (loose coupling) — installs dependencies, runs the repo's native test suite, then exercises a real end-to-end smoke flow against the user's API key. Produces a scorecard. TRIGGER when: user has just run /mem0-integrate and says "verify", "test the integration", "run /mem0-test-integration", or when a .mem0-integration/ directory exists and tests have not been run yet on the current branch. DO NOT TRIGGER when: the…
Its SKILL.md is about 4.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `README.md`).
It sits in Testing & QA, covering Test generation and End-to-end testing. It works with Mem0. The repository describes itself as: The Memory Layer for AI Agents - Drop-in memory infrastructure for AI agents and apps. Context that persists. Built for production. The licence is Apache-2.0.
8 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit b7ad69a. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
pipdockernpmpnpmyarntscpythonFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
docs.mem0.aiFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
MEM0_API_KEYOPENAI_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Mem0 Test Integration loads about 4.6k tokens when it runs. Until then it costs about 227 tokens; SKILL.md has 2,155 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from mem0ai/mem0 at commit b7ad69a, republished under its Apache-2.0 licence (© mem0ai). 2,155 words, ~4,558 tokens.
.claude/skills/mem0-test-integration/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.Verifies what /mem0-integrate produced. Runs in the same workspace,
on the same feature branch. Loose coupling — fast, catches compile and
runtime bugs, does not catch logical errors.
All static checks and smoke-test shapes validate against these URLs.
WebFetch each before running step 3.
@ai-sdk/*): https://raw.githubusercontent.com/mem0ai/mem0/main/skills/mem0-vercel-ai-sdk/SKILL.mdmem0_tested_versions):Read the Delegated skill: field in .mem0-integration/plan.md — if it
names a skill URL, fetch that skill and use its example blocks as the
reference for both static checks (step 3) and the smoke test (step 5).
Every check in this skill assumes the integration is additive and
feature-flagged (see /mem0-integrate "Integration principles").
Specifically:
product.json must contain a feature_flag field.main. Any failure here is a
hard fail — do not let the self-heal loop attempt a patch.non_invasive: false and sets
overall: fail with a distinct reason code the integrator's heal
loop refuses to touch.Refuse to start unless ALL of the following are true:
.mem0-integration/ directory exists in the repo root..mem0-integration/product.json, goal.md, and plan.md are readable
and internally consistent (JSON parses, docs non-empty).mem0-integrate/ (set by the companion
skill). Prevents accidental runs on unrelated branches.MEM0_API_KEY for Platform, OPENAI_API_KEY for OSS — read which from
product.json). Interactive mode asks if missing; CI mode exits 2.Exit with a written rationale on any precondition failure. Never attempt to "fix up" state.
Load:
product.json → which language, which product (Platform vs OSS), which
mem0 version, write_site, read_site.plan.md → the mechanical contract (write pattern, read pattern,
preserved behavior).goal.md → the intent (displayed in the scorecard only; not tested).Route by language from product.json:
| Language | Command |
|---|---|
| Python | pip install -e . if editable, else pip install -r requirements.txt. Then pip install mem0ai if not already present at the pinned version. |
| TypeScript / JavaScript | npm install (or pnpm install / yarn install if detected by lockfile). |
If install fails → exit code 2 with stderr tail. Never move to testing if dependencies don't resolve.
Import check: does the write-site file import the expected Mem0
surface? Authoritative list comes from ## Identify the User's Setup
in https://docs.mem0.ai/llms.txt:
from mem0 import MemoryClientimport MemoryClient from "mem0ai"from mem0 import Memoryimport { Memory } from "mem0ai/oss"If plan.md names a delegated skill (e.g., Vercel AI), use that
skill's import signature instead of the list above. Mismatch → fail
with line number.
Version check: installed mem0ai version falls in the range from
this skill's mem0_tested_versions. Out of range → warn but continue.
Type check (TS tracks only): run tsc --noEmit or tsup --dts.
Non-zero → fail.
Lint (if the repo has a linter configured): run the repo's own lint command. Lint failures from this skill's changes → fail; pre-existing lint failures → surface as a warning.
Eager-init check: grep the write_site and read_site files (paths
from product.json) for MemoryClient( or Memory( at module scope —
i.e., not inside a function, method, or class body. MemoryClient()
validates the API key in __init__ (Python pings the API, TS throws on a
blank key and pings in the background) and OSS Memory()
can eagerly initialize embedding/LLM providers — module-level
instantiation hits the wire on import and breaks Pass A's test
collection whenever the key is unset. Hit → fail with file:line and
the lazy-init guidance from /mem0-integrate step 8 constraint #7.
| Language | Test command (in priority order) |
|---|---|
| Python | pytest with the test files from step 7 of the companion skill, else python -m unittest discover. |
| TypeScript / JavaScript | npm test if defined in package.json; else auto-detect vitest or jest. |
Pass A — feature_flag unset. Run the entire pre-existing suite
(excluding the new test_mem0_* files). Must be 100% green. Any
failure here marks non_invasive: false in the scorecard and is
a hard fail — the integrator's self-heal loop refuses to touch it.
Pass B — feature_flag set (value from product.json). Run the
full suite including the new tests. All must pass.
Isolate integration-introduced failures using git diff main..HEAD --name-only. A test file that exists on main and fails only under
the integration branch (flag set or unset) counts against the
scorecard regardless of pass. A test file that already failed on main
is surfaced as pre_existing_unrelated and does not count — but is
still reported so the user can clean it up.
Capture output to .mem0-integration/test-stdout-flag-off.log and
.mem0-integration/test-stdout-flag-on.log. Scorecard reports pass/fail
per pass.
Scripted end-to-end flow tailored to product.json. The call shapes
below are the minimal ones; if plan.md names a delegated skill, use
that skill's minimal example verbatim instead — it is the canonical
shape for the detected stack.
Platform (Python):
import os
import time
from mem0 import MemoryClient
c = MemoryClient() # uses MEM0_API_KEY
uid = f"mem0-test-integration-{os.urandom(4).hex()}"
c.add([{"role": "user", "content": "I prefer aisle seats"}], user_id=uid)
for _ in range(10):
hits = c.search("seat preference", filters={"user_id": uid})["results"]
if hits:
break
time.sleep(2)
assert any("aisle" in h.get("memory", "") for h in hits), hits
c.delete_all(user_id=uid) # clean upadd is asynchronous on Platform (it returns status: "PENDING" with an
event_id), so the search is retried for a bounded time. Entity IDs go in
filters and results come back under ["results"].
Platform (TS): same shape with new MemoryClient({ apiKey: process.env.MEM0_API_KEY }) from "mem0ai" (the TS client does not read the
env var itself), client.search("seat preference", { filters: { user_id: uid } }) with hits under .results, and client.deleteAll({ userId: uid }).
OSS (Python / TS): uses Memory() / new Memory() with default config
(OpenAI LLM via OPENAI_API_KEY; Python defaults to an embedded on-disk
Qdrant, TS to an in-memory vector store, so no service is needed unless the
repo's own config points at one). If the repo ships a docker-compose.yml
with the configured vector store service, the skill starts it first and tears
it down after. If the configured backing store is not reachable → fail with a
clear message naming the fix.
The smoke test always uses a disposable random user_id prefixed with
mem0-test-integration- so a failed cleanup doesn't pollute the user's
real data. A background tidy step lists Platform entities with client.users(),
picks the type: "user" entries whose name starts with that prefix and whose
created_at is older than 24 hours, and calls delete_all(user_id=...) for
each on the next run (there is no server-side prefix delete).
Capture output to .mem0-integration/smoke-stdout.log.
Unit tests + smoke prove the SDK works in isolation. This step is the real signal: does memory actually appear in the app's user-visible output when the integration runs end-to-end?
Requires plan.md to contain an E2E recipe: section (authored by
/mem0-integrate step 6). If absent → status skipped (not fail),
note in scorecard that the repo has no runnable entry point.
Recipe fields the skill reads:
start — shell command to launch the app using $PORT for any network
port. Run in background with stdout/stderr teed to
.mem0-integration/e2e-app.log.ready_probe — how to detect readiness. url=... status=... polls an
HTTP endpoint; log="..." waits for a substring in e2e-app.log;
sleep=N waits N seconds (last resort). 60-second hard timeout.compose_services — optional. If set, bring them up via
docker compose up -d <services> before start, tear them down with
docker compose down at the end.write_call — triggers the Mem0 write path exactly once. Output is
captured and surfaced on failure. 60-second hard timeout.write_async_wait_ms — pause after write_call to let async memory
flushes land. Default 0.read_call — triggers the Mem0 read path. Typically a fresh session
or new request that should surface the stored memory.read_assert — substring, regex=..., or jsonpath=<expr>=<value>
that must appear in read_call's stdout. This is the E2E pass gate.Execution order:
PORT.MEM0_USER_ID to a disposable mem0-test-integration-<rand> value
and export it, so the app can use the same scoping the smoke test does
if the recipe wants cleanup.compose_services if named.start in the background.ready_probe until success or 60s timeout. Timeout → fail.write_call. Non-zero exit → fail (but continue to cleanup).write_async_wait_ms.read_call.read_assert against read_call's stdout. Miss → fail.docker compose down if services were started, delete_all for
the disposable MEM0_USER_ID on Platform scenarios.On any failure, the scorecard includes:
e2e-app.logwrite_call outputread_call outputread_assertWrite .mem0-integration/scorecard.md and .mem0-integration/scorecard.json:
{
"timestamp": "2026-04-20T14:03:11Z",
"branch": "mem0-integrate/remember-user-preferences",
"product": "platform",
"language": "python",
"mem0_version": "2.0.0",
"non_invasive": true,
"feature_flag": "MEM0_ENABLED",
"results": {
"install": {"status": "pass", "duration_ms": 12043},
"static_checks":{"status": "pass", "duration_ms": 812},
"unit_tests_flag_off": {"status": "pass", "duration_ms": 3920, "count": 47,
"reason": "all pre-existing tests green with flag unset"},
"unit_tests_flag_on": {"status": "pass", "duration_ms": 4321, "count": 49},
"smoke_test": {"status": "pass", "duration_ms": 2890, "memory_id": "mem_..."},
"e2e_test": {"status": "pass", "duration_ms": 14200,
"ready_probe_ms": 3100, "write_exit": 0,
"read_assert_matched": true}
},
"friction": {
"dependency_install_retries": 0,
"pre_existing_test_failures": 0,
"warnings": ["mem0ai 2.0.0 pinned; consider 2.0.1 for fix X"]
},
"overall": "pass"
}The markdown version is human-readable and includes:
.mem0-integration/,
which is gitignored. The user can inspect and optionally pin..mem0-integration/)| File | Purpose | Retention |
|---|---|---|
scorecard.md | Human-readable verdict. | Overwritten per run. |
scorecard.json | Machine-readable verdict. Consumed by the CI scorecard workflow later. | Overwritten per run. |
test-stdout-flag-off.log | Step 4 Pass A (pre-existing suite, flag unset). | Overwritten per run. |
test-stdout-flag-on.log | Step 4 Pass B (full suite, flag set). | Overwritten per run. |
smoke-stdout.log | Full output from step 5. | Overwritten per run. |
e2e-app.log | Background app stdout/stderr from step 6. | Overwritten per run. |
e2e-calls.log | write_call + read_call invocations and outputs. | Overwritten per run. |
| Mode | Trigger | Behavior |
|---|---|---|
| Interactive (default) | TTY present, MEM0_TEST_CI unset | Asks for missing keys, prints friendly summaries. |
| CI | MEM0_TEST_CI=1 | Keys must be in env, no prompts, non-zero exit on any fail. JSON scorecard goes to stdout's tail for workflow parsing. |
/mem0-test-integration # interactive, all steps
/mem0-test-integration --ci # non-interactive
/mem0-test-integration --skip-smoke # no API calls, no E2E
/mem0-test-integration --skip-e2e # unit + smoke only (faster CI)
/mem0-test-integration --only-smoke # just smoke
/mem0-test-integration --only-e2e # just E2E (assumes deps installed)Composition: --skip-* can stack (--skip-smoke --skip-e2e = static +
unit only, zero API cost). --only-* is mutually exclusive with all
other flags.
| Code | Meaning |
|---|---|
| 0 | All checks passed. |
| 1 | Precondition failed (no .mem0-integration/, wrong branch, dirty tree). |
| 2 | Missing env key (CI mode) or dependency install failure. |
| 3 | Static sanity check failed (wrong import, type error). |
| 4 | Unit tests failed (Pass B — integration itself broken). |
| 5 | Smoke test failed. |
| 6 | E2E test failed (ready_probe timeout, write/read call failed, or read_assert miss). |
| 7 | Non-invasiveness violation: Pass A failed (pre-existing tests broke). Integrator's heal loop refuses to touch this. |
| 8 | Internal error (skill bug — report it). |
/mem0-integrate on the same
goal + plan; do not hand-patch.user_id correctly across real users, or handles conflict
resolution well. That's human review territory./mem0-integrate skill in its default --heal mode consumes the
scorecard produced here and drives its own remediation loop. Exit
code 7 (non-invasiveness violation) is the explicit signal the heal
loop must stop and surface to the user.main baseline diffing. The
scorecard reflects this branch only.© mem0ai, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files in skills/mem0-test-integration of mem0ai/mem0.
Open the folder on GitHubat commit b7ad69a
Mem0 Test Integration next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Mem0 Test Integration this skillmem0ai/mem0 | 67k | — | ~4.6k | Automated safety check: Pass | Apache-2.0 | |
| Write and Verify Playwright Testsappsmithorg/appsmith | 41k | — | ~2.9k | Automated safety check: Notes | Apache-2.0 | |
| Engine E2Ewix/react-native-navigation | 13k | — | ~1.1k | Automated safety check: Pass | MIT | |
| Senior QAnicepkg/auto-company | 192 | 3 repos | ~1.1k | Automated safety check: Notes | None | |
| Explore Feature E2E Testcomet-ml/opik | 22k | — | ~3.4k | Automated safety check: Pass | Apache-2.0 | |
| Kane CLI Browser TestingLambdaTest/kane-cli | 247 | — | ~8.4k | Automated safety check: Pass | Apache-2.0 |
appsmithorg/appsmith
Writes a Playwright end-to-end test from a prompt, runs it against a live Appsmith deployment and retries with fixes up to three times until it passes.
wix/react-native-navigation
Run Wix Engine (mobile-apps-engine) iOS E2E tests locally to validate RNN changes.
nicepkg/auto-company
Comprehensive QA and testing skill for quality assurance, test automation, and testing strategies for ReactJS, NextJS, NodeJS applications.
comet-ml/opik
Turns a code change into one committed, passing Playwright end-to-end spec by resolving the change scope and handing authoring to a companion skill.
LambdaTest/kane-cli
Drives a real browser through the kane-cli tool and designs requirement-linked test suites from a PRD or a plain description, with mobile and cloud-grid runs.
kubernetes-sigs/cloud-provider-azure
Parse a Go e2e test from tests/e2e/, translate each step to kubectl and az CLI commands, and interactively replay the test against a live cluster.
mem0ai/mem0
Adds persistent memory to AI apps with the Mem0 Python and TypeScript SDKs: store, search, update and delete user memories, with framework integrations.
mem0ai/mem0
Adds, searches, lists, updates and deletes memories on the Mem0 platform from the terminal with the mem0 command, including a JSON mode built for agents.
mem0ai/mem0
Adds persistent memory to Vercel AI SDK apps with the Mem0 provider, using a wrapped model or standalone retrieve and store utilities.
mem0ai/mem0
Finds and deletes specific mem0 memories by search query or ID, always asking for confirmation first, and can undo the most recent memories added this session.
mem0ai/mem0
Saves a fact, decision or preference the user states into mem0 as written, labeled with a memory type such as decision, convention or user_preference.
mem0ai/mem0
Shows or changes the default Mem0 memory scope, project, session or global, which decides where memories are saved and searched.
Works with
Categories
Verify a Mem0 integration produced by /mem0-integrate. An agent skill from mem0ai/mem0. Mem0 Test Integration is an agent skill from mem0ai/mem0. Verify a Mem0 integration produced by /mem0-integrate.
Mem0 Test Integration fits situations like: : user has just run /mem0-integrate and says verify; test the integration; run /mem0-test-integration; A .mem0-integration/ directory exists and tests have not been run yet on the current branch.
Run `npx skills add mem0ai/mem0 --skill mem0-test-integration -a claude-code`. Or copy the skill folder (skills/mem0-test-integration in mem0ai/mem0) into .claude/skills/mem0-test-integration in your project. Claude Code loads it when a task matches its description.
Run `npx skills add mem0ai/mem0 --skill mem0-test-integration -a codex`. Or copy the skill folder (skills/mem0-test-integration in mem0ai/mem0) into .agents/skills/mem0-test-integration in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add mem0ai/mem0 --skill mem0-test-integration -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/mem0-test-integration, .gemini/skills/mem0-test-integration, .github/skills/mem0-test-integration and .opencode/skills/mem0-test-integration in your project.
Going by SKILL.md and its folder, Mem0 Test Integration needs the command-line tools its instructions call (pip, docker, npm, pnpm, yarn and tsc) and credentials named MEM0_API_KEY and OPENAI_API_KEY. Our summary lists: Python 3; Node.js; Docker; A credential in MEM0_API_KEY; A credential in OPENAI_API_KEY.
SKILL.md names 1 domain. In commands or code: docs.mem0.ai; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Mem0 Test Integration is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.6k tokens (SKILL.md is roughly 18k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Mem0 Test Integration: Write and Verify Playwright Tests (appsmithorg/appsmith, 41k stars), Engine E2E (wix/react-native-navigation, 13k stars), Senior QA (nicepkg/auto-company, 192 stars) and Explore Feature E2E Test (comet-ml/opik, 22k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
mem0ai (a GitHub organization) maintains it in mem0ai/mem0, which has 66,788 GitHub stars. The repository holds 26 skills in this directory. The repository was last updated on October 7, 2026.
Source: mem0ai/mem0 on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.