一键导入
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": {...}}}]