/ Directory / Playground / openskills
● Community Geeksfino ⚡ Instant

openskills

by Geeksfino · Geeksfino/openskills

Rust runtime with TS/Python bindings for Agent Skills — progressive disclosure, sandboxing, and portability beyond Claude.

openskills is infrastructure, not a single skill: a Rust runtime that loads SKILL.md bundles (metadata first, then body, then scripts/resources) and exposes them to any agent via TS or Python bindings. It adds sandboxing (Seatbelt on macOS, experimental WASM) so skill scripts can't quietly escape. Use it if you're building your own agent or want cross-agent portability for skills.

Why use it

Key features

Live Demo

What it looks like in practice

openskills-skill.replay ▶ ready
0/0

Install

Pick your client

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "openskills-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/Geeksfino/openskills",
        "~/.claude/skills/openskills"
      ],
      "_inferred": true
    }
  }
}

Open Claude Desktop → Settings → Developer → Edit Config. Restart after saving.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "openskills-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/Geeksfino/openskills",
        "~/.claude/skills/openskills"
      ],
      "_inferred": true
    }
  }
}

Cursor uses the same mcpServers schema as Claude Desktop. Project config wins over global.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "openskills-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/Geeksfino/openskills",
        "~/.claude/skills/openskills"
      ],
      "_inferred": true
    }
  }
}

Click the MCP Servers icon in the Cline sidebar, then "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "openskills-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/Geeksfino/openskills",
        "~/.claude/skills/openskills"
      ],
      "_inferred": true
    }
  }
}

Same shape as Claude Desktop. Restart Windsurf to pick up changes.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "openskills-skill",
      "command": "git",
      "args": [
        "clone",
        "https://github.com/Geeksfino/openskills",
        "~/.claude/skills/openskills"
      ]
    }
  ]
}

Continue uses an array of server objects rather than a map.

~/.config/zed/settings.json
{
  "context_servers": {
    "openskills-skill": {
      "command": {
        "path": "git",
        "args": [
          "clone",
          "https://github.com/Geeksfino/openskills",
          "~/.claude/skills/openskills"
        ]
      }
    }
  }
}

Add to context_servers. Zed hot-reloads on save.

claude mcp add openskills-skill -- git clone https://github.com/Geeksfino/openskills ~/.claude/skills/openskills

One-liner. Verify with claude mcp list. Remove with claude mcp remove.

Use Cases

Real-world ways to use openskills

How to embed Agent Skills into your own agent runtime

👤 Engineers building custom LLM agents ⏱ ~120 min advanced

When to use: You're writing an agent from scratch and want a skill system that already understands SKILL.md.

Prerequisites
  • Rust toolchain (for building) or prebuilt binding — rustup install stable; or use the TS/Python binding
  • Repo cloned — git clone https://github.com/Geeksfino/openskills ~/.claude/skills/openskills
Flow
  1. Install the binding
    Install the openskills Python or TS binding and point it at my skills directory.✓ Copied
    → Runtime loaded; skills enumerated
  2. Expose to your agent
    Wire the runtime into my agent's planner so it considers skills at each step.✓ Copied
    → Agent has a SkillRegistry abstraction
  3. Run sandboxed
    Enable Seatbelt sandboxing for skill scripts on macOS.✓ Copied
    → Skill scripts run under sandbox profile

Outcome: Your custom agent can load and run SKILL.md bundles like Claude Code does.

Pitfalls
  • Loading all scripts at startup kills memory — Rely on progressive disclosure — metadata first
  • Sandbox denies legitimate operations — Audit the sandbox profile; narrow-then-widen rather than default-deny everything
Combine with: filesystem

Run a skill in isolation to test it outside Claude Code

👤 Skill authors who want cross-agent validation ⏱ ~45 min intermediate

When to use: You want to prove your skill works without the specific harness of Claude Code.

Flow
  1. Load the skill
    Load ~/.claude/skills/my-skill/ with openskills and print its metadata.✓ Copied
    → Parsed frontmatter + body
  2. Invoke with a prompt
    Feed it a sample task and observe what would get loaded.✓ Copied
    → Disclosure trace: what the agent would see

Outcome: Confidence your skill behaves portably.

Pitfalls
  • Skill depends on Claude Code internals — Refactor the skill to rely only on the public SKILL.md interface

Combinations

Pair with other MCPs for X10 leverage

openskills-skill + skill-optimizer-skill

Validate skills portably before optimizing them

Load the skill with openskills, then hand off to skill-optimizer for patch suggestions.✓ Copied
openskills-skill + filesystem

Operate on the skills directory directly

List all SKILL.md in ~/.claude/skills/, summarize each.✓ Copied

Tools

What this MCP exposes

ToolInputsWhen to callCost
skill-loader skills dir Agent startup minimal
progressive-disclosure skill id + stage During agent reasoning minimal
sandbox-runner script + policy Any time a skill spawns a subprocess script runtime

Cost & Limits

What this costs to run

API quota
none
Tokens per call
runtime is prompt-light; you control what's disclosed
Monetary
free, open source
Tip
Keep progressive disclosure on — loading every script upfront blows context

Security

Permissions, secrets, blast radius

Credential storage: none at runtime level
Data egress: none beyond what scripts themselves do

Troubleshooting

Common errors and fixes

Binding import fails

Ensure the native binary matches your platform; rebuild from source if needed.

Sandbox blocks expected syscalls

Iterate on the Seatbelt profile; log denials to find the right allow list.

Alternatives

openskills vs others

AlternativeWhen to use it insteadTradeoff
Claude Code native skill loaderYou're only running inside Claude CodeNo cross-agent portability

More

Resources

📖 Read the official README on GitHub

🐙 Browse open issues

🔍 Browse all 400+ MCP servers and Skills