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.
76
95%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Passed
No findings from the security scan
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.
| 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.
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.read that directory's .overview.md to see what is inside.list the directory, or run a scoped find/grep inside it, to reach the
specific file.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.
find returns nothing useful, list viking://resources to see what
exists, then search inside the closest directory.limit.viking:// URI of what you used so the user can open it.add_resource with the file path or URL; do not
copy its text in with write.volcengine/OpenViking
4ab22a4
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.