● コミュニティ
Geeksfino
⚡ 即起動
openskills
作者 Geeksfino · Geeksfino/openskills
TS/Pythonバインディング付きのRustランタイムでエージェントスキルを実現 — 段階的開示、サンドボックス、Claude以外への移植性を提供します。
openskillsは単一のスキルではなくインフラです。SKILL.mdバンドル(メタデータ、本文、スクリプト/リソースの順)を読み込むRustランタイムであり、TSまたはPythonバインディングを通じて任意のエージェントに公開します。サンドボックス機能(macOSではSeatbelt、実験的なWASM)により、スキルスクリプトが意図せず外部へ逸脱することを防ぎます。独自のエージェントを構築する場合や、スキルのクロスエージェント移植性が必要な場合にご利用ください。
なぜ使うのか
主な機能
- Rustランタイム — 高速で予測可能
- 任意のエージェントに組み込めるTSおよびPythonバインディング
- 段階的開示:メタデータ → 本文 → 必要時のみスクリプト
- Seatbelt(macOS)および実験的WASMによるサンドボックス
- クロスエージェント:Claude Codeに依存しない
ライブデモ
実際の動作
openskills-skill.replay
▶ 準備完了
ユースケース
実用的な使い方: openskills
使うタイミング: エージェントをゼロから開発しており、SKILL.mdを理解するスキルシステムが必要な場合。
フロー
-
バインディングのインストール
openskillsのPythonまたはTSバインディングをインストールし、スキルディレクトリを指定してください。✓ コピーしました
→ ランタイムがロードされ、スキルが列挙される
-
エージェントへの公開
ランタイムをエージェントのプランナーに組み込み、各ステップでスキルを考慮するようにしてください。✓ コピーしました
→ エージェントにSkillRegistry抽象化が追加される
-
サンドボックス内で実行
macOSでスキルスクリプトのSeatbeltサンドボックスを有効にしてください。✓ コピーしました
→ スキルスクリプトがサンドボックスプロファイル下で実行される
結果: カスタムエージェントがClaude Codeと同様にSKILL.mdバンドルを読み込んで実行できるようになります。
注意点
- 起動時にすべてのスクリプトを読み込むとメモリを圧迫する — 段階的開示を活用し、まずメタデータのみ読み込む
- サンドボックスが正当な操作を拒否する — サンドボックスプロファイルを監査し、全拒否ではなく狭めてから必要に応じて緩和する
使うタイミング: Claude Code固有のハーネスなしでスキルが動作することを確認したい場合。
フロー
-
プロンプトでの呼び出し
サンプルタスクを入力し、何が読み込まれるか確認してください。✓ コピーしました
→ 開示トレース:エージェントが参照する内容
結果: スキルが移植可能に動作するという確信が得られます。
注意点
- スキルがClaude Code内部に依存している — 公開されたSKILL.mdインターフェースのみに依存するようスキルをリファクタリングする
組み合わせ
他のMCPと組み合わせて10倍の力を
最適化前にスキルの移植性を検証する
openskillsでスキルを読み込み、skill-optimizerにパッチ提案を依頼してください。✓ コピーしました
スキルディレクトリを直接操作する
~/.claude/skills/内のすべてのSKILL.mdを一覧表示し、それぞれを要約してください。✓ コピーしました
コストと制限
運用コスト
- APIクォータ
- なし
- 呼び出しあたりのトークン
- ランタイムはプロンプト軽量。開示する内容を制御可能
- 金額
- 無料、オープンソース
- ヒント
- 段階的開示を有効のままにしてください — すべてのスクリプトを一括読み込みするとコンテキストが膨大になります
セキュリティ
権限、シークレット、影響範囲
認証情報の保管: ランタイムレベルでの認証情報保存なし
データ送信先: スクリプト自体の動作以外のデータ送信なし
- WASMサンドボックスは実験段階です — 悪意あるスクリプトに対する防御として依存しないでください
- Seatbeltプロファイルはユースケースに応じて厳格化してください
トラブルシューティング
よくあるエラーと対処法
Binding import fails(バインディングのインポート失敗)
ネイティブバイナリがプラットフォームに一致していることを確認し、必要に応じてソースからリビルドしてください。
Sandbox blocks expected syscalls(サンドボックスが想定されるシステムコールをブロック)
Seatbeltプロファイルを繰り返し調整し、拒否ログから適切な許可リストを特定してください。
代替案
openskills 他との比較
| 代替案 | 代わりに使う場面 | トレードオフ |
| Claude Code native skill loader | Claude Code内でのみ実行する場合 | クロスエージェント移植性なし |