OpenViking (OV) Skills Management
The ov skills command group manages agent skills on OpenViking — including installation from local directories, Git repositories, GitHub URLs, or raw content; listing, searching, inspecting, updating, and removing skills; and validating skill format locally. ov add-skill is the same command as ov skills add and takes the same flags.
Goal
Guide an agent to correctly invoke ov skills subcommands for skill lifecycle operations without guessing flags, source types, or update semantics.
Load When
- User explicitly requests skill management:
ov skills ...,install skill,update skill,delete skill,remove skill. - User asks to validate a SKILL.md or skill directory.
- User asks to find or search installed skills.
- User asks to inspect a skill's content, files, or source.
- Agent needs to discover available skills before selecting one.
Inputs
| Name | Required | Description |
|---|---|---|
subcommand | yes | One of list (alias ls), find, add, show, update, remove (aliases rm, delete), validate |
argument | conditional | Skill name(s) for show/update/remove, query string for find, source path/URL or raw SKILL.md text for add, local path for validate |
root | no | Skill root URI passed with -p: viking://~/skills (private) or viking://agent/skills (shared with the account). add defaults to the private root; list/find search both roots; show/update/remove resolve a name to the private copy first, then the shared one |
level | no | -L/--level for show/find: 0 (abstract), 1 (overview), 2 (full SKILL.md) |
Workflow
- Identify the user's intent and map to the correct
ov skills <subcommand>. - Determine the source type for
add(local dir, local file, Git URL, GitHub tree URL, raw content). When a source may hold several skills, runov skills add <source> --listfirst and pick skills with--skill. - Construct the command with flags from
examples/commands.mdonly. The long form of-pis--uriforlist/find/showand--parent-auto-createforadd/update/remove. Add the global-o jsonfor machine-readable output. - Execute and report results.
Permissions
ov skills addmay download and install external code; verify the source when the user provides an untrusted URL.ov skills updateandov skills removealways ask for confirmation, and so doesov skills addwhen the source resolves to more than one skill. Without a terminal the command fails withrequires confirmation. Pass --yes to skip the prompt.; confirm with the user in the conversation, then rerun with--yes.ov skills remove --allis destructive; confirm with the user before executing.ov skills updatereplaces skill content in-place; the old version is not retained.
Output
- CLI output returned directly to the user: tables by default, JSON with
-o json(showalso accepts--format json). - Errors surfaced with suggested fixes.
Verification
- After
add,listshould include the new skill. Processing may continue in the background unless--waitwas passed; check it withov task status <task_id>. - After
remove,listshould no longer include the removed skill. - After
update,show <name> --level 2should show the fresh SKILL.md, andshow <name> --sourcethe recorded source.
Boundaries
- Do not invent skill names or URLs. Use what the user provides.
- Do not execute
ov skills remove --allwithout explicit user confirmation. - Do not run
ov skills removewithout skill names from an agent shell: it opens an interactive picker that needs a terminal. - Remove skills with
ov skills remove, notov rm: onlyov skills removealso deletes the skill's privacy configuration.
Runtime Resources
docs/upgrade-guide.md— moving from generic filesystem commands toov skills.examples/commands.md— common command patterns by scenario.docs/source-types.md— deep dive on supported source formats and URL patterns.