/ ディレクトリ / プレイグラウンド / openskills
● コミュニティ Geeksfino ⚡ 即起動

openskills

作者 Geeksfino · Geeksfino/openskills

TS/Pythonバインディング付きのRustランタイムでエージェントスキルを実現 — 段階的開示、サンドボックス、Claude以外への移植性を提供します。

openskillsは単一のスキルではなくインフラです。SKILL.mdバンドル(メタデータ、本文、スクリプト/リソースの順)を読み込むRustランタイムであり、TSまたはPythonバインディングを通じて任意のエージェントに公開します。サンドボックス機能(macOSではSeatbelt、実験的なWASM)により、スキルスクリプトが意図せず外部へ逸脱することを防ぎます。独自のエージェントを構築する場合や、スキルのクロスエージェント移植性が必要な場合にご利用ください。

なぜ使うのか

主な機能

ライブデモ

実際の動作

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

独自のエージェントランタイムにエージェントスキルを組み込む方法

👤 カスタムLLMエージェントを構築するエンジニア ⏱ ~120 min advanced

使うタイミング: エージェントをゼロから開発しており、SKILL.mdを理解するスキルシステムが必要な場合。

前提条件
  • Rustツールチェーン(ビルド用)またはビルド済みバインディング — rustup install stable; またはTS/Pythonバインディングを使用
  • リポジトリのクローン — git clone https://github.com/Geeksfino/openskills ~/.claude/skills/openskills
フロー
  1. バインディングのインストール
    openskillsのPythonまたはTSバインディングをインストールし、スキルディレクトリを指定してください。✓ コピーしました
    → ランタイムがロードされ、スキルが列挙される
  2. エージェントへの公開
    ランタイムをエージェントのプランナーに組み込み、各ステップでスキルを考慮するようにしてください。✓ コピーしました
    → エージェントにSkillRegistry抽象化が追加される
  3. サンドボックス内で実行
    macOSでスキルスクリプトのSeatbeltサンドボックスを有効にしてください。✓ コピーしました
    → スキルスクリプトがサンドボックスプロファイル下で実行される

結果: カスタムエージェントがClaude Codeと同様にSKILL.mdバンドルを読み込んで実行できるようになります。

注意点
  • 起動時にすべてのスクリプトを読み込むとメモリを圧迫する — 段階的開示を活用し、まずメタデータのみ読み込む
  • サンドボックスが正当な操作を拒否する — サンドボックスプロファイルを監査し、全拒否ではなく狭めてから必要に応じて緩和する
組み合わせ: filesystem

Claude Code外でスキルを単独実行してテストする

👤 クロスエージェント検証を行いたいスキル作成者 ⏱ ~45 min intermediate

使うタイミング: Claude Code固有のハーネスなしでスキルが動作することを確認したい場合。

フロー
  1. スキルの読み込み
    openskillsで~/.claude/skills/my-skill/を読み込み、メタデータを表示してください。✓ コピーしました
    → フロントマターと本文がパースされる
  2. プロンプトでの呼び出し
    サンプルタスクを入力し、何が読み込まれるか確認してください。✓ コピーしました
    → 開示トレース:エージェントが参照する内容

結果: スキルが移植可能に動作するという確信が得られます。

注意点
  • スキルがClaude Code内部に依存している — 公開されたSKILL.mdインターフェースのみに依存するようスキルをリファクタリングする

組み合わせ

他のMCPと組み合わせて10倍の力を

openskills-skill + skill-optimizer-skill

最適化前にスキルの移植性を検証する

openskillsでスキルを読み込み、skill-optimizerにパッチ提案を依頼してください。✓ コピーしました
openskills-skill + filesystem

スキルディレクトリを直接操作する

~/.claude/skills/内のすべてのSKILL.mdを一覧表示し、それぞれを要約してください。✓ コピーしました

ツール

このMCPが提供する機能

ツール入力呼び出すタイミングコスト
skill-loader skills dir エージェント起動時 minimal
progressive-disclosure skill id + stage エージェントの推論中 minimal
sandbox-runner script + policy スキルがサブプロセスを生成する際 script runtime

コストと制限

運用コスト

APIクォータ
なし
呼び出しあたりのトークン
ランタイムはプロンプト軽量。開示する内容を制御可能
金額
無料、オープンソース
ヒント
段階的開示を有効のままにしてください — すべてのスクリプトを一括読み込みするとコンテキストが膨大になります

セキュリティ

権限、シークレット、影響範囲

認証情報の保管: ランタイムレベルでの認証情報保存なし
データ送信先: スクリプト自体の動作以外のデータ送信なし

トラブルシューティング

よくあるエラーと対処法

Binding import fails(バインディングのインポート失敗)

ネイティブバイナリがプラットフォームに一致していることを確認し、必要に応じてソースからリビルドしてください。

Sandbox blocks expected syscalls(サンドボックスが想定されるシステムコールをブロック)

Seatbeltプロファイルを繰り返し調整し、拒否ログから適切な許可リストを特定してください。

代替案

openskills 他との比較

代替案代わりに使う場面トレードオフ
Claude Code native skill loaderClaude Code内でのみ実行する場合クロスエージェント移植性なし

その他

リソース

📖 GitHub の公式 README を読む

🐙 オープンな issue を見る

🔍 400以上のMCPサーバーとSkillsを見る