$npx -y skills add volcengine/OpenViking --skill ov-skillsLoad when an agent needs to manage, install, update, remove, or validate OpenViking skills via the ov skills CLI. Trigger on explicit user requests about skill management, when the user mentions ov skills, install skill, update skill, delete skill, validate skill, or
| 1 | # OpenViking (OV) Skills Management |
| 2 | |
| 3 | 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. |
| 4 | |
| 5 | ## Goal |
| 6 | |
| 7 | Guide an agent to correctly invoke `ov skills` subcommands for skill lifecycle operations without guessing flags, source types, or update semantics. |
| 8 | |
| 9 | ## Load When |
| 10 | |
| 11 | - User explicitly requests skill management: `ov skills ...`, `install skill`, `update skill`, `delete skill`, `remove skill`. |
| 12 | - User asks to validate a SKILL.md or skill directory. |
| 13 | - User asks to find or search installed skills. |
| 14 | - User asks to inspect a skill's content, files, or source. |
| 15 | - Agent needs to discover available skills before selecting one. |
| 16 | |
| 17 | ## Inputs |
| 18 | |
| 19 | | Name | Required | Description | |
| 20 | |---|---|---| |
| 21 | | `subcommand` | yes | One of `list`, `find`, `add`, `show`, `update`, `remove`, `validate` | |
| 22 | | `target` | conditional | Skill name, query string, source path/URL, or directory path | |
| 23 | | `level` | no | Content level for `show`/`find`: `0` (abstract), `1` (overview), `2` (full) | |
| 24 | |
| 25 | ## Workflow |
| 26 | |
| 27 | 1. Identify the user's intent and map to the correct `ov skills <subcommand>`. |
| 28 | 2. Determine the source type for `add` (local dir, local file, Git URL, GitHub tree URL, raw content). |
| 29 | 3. Construct the command with appropriate flags. |
| 30 | 4. Execute and report results. |
| 31 | |
| 32 | ## Permissions |
| 33 | |
| 34 | - `ov skills add` may download and install external code; verify the source when the user provides an untrusted URL. |
| 35 | - `ov skills remove --all` is destructive; confirm with the user before executing. |
| 36 | - `ov skills update` replaces skill content in-place; the old version is not retained. |
| 37 | |
| 38 | ## Output |
| 39 | |
| 40 | - CLI output returned directly to the user. |
| 41 | - Errors surfaced with suggested fixes. |
| 42 | |
| 43 | ## Verification |
| 44 | |
| 45 | - After `add`, `list` should include the new skill. |
| 46 | - After `remove`, `list` should no longer include the removed skill. |
| 47 | - After `update`, `show <name> --source` should reflect fresh content. |
| 48 | |
| 49 | ## Boundaries |
| 50 | |
| 51 | - Do not invent skill names or URLs. Use what the user provides. |
| 52 | - Do not execute `ov skills remove --all` without explicit user confirmation. |
| 53 | - Do not treat `ov add-skill` (legacy resource command) as equivalent to `ov skills add`. |
| 54 | |
| 55 | ## Runtime Resources |
| 56 | |
| 57 | - `docs/upgrade-guide.md` — migrating from legacy `ov add-skill` / resource commands. |
| 58 | - `examples/commands.md` — common command patterns by scenario. |
| 59 | - `docs/source-types.md` — deep dive on supported source formats and URL patterns. |