Agent Native

memory-config

This skill manages MemSearch configuration across five agent platforms (Claude Code, Codex, OpenClaw, OpenCode, DeepSeek Harness).

by zilliztechCommunityNot reviewed

Community author

Agents
Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode, claude.ai and API
License
MIT (permissive)
Pin
2a4652fpinned Oct 9, 2026
Context cost
about 2,900 tokenswhen the skill loads
GitHub stars
2,729on zilliztech/memsearch
Scripts
None found

What it does

Generated summary from the skill's own text

This skill manages MemSearch configuration across five agent platforms (Claude Code, Codex, OpenClaw, OpenCode, DeepSeek Harness). It diagnoses current setup, routes requests to read or modify MemSearch settings, and guides users through provider setup, indexing rules, advanced maintenance, and prompt customization.

When to use it

  • Diagnose MemSearch health or check current configuration status
  • Configure LLM providers, API keys, or model selection for memory tasks
  • Enable or tune advanced maintenance like project and user profile generation
  • Adjust indexing rules, file exclusions, or memory capture settings

When not to

  • Configuring the host agent's native memory or built-in settings
  • Setting up or troubleshooting the agent itself rather than its MemSearch plugin
  • Managing other agent skills unrelated to memory configuration

Install

These commands install from the publisher's repository and need no account.

skills CLI

npx skills add zilliztech/memsearch --skill memory-config

Installs from the repository's default branch, which may have changed since the commit we checked.

GitHub CLI 2.90 or later

gh skill install zilliztech/memsearch memory-config@2a4652fa086fbd45e92bfd8da7781ebe1642baa7

Installs the commit we checked (2a4652f).

Copy by hand

Download the folder at 2a4652f and put it in .claude/skills/memory-config for Claude Code and in .agents/skills/memory-config for Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode.

Skill folder on GitHub at 2a4652f

Copy for your agent

A prompt for any coding agent. It installs this skill from GitHub at the pinned commit, copies the files as they are, and runs nothing unless you ask.

Prompt

Install the agent skill "memory-config" by zilliztech.

Source, pinned to commit 2a4652fa086fbd45e92bfd8da7781ebe1642baa7:
https://github.com/zilliztech/memsearch/tree/2a4652fa086fbd45e92bfd8da7781ebe1642baa7/plugins/dsh/skills/memory-config

1. Download that folder at exactly this commit. Do not use the default branch.
2. Copy every file unchanged, keeping the folder structure, into .claude/skills/memory-config/ for Claude Code and .agents/skills/memory-config/ for Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode. Create the folders if they do not exist.
3. Do not edit the files, and do not run any script in the folder unless I ask you to.
4. When you are done, list the files you copied and where you put them.

Listing and checks: https://www.agentnative.dev/skills/zilliztech/memory-config

SKILL.md at the pin

<!--
  memsearch-dsh memory-config skill body.
  Registered at plugin load by plugins/dsh/index.js via ctx.skills.register()
  with metadata (name: memory-config, description, whenToUse) supplied in code.
-->


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.

## 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.

From zilliztech/memsearch at 2a4652f, shown as plain text under its license: MIT (permissive). The license text is in LICENSE.

View SKILL.md on GitHub at 2a4652f

Files

6 files, 22 KB in total. Each file has a sha256 in the pin's manifest; the first 12 characters are shown.

Skill folder on GitHub at 2a4652f
All AI and agents skills
  • agent-builder

    Agent Builder orchestrates the creation, modification, testing, and publishing of n8n Agents.

    by n8nOfficial publisher

    Claude Code, Codex, Cursor +3 · about 2.3K tokens · pinned 6 days ago

  • intent-recognition

    Classifies automation requests by determining which primitive owns the top-level control flow (workflow, agent, needs clarification, or out-of-scope) and…

    by n8nOfficial publisher

    Claude Code, Codex, Cursor +4 · about 6.9K tokens · pinned 6 days ago

  • planned-task-runtime

    This skill manages follow-up interactions with a background task execution system, handling task completion synthesis, failure replanning, workflow building…

    by n8nOfficial publisher

    Claude Code, Codex, Cursor +3 · about 2.2K tokens · pinned 6 days ago

  • skill-creator

    This skill guides agents through creating new skills that extend Gemini CLI with specialized knowledge, workflows, and tool integrations.

    by GoogleOfficial publisher

    Contains scripts

    Gemini CLI · about 5K tokens · pinned 6 days ago

  • -21risk-automation

    This skill automates 21risk operations by connecting to the 21risk toolkit through Composio's Rube MCP server.

    by ComposioOfficial publisher

    Claude Code, Codex, Cursor +3 · about 690 tokens · pinned 6 days ago

  • -2chat-automation

    This skill automates 2chat tasks by integrating with Composio's 2chat toolkit through Rube MCP.

    by ComposioOfficial publisher

    Agents not labelled yet · about 680 tokens · pinned 6 days ago

The skills listed here are third-party software, collected from public GitHub repositories as a catalog of recent skills and provided as is. Agent Native does not write or control them and is not responsible for any harm, loss or damage caused by installing or using them. Labels and checks describe what we saw at one commit and are not a guarantee. Read a skill's files before you run it. Terms of use