Overview
Add skills to OpenViking to extend agent capabilities. Skills can be provided as directories, files, strings, or structured data.Skills are different from resources. Skills define agent capabilities (tools, actions, workflows), while resources contain knowledge (documents, code, media).
Method Signature
Parameters
Skill data in one of the following formats:
- Directory path: Path to a directory containing skill definition
- File path: Path to a skill file (Python, JSON, YAML)
- String: Skill definition as a string
- Dictionary: Structured skill data
Wait for vectorization and processing to complete before returning
Timeout in seconds when
wait=TrueResponse
Either “success” or “error”
Viking URI where the skill was stored (e.g.,
viking://skills/my-skill/)List of errors encountered during processing (if any)
Queue processing status (only present when
wait=True)Examples
Add Skill from Directory
Add Skill from File
Add Skill from Dictionary
Add Multiple Skills
Response Example
Skill Structure
A typical skill directory structure:skill.yaml Example
Processing
When you add a skill:- Validation: Skill structure and syntax are validated
- Storage: Skill is stored in
viking://skills/scope - Indexing: Skill documentation is indexed for semantic search
- Registration: Skill becomes available to agents
Use
wait=True to ensure the skill is fully processed before agents try to use it.Related Methods
- wait_processed - Wait for async processing
- add_resource - Add resources instead of skills
- ls - List added skills at
viking://skills/
