OmniAgent needs to support loading and executing skills compatible with OpenClaw/ClawHub to enable extensible AI agent capabilities without skill fragmentation across the ecosystem.
Currently, OmniAgent has:
- A static tool registration system
- No dynamic skill/plugin loading
- No way to leverage the growing ClawHub skill ecosystem
Users want to:
- Install skills from ClawHub (
bunx clawhub install sonoscli) - Use the same skills across OpenClaw, NanoClaw, IronClaw, and OmniAgent
- Avoid maintaining separate skill versions for each platform
- Full ClawHub Compatibility: Load and use ClawHub skills without modification
- Security: Execute skill code in sandboxed environments (Deno for TypeScript/shell, WASM for tools)
- Minimal Overhead: Markdown-only skills should load with zero runtime cost
- Incremental Adoption: Users can start with simple skills and adopt hooks/scripts later
- Creating a competing skill format
- Building a skill marketplace (use ClawHub)
- Docker-based sandboxing (use Deno + WASM instead)
As a user, I want to install a ClawHub skill and have OmniAgent automatically include its instructions in my agent's context.
Acceptance Criteria:
- Skills are discovered from
~/.omniagent/skills/and./skills/ - SKILL.md files are parsed (YAML frontmatter + Markdown body)
- Skill content is injected into the LLM system prompt
- Requirements (bins, env vars) are checked before loading
As a user, I want to use skills like sonoscli or github that teach my agent how to use CLI tools.
Acceptance Criteria:
- Skill requirements are validated (e.g.,
ghbinary exists) - Missing requirements show clear error messages with install instructions
- Agent can execute CLI commands via the shell tool
As a user, I want skills with hooks (like self-improving-agent) to execute their TypeScript/shell hooks.
Acceptance Criteria:
- TypeScript hooks run via Deno with restricted permissions
- Shell hooks run via Deno with
--allow-runrestrictions - OpenClaw hook API is compatible via import map
As a user, I want tool execution to be sandboxed for security.
Acceptance Criteria:
- Built-in tools run in WASM sandbox (wazero)
- Capability-based permissions for file/network access
- Memory and CPU limits enforced
- Parse SKILL.md format
- Discover skills from configured directories
- Check requirements (bins, env)
- Inject into LLM system prompt
- CLI command:
omniagent skills list,omniagent skills info <name>
- Run TypeScript hooks via Deno
- Run shell hooks via Deno
- OpenClaw hook API compatibility layer
- Permission restrictions per skill
- WASM runtime via wazero
- Capability-based permissions
- Built-in tools (file, http) in WASM
- Memory/CPU limits
| Skill | Type | Requirements | Source |
|---|---|---|---|
sonoscli |
CLI | sonos binary |
OpenClaw bundled |
github |
CLI | gh binary |
OpenClaw bundled |
weather |
CLI | weather binary |
OpenClaw bundled |
slack |
CLI | None (API-based) | OpenClaw bundled |
| Skill | Type | Requirements | Source |
|---|---|---|---|
self-improving-agent |
Hooks + Scripts | None | ClawHub |
- 100% of ClawHub Markdown-only skills load without modification
- <100ms skill loading time for 50 skills
- Zero security incidents from sandboxed execution
- Deno runtime (for Phase 2)
- wazero library (for Phase 3)
| Phase | Description | Target |
|---|---|---|
| 1 | Skill Loader | v0.3.0 |
| 2 | Hook Runner | v0.4.0 |
| 3 | Tool Sandbox | v0.5.0 |