mcpField
O
ov-resources

ov-resources

github.com/volcengineProductivity41.1k78 installsUpdated today
Repository

About ov-resources

A skill for locating and reading documents, repositories, and URLs stored in OpenViking. It recommends starting with summaries and narrowing searches before opening full files, and advises citing the source URI.

Key features

  1. 01Search by topic, exact text, or filename
  2. 02Browse resource directories
  3. 03Read summaries before full files
  4. 04Narrow searches to a resource
  5. 05Inspect long files around matches
  6. 06Cite source URIs

Use cases

  1. 01Find a document by subject
  2. 02Locate an exact error or name
  3. 03Explore a repository or directory
  4. 04Read a relevant passage in a long file

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/volcengine/openviking --skill ov-resources

After installing, type/ov-resourcesin Claude Code to confirm it loaded.

Details

From the project README

OpenViking Resources

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:

  • .abstract.md — one paragraph: what the directory holds (L0)
  • .overview.md — a structured overview of its contents (L1)

Read summaries first and open full files last. The summaries exist so you can decide where to look without reading everything.

Pick the tool

You know…Use
roughly what it is aboutfind(query, target_uri="viking://resources")
an exact word, name, or error stringgrep(uri, pattern=[...])
a file name or extensionglob(pattern, uri) e.g. **/*.pdf
where it islist(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.

Drill down

  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.

Tips

  • If find returns nothing useful, list viking://resources to see what exists, then search inside the closest directory.
  • Low scores (under ~0.4) are usually noise; rephrase with the domain's own terms rather than raising limit.
  • Cite the viking:// URI of what you used so the user can open it.
  • To add a new resource, use add_resource with the file path or URL; do not copy its text in with write.

Comments

Markdown supported