skills-compat

Ensures OpenClaw skills.md format works with both nanobot and overstory. Loads skills, registers tools, maps between systems.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "skills-compat" with this command: npx skills add austindixson/skills-compat

Skills Compatibility Layer

Description

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.

Architecture

┌─────────────────┐      ┌───────────────┐
│  skill_loader.py │─────▶│ SkillLoader   │──▶ Parses SKILL.md + _meta.json
└─────────────────┘      └───────────────┘
         │
         ▼
┌─────────────────┐      ┌───────────────┐
│ tool_registry.py │─────▶│ ToolRegistry  │──▶ Unified tool catalog
└─────────────────┘      └───────────────┘
                                │
                    ┌───────────┼───────────┐
                    ▼           ▼           ▼
               nanobot      overstory     Ollama
               format       format       format
  • skill_loader.py — Discovers skills directories, parses YAML frontmatter from SKILL.md files, extracts tool definitions from _meta.json, returns structured SkillDefinition objects.
  • tool_registry.py — Singleton tool registry. Registers tools from skills, MCP servers, or manual definitions. Exports the full catalog in nanobot, overstory, or Ollama JSON-schema format.

Requirements

  • Python 3.9+
  • No external dependencies (stdlib only — uses json, sqlite3, pathlib, re for YAML-subset parsing)

Commands

Discover skills

python3 scripts/skill_loader.py discover --dir /path/to/skills --json

Load a single skill

python3 scripts/skill_loader.py load --skill /path/to/skills/agent-swarm --json

List registered tools

python3 scripts/tool_registry.py list --json
python3 scripts/tool_registry.py list --capability code --json

Export tool definitions

python3 scripts/tool_registry.py export --format nanobot
python3 scripts/tool_registry.py export --format overstory
python3 scripts/tool_registry.py export --format ollama

Register tools from a skill

python3 scripts/tool_registry.py register --skill agent-swarm --dir /path/to/skills

Usage as Python Module

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()

Skill Definition Format

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.

Export Formats

nanobot

[{"name": "tool_name", "skill": "skill-name", "description": "...", "parameters": {...}}]

overstory

[{"tool": "tool_name", "source_skill": "skill-name", "description": "...", "input_schema": {...}}]

Ollama

[{"type": "function", "function": {"name": "tool_name", "description": "...", "parameters": {...}}}]

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

躺平.skill

躺平 skill。仅在用户明确加载或调用“躺平.skill”“tangping-skill”,或要求 agent 进入拒绝工作、输出躺平语录、嘲讽生产力话术的模式时使用。

Registry SourceRecently Updated
Automation

Wati

WATI integration. Manage data, records, and automate workflows. Use when the user wants to interact with WATI data.

Registry SourceRecently Updated
Automation

Venly

Venly integration. Manage data, records, and automate workflows. Use when the user wants to interact with Venly data.

Registry SourceRecently Updated
Automation

Sage People

Sage People integration. Manage data, records, and automate workflows. Use when the user wants to interact with Sage People data.

Registry SourceRecently Updated