openviking-memory
Recall and persist long-term memory through the OpenViking MCP tools. Use at the start of any substantive task (coding,…
Search and read documents, repos, URLs, and other resources stored in OpenViking under viking://resources/. Use whenever the user asks about docs, specs, codebases, papers, or notes that were added to OpenViking ("check the docs", "what does our design doc say", "find it in
$ npx -y skills add volcengine/openviking --skill ov-resources --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/ov-resourcesContext preview
The summary Claude sees to decide when to auto-load this skill.
Search and read documents, repos, URLs, and other resources stored in OpenViking under viking://resources/. Use whenever the user asks about docs, specs, codebases, papers, or notes that were added to OpenViking ("check the docs", "what does our design doc say", "find it in
name: ov-resources
description: Search and read documents, repos, URLs, and other resources stored in OpenViking under viking://resources/. Use whenever the user asks about docs, specs, codebases, papers, or notes that were added to OpenViking ("check the docs", "what does our design doc say", "find it in OpenViking"), or when a task needs reference material this session does not have. Covers picking between find, grep, glob, and list, and drilling from a hit down to the exact file.Resources are documents a user added to OpenViking (files, repos, URLs). They live in a file tree under `viking://resources/` (and sometimes `viking://user/<id>/resources/` for user-private ones). Each directory has two summaries next to its files:
Read summaries first and open full files last. The summaries exist so you can decide where to look without reading everything.
| You know… | Use | |---|---| | roughly what it is about | `find(query, target_uri="viking://resources")` | | an exact word, name, or error string | `grep(uri, pattern=[...])` | | a file name or extension | `glob(pattern, uri)` e.g. `**/*.pdf` | | where it is | `list(uri)` and `read(uris)` |
Default to `find`. Scope it with `target_uri` as soon as you know which resource you are in — narrower scopes give better hits. Use `search` instead of `find` only when the question is vague and needs intent analysis.
1. `find` returns URIs with a score. A hit on `<dir>/.abstract.md` means the whole directory matched, not that the answer is in the abstract. 2. `read` that directory's `.overview.md` to see what is inside. 3. `list` the directory, or run a scoped `find`/`grep` inside it, to reach the specific file. 4. `read` the file. For long files, `grep` first and then `read` with `offset`/`limit` around the match.
Stop as soon as you have what the task needs. Two or three targeted reads beat ten broad ones.
exists, then search inside the closest directory.
own terms rather than raising `limit`.
copy its text in with `write`.
Self-evolving Context Database for AI Agents. Unify Agent Memory, Knowledge RAG and Skills.
Recall and persist long-term memory through the OpenViking MCP tools. Use at the start of any substantive task (coding,…
Find, use, create, install, share, update, and migrate agent skills stored in OpenViking (viking://~/skills and…
Retrieve and apply OpenViking Experience memories through the Agent runtime's generic OpenViking search and read tools. Use…
Work through tasks on a kanban board stored in OpenViking (viking://agent/kanban/<board>/, one markdown file per task). Use when…
Diagnose OpenViking memory issues by tracing backward from a memory file to its archive memory_diff.json and, when needed,…