원클릭으로
skills-compat
Ensures OpenClaw skills.md format works with both nanobot and overstory. Loads skills, registers tools, maps between systems.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Ensures OpenClaw skills.md format works with both nanobot and overstory. Loads skills, registers tools, maps between systems.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Seamless bidirectional bridge between nanobot (Ollama Mistral orchestrator) and overstory (Claude Code agent swarm). Routes tasks through the OverClaw gateway (port 18800) to overstory for subagent coordination, syncs memory.
Integrates OpenClaw with the FunClip AI video editor to enable AI-powered video recognition and clipping via command line.
IMPORTANT: OpenRouter is required. Routes tasks to the right model and always delegates work through sessions_spawn. Rejects prompt-injection patterns in task strings (v1.7.6+).
Automatically create clips and videos from media files in a specified folder. Uses Agent Swarm for intelligent task delegation and supports cron-based scheduling.
Analyzes journal entries and chat history to identify high-value topics and automatically generate blog posts.
Extracts and analyzes Cursor IDE chat history to identify key discoveries, obstacles, and solutions, saving findings to the journal.
| name | skills-compat |
| displayName | Skills Compatibility Layer |
| description | Ensures OpenClaw skills.md format works with both nanobot and overstory. Loads skills, registers tools, maps between systems. |
| version | 1.0.0 |
Ensures the OpenClaw SKILL.md format works seamlessly across nanobot, overstory, and Ollama. Discovers and loads skills, parses frontmatter, builds a unified tool registry, and exports tool definitions in each system's native format.
┌─────────────────┐ ┌───────────────┐
│ skill_loader.py │─────▶│ SkillLoader │──▶ Parses SKILL.md + _meta.json
└─────────────────┘ └───────────────┘
│
▼
┌─────────────────┐ ┌───────────────┐
│ tool_registry.py │─────▶│ ToolRegistry │──▶ Unified tool catalog
└─────────────────┘ └───────────────┘
│
┌───────────┼───────────┐
▼ ▼ ▼
nanobot overstory Ollama
format format format
_meta.json, returns structured SkillDefinition objects.json, sqlite3, pathlib, re for YAML-subset parsing)python3 scripts/skill_loader.py discover --dir /path/to/skills --json
python3 scripts/skill_loader.py load --skill /path/to/skills/agent-swarm --json
python3 scripts/tool_registry.py list --json
python3 scripts/tool_registry.py list --capability code --json
python3 scripts/tool_registry.py export --format nanobot
python3 scripts/tool_registry.py export --format overstory
python3 scripts/tool_registry.py export --format ollama
python3 scripts/tool_registry.py register --skill agent-swarm --dir /path/to/skills
from skill_loader import SkillLoader
from tool_registry import ToolRegistry
loader = SkillLoader()
loader.load_all("/path/to/skills")
skill = loader.get_skill("agent-swarm")
print(skill.name, skill.version, skill.tools)
registry = ToolRegistry.instance()
registry.register_skill_tools("agent-swarm", "/path/to/skills")
for tool in registry.list_tools():
print(tool["name"], tool["skill"])
nanobot_tools = registry.export_for_nanobot()
overstory_tools = registry.export_for_overstory()
ollama_tools = registry.export_for_ollama()
Skills are discovered by looking for directories containing a SKILL.md file. The frontmatter block (between --- delimiters) is parsed as key-value pairs:
---
name: my-skill
displayName: My Skill
description: What this skill does
version: 1.0.0
---
If a _meta.json file exists alongside SKILL.md, tool names and additional metadata are extracted from it.
[{"name": "tool_name", "skill": "skill-name", "description": "...", "parameters": {...}}]
[{"tool": "tool_name", "source_skill": "skill-name", "description": "...", "input_schema": {...}}]
[{"type": "function", "function": {"name": "tool_name", "description": "...", "parameters": {...}}}]