Agent skill

Memory Config

by zilliztech in zilliztech/memsearch

Diagnose and configure MemSearch memory behavior. An agent skill from zilliztech/memsearch.

MITAuto-check passedAI & LLM Engineering

Install Memory Config

skills CLI
$ npx skills add zilliztech/memsearch --skill memory-config -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install zilliztech/memsearch memory-config --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/zilliztech/memsearch.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/codex/skills/memory-config .claude/skills/memory-config && rm -rf skills-src

Use ~/.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/

Facts

Skill name
memory-config
GitHub stars
2.7k
Token cost
~2.9k tokens
SKILL.md length
1,223 words
Files
6 (incl. references)
Skills in repo
4
Repo updated
First seen
Licence
MIT

At a glance

Diagnose and configure MemSearch memory behavior. An agent skill from zilliztech/memsearch.

  • The user asks about MemSearch configuration
  • SKILL.md covers Which agent am I running as?, Intent Routing, Diagnose First and Background and Compatibility, plus 5 more sections
  • Calls uv, git and rg; reaches pypi.org; needs OPENAI_API_KEY and ANTHROPIC_API_KEY
  • Plugin summarization

What it does

Memory Config is an agent skill from zilliztech/memsearch. Diagnose and configure MemSearch memory behavior. Use when the user asks about MemSearch configuration, plugin summarization, PROJECT.md/USER.md maintenance, memory directories, index health, provider routing, prompt files, or migration/compatibility questions.

Its SKILL.md is about 2.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files, including reference files (for example `references/claude-code.md`, `references/codex.md` and `references/dsh.md`).

It sits in AI & LLM Engineering, covering Model routing and gateways and Summarization. It works with Milvus and DeepSeek. The repository describes itself as: A persistent, unified memory layer for all your AI agents (e.g. Claude Code, Codex, DSH), backed by Markdown and Milvus. The licence is MIT.

When your agent uses it

  • The user asks about MemSearch configuration
  • Plugin summarization
  • PROJECT.md/USER.md maintenance
  • Memory directories

Example prompts

  • “/memory-config”

Requirements

  • Python 3
  • A credential in OPENAI_API_KEY
  • A credential in ANTHROPIC_API_KEY

What it can do on your machine

Read from SKILL.md and the folder at commit 2a4652f. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • uv
    • git
    • rg
    • curl
    • python3
    • uvx
    • gemini

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • pypi.org

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • OPENAI_API_KEY
    • ANTHROPIC_API_KEY
    • GEMINI_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Memory Config loads about 2.9k tokens when it runs, and up to ~5.5k if it reads all its reference files. Until then it costs about 69 tokens; SKILL.md has 1,223 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~69
When it runs · the whole SKILL.md, loaded when a task matches
~2.9k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~5.5k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from zilliztech/memsearch at commit 2a4652f, republished under its MIT licence (© zilliztech). 1,223 words, ~2,881 tokens.

Download SKILL.mdSave it as .claude/skills/memory-config/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.
name
memory-config
description
Diagnose and configure MemSearch memory behavior. Use when the user asks about MemSearch configuration, plugin summarization, PROJECT.md/USER.md maintenance, memory directories, index health, provider routing, prompt files, or migration/compatibility questions.

You are a MemSearch configuration assistant. This skill manages MemSearch settings only. It is not the host agent's built-in memory/config system.

In diagnostic summaries or final answers, state once that this is MemSearch memory configuration, not the host agent's own memory/config system. Do not prepend that sentence to every progress update or every paragraph.

When this skill is triggered, inspect the user's request text. If there is no concrete request, run a diagnostic. If they ask for a specific setting or change, route the request using the flows below.

Which agent am I running as?

This skill is shared by five agent platforms, but platform-specific details (version-check commands, plugins.<platform>.* keys, native model defaults, restart guidance) live in per-platform reference files. Read ONLY the one file matching your current environment:

  • Claude Code → references/claude-code.md
  • Codex → references/codex.md
  • OpenClaw → references/openclaw.md
  • OpenCode → references/opencode.md
  • DeepSeek Harness → references/dsh.md

If you are unsure which agent you are, check these environment markers: DSH_HOME/~/.dsh → DeepSeek Harness; CODEX_HOME/~/.codex → Codex; ~/.openclaw → OpenClaw; ~/.config/opencode → OpenCode; CLAUDE_PLUGIN_ROOT → Claude Code.

Read that platform file before performing platform-specific diagnosis or configuration. Do not read the other platform files.

Intent Routing

  • Empty request or "check": diagnose current MemSearch setup.
  • "Show/get setting": read the requested resolved/global/project value.
  • "Set/enable/disable/change": choose global vs project scope explicitly; use global config for trusted plugin automation/provider/prompt/endpoint settings and project config only for allowlisted local indexing knobs.
  • "Not capturing/search empty/no memory": troubleshoot files, config, and index health.
  • "Use OpenAI/Gemini/Anthropic/native/model": configure provider routing.
  • "PROJECT.md/USER.md/profile/review": configure advanced maintenance.
  • "skill/distill/extract a skill/memory-to-skill": procedural-memory distillation — enable or tune it here, or use the dedicated memory-to-skill skill to review and install candidates.
  • "Prompt": explain or configure prompt overrides.

Ask the user before enabling external or paid providers, changing output paths, re-indexing, deleting state, or broadening what gets indexed.

Diagnose First

bash
memsearch config list --resolved
memsearch config list --global
memsearch config list --project

Check the shared CLI version before calling the setup healthy:

bash
memsearch --version
uv tool list --show-paths | rg -n 'memsearch|Package|Installed|path'
curl -fsSL https://pypi.org/pypi/memsearch/json \
  | python3 -c 'import json,sys; print(json.load(sys.stdin)["info"]["version"])'

If memsearch is unavailable, try uvx --from memsearch[onnx] memsearch --version.

The MemSearch CLI comes from the PyPI package memsearch. Update with uv tool install -U "memsearch[onnx]" or uv tool upgrade memsearch.

For the host platform's plugin version, update commands, and documentation link, see your platform reference file.

Check memory files:

bash
MDIR="${MEMSEARCH_DIR:-$(git rev-parse --show-toplevel 2>/dev/null || pwd)/.memsearch}/memory"
ls -la "$MDIR"
find "$MDIR" -maxdepth 1 -type f -name '*.md' | sort | tail -10
tail -120 "$MDIR/$(date +%Y-%m-%d).md"

Check index health:

bash
memsearch stats
STATE_DIR="${MEMSEARCH_DIR:-$(git rev-parse --show-toplevel 2>/dev/null || pwd)/.memsearch}"
test -f "$STATE_DIR/.index-state.json" && cat "$STATE_DIR/.index-state.json"

Background and Compatibility

Some plugin config fields may be missing or empty. That is usually normal:

  • summarize.enabled, advanced maintenance, and task-specific provider/model fields are newer settings.
  • Existing users' TOML files are not rewritten automatically after package/plugin upgrades.
  • Empty strings usually mean "use the built-in or host-native default"; they do not necessarily mean "disabled" or "broken".
  • Missing fields should be interpreted through memsearch config list --resolved, not by reading raw TOML alone.
  • New users who run memsearch config init may see more fields than old users because the template includes newer options.
  • Advanced maintenance is intentionally disabled by default to avoid surprise background model calls.

Configuration Logic

Config is resolved from built-in defaults, global config, project config, env refs like env:OPENAI_API_KEY, and runtime env such as MEMSEARCH_DIR.

Use memsearch config list --resolved for effective behavior, --global for global overrides, and --project for repository-specific overrides.

Since v0.4.11, project-local .memsearch.toml is restricted before it is merged. Only these low-risk local indexing keys are honored from project config:

  • milvus.collection
  • embedding.batch_size
  • chunking.max_chunk_size
  • chunking.overlap_lines
  • indexing.ignore_files
  • indexing.exclude
  • watch.debounce_ms

Index exclusions are opt-in for compatibility. Missing or empty indexing.ignore_files and indexing.exclude keep the old scan-all behavior; new files created by memsearch config init explicitly write ignore_files = [".gitignore"]. Each directory passed to index/watch is its own root, and ignore discovery never walks into parent directories.

Trusted settings are ignored or rejected in project config. Put these in global config (~/.memsearch/config.toml) or pass explicit CLI flags instead:

  • provider/model/API endpoint/API key settings
  • [llm] and [llm.providers.*]
  • [prompts]
  • plugin automation such as plugins.<platform>.project_review.enabled, plugins.<platform>.user_profile.enabled, and plugins.<platform>.memory_to_skill.enabled (see your platform reference file for the exact key prefix).

Default recommendation:

  • Put reusable defaults in global config so users do not repeat setup in every project.
  • Put only allowlisted local indexing overrides in project config.
  • Use global config for named LLM providers, common model choices, plugin enable/disable switches, task intervals, install paths, and shared prompt defaults.
  • If the user wants advanced maintenance enabled for all projects, set the plugin keys globally. The default relative input_dir / output_file values still resolve inside each current project.

Maintenance input_dir and output_file may be relative even when configured globally. They are resolved from the current project directory at runtime, so a global output_file = ".memsearch/PROJECT.md" writes to each project's own .memsearch/PROJECT.md. For custom prompt paths, prefer absolute paths in global config; project prompt paths are not trusted.

Show full SKILL.md (484 more words)Show less

Plugin keys

The plugin-specific TOML keys (plugins.<platform>.summarize, plugins.<platform>.project_review, plugins.<platform>.user_profile, plugins.<platform>.memory_to_skill) and the native summarizer/maintenance model defaults are in your platform reference file.

Provider rules

  • provider = "" or native uses the host agent's non-interactive native path (see your platform reference file).
  • Any other provider value is a name that must exist under [llm.providers.<name>].
  • Model resolution order is task-level plugins.<platform>.<task>.model, then named provider model, then built-in default.
  • API keys should be configured as env refs, not pasted into chat.
  • If a raw TOML field is blank, check resolved config before calling it unset or broken.

Common provider examples:

toml
[llm.providers.openai]
type = "openai"
model = "gpt-5-mini"
api_key = "env:OPENAI_API_KEY"

[llm.providers.anthropic]
type = "anthropic"
model = "claude-sonnet-4-6"
api_key = "env:ANTHROPIC_API_KEY"

[llm.providers.gemini]
type = "gemini"
model = "gemini-3-flash-preview"
api_key = "env:GEMINI_API_KEY"

Model guidance:

  • Normal turn summaries can use small/fast models. See your platform reference file for the native summarize default.
  • Advanced maintenance needs better judgment. See your platform reference file for the native maintenance default.
  • For API providers, defaults are openai -> gpt-5-mini, anthropic -> claude-sonnet-4-6, and gemini -> gemini-3-flash-preview.
  • If quality matters more than cost for maintenance, set plugins.<platform>.project_review.model and plugins.<platform>.user_profile.model explicitly.

Advanced maintenance runs after the plugin wakes it, only when enabled, journal input changed, and min_interval_hours elapsed. PROJECT.md and USER.md are maintenance artifacts by default and are not automatically indexed.

If indexing seems silent or search looks stale, check .memsearch/.index-state.json for status, last_error, and failed_files. status: degraded means the scan completed but one or more files failed; status: error means the index run did not complete.

If advanced maintenance or memory_to_skill seems silent, check .memsearch/.maintenance-state.json for <plugin>.<task>.last_error and last_failed_at; background hook errors may not surface in the chat.

Before enabling advanced maintenance, ask which provider to use, whether the default 24-hour interval is acceptable, whether .memsearch/PROJECT.md / .memsearch/USER.md are acceptable output files, and whether the user wants the enablement global. Do not write plugin automation keys with --project; v0.4.11+ project config ignores or rejects them.

Prompt overrides

toml
[prompts]
summarize = ""
project_review = ""
user_profile = ""
memory_to_skill = ""

Empty prompt paths mean use the built-in MemSearch prompts. Custom prompt files may use {{AGENT_NAME}}, {{TASK_NAME}}, {{PROJECT_DIR}}, {{INPUT_DIR}}, and {{OUTPUT_FILE}}; the runner appends existing output, recent journals, and digest automatically.

Applying changes

Use memsearch config set for changes. For trusted keys such as plugins.*, [llm.providers.*], [prompts], embedding.provider, or milvus.uri, set global config by omitting --project. Use --project only for allowlisted local indexing keys. After changing anything, show the command, the resolved value, and whether a new session is needed.

MemSearch TOML changes are read lazily by the CLI and the plugin's capture/maintenance paths, so values such as plugins.<platform>.summarize.*, plugins.<platform>.project_review.*, plugins.<platform>.user_profile.*, [llm.providers.*], [prompts], milvus.*, and embedding.* usually apply on the next capture, recall, index, or maintenance invocation. See your platform reference file for whether a restart is required after plugin/skill/config file changes. In final diagnostic/change summaries, make clear that this is MemSearch memory configuration, not the host agent's own memory/config system.

When useful, remind the user that they can either continue using this memory-config skill for guided configuration, or manually run memsearch config init for global interactive setup, memsearch config init --project for allowlisted project indexing setup, and memsearch config set/get/list for direct CLI changes.

© zilliztech, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 5 other files (references) in plugins/codex/skills/memory-config of zilliztech/memsearch.

  • SKILL.md
  • references/claude-code.md
  • references/codex.md
  • references/dsh.md
  • references/openclaw.md
  • references/opencode.md

Open the folder on GitHubat commit 2a4652f

Compare with similar skills

Memory Config 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.

Memory Config compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Memory Config this skillzilliztech/memsearch2.7k—~2.9kAutomated safety check: PassMIT
Deepseek Chatruvnet/ruflo74k—~564Automated safety check: NotesMIT
LLM Routerjamesrochabrun/skills2151 repos~3.3kAutomated safety check: PassMIT
New Providerfinch-xu/cc-router270—~1.6kAutomated safety check: PassMIT
Configuring Visionoxbshw/watch-skill452—~509Automated safety check: NotesMIT
ClawRouter LLM GatewayBlockRunAI/ClawRouter6.6k—~6.8kAutomated safety check: PassMIT

Similar skills

  • Deepseek Chat

    ruvnet/ruflo

    One-shot chat completion against DeepSeek's deepseek-chat model via the OpenAI-compatible /v1/chat/completions endpoint.

    74k GitHub stars~564 tokensUpdated today
    AI & LLM EngineeringAuto-check: notes
  • LLM Router

    jamesrochabrun/skills

    This skill should be used when users want to route LLM requests to different AI providers (OpenAI, Grok/xAI, Groq, DeepSeek, OpenRouter) using SwiftOpenAI-CLI.

    215 GitHub starsUsed in 1 repo~3.3k tokens
    AI & LLM EngineeringAuto-check passed
  • New Provider

    finch-xu/cc-router

    用于在 cc-router 仓库新增一个 LLM provider(即在 src-tauri/providers/ 下添加 YAML 描述符并完成配套的同步改动)。当用户说「加 provider」「接入 XX 厂商」「新增订阅源」「provider YAML」「让 cc-router 支持 OpenRouter/Together/Groq/Ollama 之类」时必须触发本…

    270 GitHub stars~1.6k tokensUpdated yesterday
    AI & LLM EngineeringAuto-check passed
  • Configuring Vision

    oxbshw/watch-skill

    The user wants to connect an LLM or vision provider, already has an API key, asks "can I use OpenAI/Anthropic/Gemini/OpenRouter", wants local Ollama, or needs different cheap and strong models.

    452 GitHub stars~509 tokensUpdated 23 days ago
    AI & LLM EngineeringAuto-check: notes
  • ClawRouter LLM Gateway

    BlockRunAI/ClawRouter

    Describes ClawRouter, a local proxy that forwards each LLM request to the blockrun.ai gateway, which routes to a cheaper capable model, paid by USDC wallet or API key credit.

    6.6k GitHub stars~6.8k tokensUpdated 2 days ago
    AI & LLM EngineeringAuto-check passed
  • LLM Council on Fireworks AI

    dair-ai/dair-academy-plugins

    Has several open-weight models answer a question, rank each other's anonymized answers, then lets a chairman model write the final response through Fireworks AI.

    614 GitHub stars~5k tokensUpdated 2 mo ago
    AI & LLM EngineeringAuto-check: notes

More from zilliztech/memsearch

  • Memory To Skill

    zilliztech/memsearch

    Turn workflows from your MemSearch memory into reusable skills.

    2.7k GitHub stars~2k tokensUpdated 13 days ago
    Auto-check passed
  • Memory Recall

    zilliztech/memsearch

    Search and recall relevant memories from past sessions via memsearch.

    2.7k GitHub stars~1k tokensUpdated 13 days ago
    Auto-check passed
  • Memory Recall

    zilliztech/memsearch

    Search and recall relevant memories from past sessions via memsearch.

    2.7k GitHub stars~807 tokensUpdated 13 days ago
    Auto-check passed

Works with

Questions about Memory Config

What does Memory Config do?

Diagnose and configure MemSearch memory behavior. An agent skill from zilliztech/memsearch. Memory Config is an agent skill from zilliztech/memsearch. Diagnose and configure MemSearch memory behavior.

When should I use Memory Config?

Memory Config fits situations like: the user asks about MemSearch configuration; plugin summarization; PROJECT.md/USER.md maintenance; memory directories.

How do I install Memory Config in Claude Code?

Run `npx skills add zilliztech/memsearch --skill memory-config -a claude-code`. Or copy the skill folder (plugins/codex/skills/memory-config in zilliztech/memsearch) into .claude/skills/memory-config in your project. Claude Code loads it when a task matches its description.

How do I install Memory Config in Codex?

Run `npx skills add zilliztech/memsearch --skill memory-config -a codex`. Or copy the skill folder (plugins/codex/skills/memory-config in zilliztech/memsearch) into .agents/skills/memory-config in your project. Codex loads it when a task matches its description.

Can I use Memory Config in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add zilliztech/memsearch --skill memory-config -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/memory-config, .gemini/skills/memory-config, .github/skills/memory-config and .opencode/skills/memory-config in your project.

What does Memory Config need to run?

Going by SKILL.md and its folder, Memory Config needs the command-line tools its instructions call (uv, git, rg, curl, python3 and uvx) and credentials named OPENAI_API_KEY, ANTHROPIC_API_KEY and GEMINI_API_KEY. Our summary lists: Python 3; A credential in OPENAI_API_KEY; A credential in ANTHROPIC_API_KEY.

Does Memory Config access the network?

SKILL.md names 1 domain. In commands or code: pypi.org; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Memory Config safe to install?

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.

What licence does Memory Config use?

Memory Config is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Memory Config use?

About 2.9k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.6k tokens, read only when the agent opens those files.

What are the alternatives to Memory Config?

Skills that share tags, products or a category with Memory Config: Deepseek Chat (ruvnet/ruflo, 74k stars), LLM Router (jamesrochabrun/skills, 215 stars), New Provider (finch-xu/cc-router, 270 stars) and Configuring Vision (oxbshw/watch-skill, 452 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Memory Config?

zilliztech (a GitHub organization) maintains it in zilliztech/memsearch, which has 2,723 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on September 24, 2026.

Source: zilliztech/memsearch on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.