CtrlK
BlogDocsLog inGet started
Tessl Logo

openviking-memory

Work with OpenViking, the persistent context database behind this agent's memory. Use it whenever the user refers to earlier sessions or shared history ("like last time", "what did we decide"), asks to remember or forget something, shares files, URLs, or repos worth keeping, or when the task needs context this session does not have — even if nobody says the word "memory". Also use it when the user asks where memories are stored: per project, per folder, or shared between repositories. Covers choosing between context search, find, list search, and grep, reading viking:// URIs, and when (not) to write.

72

Quality

90%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Low

Low-risk findings worth noting

The canonical home for this skill is openviking-memory in volcengine/OpenViking

SKILL.md
Quality
Evals
Security

Quality

Content

86%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A lean, high-signal body: all content is non-obvious system-specific knowledge, the destructive operation is explicitly safety-gated, and scope boundaries are delegated cleanly. The main gaps are the absence of example tool invocations and of explicit feedback loops beyond the forget confirmation.

Suggestions

Add one short example invocation per retrieval tool (e.g., a representative `find` or `search` call with its key arguments) so actionability reaches fully copy-paste-ready coverage.

Add a brief re-check step after retrieval (e.g., what to do when `search` returns stale or thin results — fall back to `grep` or `read` the source) to close the workflow's feedback loop.

Consider trimming the 'Where memories are filed' prose (e.g., the scratch-directory illustration) to the rule plus config snippet, since the extra sentences restate the same peer rule twice.

DimensionReasoningScore

Conciseness

Every section carries product-specific knowledge Claude cannot already know (lifecycle behavior, tool semantics, peer-filing rules, harness prefixes) with no padding or generic-concept explanation, so every token earns its place.

5 / 5

Actionability

Guidance is largely executable — named tools with modes (`search` with `mode="context"`, `grep`/`glob`), a copy-paste JSON config, an env var, and docs URLs — but no example tool invocations are shown, leaving minor gaps in covering common cases.

4 / 5

Workflow Clarity

The session lifecycle is clearly sequenced (Start → During → Data in → End) and the destructive `forget` is explicitly gated ('Confirm with the user and pass the exact URI; never delete from a fuzzy match'), but there are no validate-and-retry feedback loops for the other steps, so it falls between anchors 4 and 5, clearly above 3.

4 / 5

Progressive Disclosure

No bundle files exist and none are needed: the body is a well-sectioned overview that delegates out-of-scope topics to named sibling skills (`ov-experience-memory`, `openviking-skills`) and official docs URLs, keeping navigation easy with no inline bloat.

5 / 5

Total

18

/

20

Passed

Description

95%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong description: explicit 'Use it when...' triggers with quoted natural user phrases, a clear statement of capabilities, and a distinct niche. The only weakness is that some capabilities (remember, add_resource, forget) are conveyed through triggers rather than named as actions.

DimensionReasoningScore

Specificity

The description names the domain and several concrete actions ('choosing between context search, find, list search, and grep, reading viking:// URIs, and when (not) to write') but leaves some capabilities implicit via triggers rather than naming them, which fits 'several specific actions; minor gaps' rather than comprehensive coverage.

4 / 5

Completeness

It explicitly answers both 'what' ('Covers choosing between context search, find, list search, and grep, reading viking:// URIs, and when (not) to write') and 'when' ('Use it whenever the user refers to earlier sessions or shared history...') with concrete trigger phrases.

5 / 5

Trigger Term Quality

It quotes natural user phrases directly ('like last time', 'what did we decide'), covers synonyms (earlier sessions, shared history, remember or forget, where memories are stored), and even flags the unstated keyword case ('even if nobody says the word "memory"'), matching comprehensive natural-term coverage.

5 / 5

Distinctiveness Conflict Risk

It is anchored to a clearly named niche system (OpenViking, viking:// URIs, persistent context database) with distinct triggers, so the risk of firing for an unrelated memory or file skill is minimal.

5 / 5

Total

19

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository
volcengine/OpenViking
Reviewed

Table of Contents

Is this your skill?

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.