/ 目录 / 演练场 / openskills
● 社区 Geeksfino ⚡ 即开即用

openskills

作者 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.

为什么要用

核心特性

实时演示

实际使用效果

openskills-skill.replay ▶ 就绪
0/0

安装

选择你的客户端

~/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
    }
  }
}

打开 Claude Desktop → Settings → Developer → Edit Config。保存后重启应用。

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

Cursor 使用与 Claude Desktop 相同的 mcpServers 格式。项目级配置优先于全局。

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

点击 Cline 侧栏中的 MCP Servers 图标,然后选 "Edit Configuration"。

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

格式与 Claude Desktop 相同。重启 Windsurf 生效。

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

Continue 使用服务器对象数组,而非映射。

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

加入 context_servers。Zed 保存后热重载。

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

一行命令搞定。用 claude mcp list 验证,claude mcp remove 卸载。

使用场景

实战用法: openskills

How to embed Agent Skills into your own agent runtime

👤 Engineers building custom LLM agents ⏱ ~120 min advanced

何时使用: You're writing an agent from scratch and want a skill system that already understands SKILL.md.

前置条件
  • 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
步骤
  1. Install the binding
    Install the openskills Python or TS binding and point it at my skills directory.✓ 已复制
    → Runtime loaded; skills enumerated
  2. Expose to your agent
    Wire the runtime into my agent's planner so it considers skills at each step.✓ 已复制
    → Agent has a SkillRegistry abstraction
  3. Run sandboxed
    Enable Seatbelt sandboxing for skill scripts on macOS.✓ 已复制
    → Skill scripts run under sandbox profile

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

注意事项
  • 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
搭配使用: filesystem

Run a skill in isolation to test it outside Claude Code

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

何时使用: You want to prove your skill works without the specific harness of Claude Code.

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

结果: Confidence your skill behaves portably.

注意事项
  • Skill depends on Claude Code internals — Refactor the skill to rely only on the public SKILL.md interface

组合

与其他 MCP 搭配,撬动十倍杠杆

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.✓ 已复制
openskills-skill + filesystem

Operate on the skills directory directly

List all SKILL.md in ~/.claude/skills/, summarize each.✓ 已复制

工具

此 MCP 暴露的能力

工具输入参数何时调用成本
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

成本与限制

运行它的成本

API 配额
none
每次调用 Token 数
runtime is prompt-light; you control what's disclosed
费用
free, open source
提示
Keep progressive disclosure on — loading every script upfront blows context

安全

权限、密钥、影响范围

凭据存储: none at runtime level
数据出站: none beyond what scripts themselves do

故障排查

常见错误与修复

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.

替代方案

openskills 对比其他方案

替代方案何时用它替代权衡
Claude Code native skill loaderYou're only running inside Claude CodeNo cross-agent portability

更多

资源

📖 阅读 GitHub 上的官方 README

🐙 查看未解决的 issue

🔍 浏览全部 400+ MCP 服务器和 Skills