CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

ov-memory-doctor

Diagnose and fix the OpenViking memory plugin for Codex on this machine: the plugin install (enablement, hooks, MCP server), the client configuration (ovcli.conf / ov.conf / OPENVIKING_* env) and the connection to the OpenViking server (reachability, 401/403, /mcp). Use whenever memory "isn't working": no <openviking-context> block, empty recall, captures not landing, missing or failing MCP memory tools, 401/403, an offline statusline, right after installing/updating the plugin or switching servers/keys, or when the user asks for the plugin's status. Triggers: "memory not working", "check OpenViking", "plugin status", "记忆没生效", "插件状态", "连不上 OpenViking", "recall 为空", "401".

73

Quality

92%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

85%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 genuinely expert troubleshooting runbook: every command is copy-paste ready, the workflow has explicit rerun/verify loops, and it encodes only product-specific knowledge. Its weakness is shape, not substance — a large inlined error-mapping table that should live in the referenced file, and a reference.md link that does not resolve in this bundle.

Suggestions

Ship reference.md alongside SKILL.md (or fix the link) so 'More symptoms, exact error strings and log stage names: reference.md' actually resolves, and move the bulk of the findings table there, keeping only the highest-frequency findings inline.

De-duplicate the harness-name list (given in full in both the intro and the ov.conf table row) and consolidate the three separate explanations of Cloud-gated /health into one location.

Consider moving the Documentation and Rules sections' environment-specific details (log.output locations, older-proxy-version notes) into reference.md to slim the always-loaded body.

DimensionReasoningScore

Conciseness

Nearly every token carries OpenViking/Codex-specific behavior Claude cannot know ('/health answers 200 even with a bad key', 'Node's fetch ignores HTTP(S)_PROXY'), but there is trimmable redundancy: the harness-name list appears twice, and the Cloud-gated /health explanation is repeated in the intro, the findings table, and the Rules section.

4 / 5

Actionability

Fully executable throughout: the PLUGIN_DIR lookup with 'sort -V | tail -1', the jq filter for the marketplace fallback, exact curl probes with precise headers ('Accept: application/json, text/event-stream', 'Bearer is case-sensitive with exactly one space'), named config keys and file paths for every fix.

5 / 5

Workflow Clarity

Explicit three-step sequence (run doctor → map findings top-down, 'fix the first ✗ and rerun before chasing the next' → targeted checks 'only when the report is not conclusive') with validation checkpoints ('Confirm the fix by rerunning the doctor, then by observing an <openviking-context> block') and safety gates (ask before restarting the user's server).

5 / 5

Progressive Disclosure

Sections are clearly organized and reference.md is signaled at the end of Step 2, but the ~30-row findings table is exactly the 'more symptoms, exact error strings' content the skill itself delegates to reference.md, and that link dangles — no references/ or reference.md exists in the bundle, so the pointer cannot be followed.

3 / 5

Total

17

/

20

Passed

Description

100%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.

An exemplary description: it states a precise diagnostic scope with concrete file names and endpoints, gives an explicit 'Use whenever...' clause enumerating real symptoms and lifecycle moments, and lists natural trigger phrases in both English and Chinese. Dense but with no padding — every clause is a trigger or a capability.

DimensionReasoningScore

Specificity

Concrete, comprehensive scope with named artifacts: 'the plugin install (enablement, hooks, MCP server), the client configuration (ovcli.conf / ov.conf / OPENVIKING_* env) and the connection ... (reachability, 401/403, /mcp)' — nothing is left at the 'helps with memory' level of abstraction.

5 / 5

Completeness

Explicitly answers both questions: what ('Diagnose and fix the OpenViking memory plugin for Codex on this machine: ...') and when ('Use whenever memory "isn't working": ... right after installing/updating the plugin or switching servers/keys, or when the user asks for the plugin's status').

5 / 5

Trigger Term Quality

Comprehensive natural trigger coverage in both English and Chinese: 'memory not working', 'check OpenViking', 'plugin status', 'recall 为空', '连不上 OpenViking', '401', plus symptom phrasings users would actually say ('empty recall', 'captures not landing', 'an offline statusline').

5 / 5

Distinctiveness Conflict Risk

A clear niche — a named product (OpenViking), a named harness (Codex), and named config artifacts — with triggers that could not plausibly fire any other skill; even the bilingual trigger list is unambiguous.

5 / 5

Total

20

/

20

Passed

Validation

87%

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

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

relative_links

Relative link issues: 1 missing

Warning

referenced_paths_exist

Referenced path issues: 1 missing

Warning

Total

14

/

16

Passed

Repository

volcengine/OpenViking

Path

examples/codex-memory-plugin/skills/ov-memory-doctor/SKILL.md

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.