mcpField
S
Skillsmith

Skillsmith

ローカル
skillsmith.appAI・エージェント78今日更新

Skillsmith について

Skillsmithは、チームでエージェントスキルを共有、スキャン、追跡するレジストリです。不変バージョン、セキュリティ隔離、非推奨化により、導入先の差異やレビュー・保守が必要なスキルを管理できます。

主な機能

  1. 01チーム単位のスキルレジストリ
  2. 02不変のスキルバージョン
  3. 03インストール済みバージョンの差異確認
  4. 04セキュリティスキャンと隔離
  5. 05スキルの非推奨化とライフサイクル管理

活用シーン

  1. 01チーム内でスキルを共有
  2. 02インストール済みスキルの更新状況を確認
  3. 03レビュー対象としてフラグされたスキルを隔離
  4. 04保守されなくなったスキルを廃止

MCP 対応

MCPサーバーは、エージェントスキルの検索、詳細確認、インストール、検証、公開、管理ツールを提供します。チーム管理やセキュリティ機能は利用プランによって異なります。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"smith-horn-skillsmith": {
"command": "npx",
"args": [
"-y",
"@skillsmith/mcp-server"
]
}
}
}
起動コマンドnpx -y @skillsmith/mcp-server

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@skillsmith/mcp-server0.8.0

ツール

43

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
limitnumberいいえ返す結果の最大数(デフォルトは 10)。範囲外の値は拒否されず、有効範囲内に補正されます。
querystringいいえ検索クエリ — 意味的なマッチングではなく、文字列/語彙で一致します。最適な結果を得るには、複数の概念を含む語句ではなく、短い単一トピックの語(例:'testing')を使用してください
categoryenumいいえスキルカテゴリで絞り込みますdevelopment | testing | documentation | devops | database | security | productivity | integration | ai-ml | other
max_risknumberいいえ最大リスクスコア(0~100、数値が低いほど安全)
min_scorenumberいいえ最低品質スコア(0-100)
safe_onlybooleanいいえセキュリティスキャンに合格したスキルのみを表示します
trust_tierenumいいえ信頼レベルで絞り込みます(verified、curated、community、experimental、unknown)verified | curated | community | experimental | unknown
compatible_withobjectいいえIDE および/または LLM との互換性に基づいて順位付けします(優先度は下げますが、除外はしません)
compatible_with.idesarrayいいえIDE のスラッグ(例:["cursor", "claude-code"])
compatible_with.llmsarrayいいえLLM のスラッグ(例:["claude", "gpt-4o"])
installable_onlybooleanいいえtrue の場合(デフォルト)、インストール可能なスキルのみを返します。install_skill で解決できない発見専用のレジストリ項目は除外されます。false を渡すと、発見専用の項目も含めます。

詳細

Skillsmith

共有スキルを、本番環境でも安全に。

複数のチームがエージェントスキルを公開するようになると、問題はスキルを見つけることから、管理することへと変わります。これはどのチームを対象にしていますか? どのバージョンがどこにインストールされていますか? セキュリティスキャンでフラグが付けられていますか? 誰も保守しなくなったスキルはどうなりますか?

Skillsmith は、チーム間でエージェントスキルを共有、スキャン、追跡するためのレジストリです。スキルはチームごとのレジストリに公開され、変更されないバージョンで管理されるため、インストール間の差異を気付かないままにせず、確認できます。フラグが付けられたスキルや疑わしいスキルは、セキュリティレビューが行われるまで隔離されます。古くなったスキルは、誰かのリポジトリでひっそりと放置されるのではなく、非推奨にできます。

インストール

クイックセットアップ(MCP)

Skillsmith は MCP 互換です。エージェントに合ったスニペットを選んでください。 SMI-4580: スニペットは packages/cli/src/templates/mcp-server.template.snippets.ts から取得しているため、この README とウェブサイトのドキュメントに差異が生じることはありません。

Claude Code — ~/.claude/settings.json
{
  "mcpServers": {
    "@skillsmith/mcp-server": {
      "command": "npx",
      "args": ["-y", "@skillsmith/mcp-server"],
      "env": {
        "SKILLSMITH_API_KEY": "sk_live_..."
      }
    }
  }
}

設定を編集した後、Claude Code を再起動してください。

Cursor — ~/.cursor/mcp.json
{
  "mcpServers": {
    "@skillsmith/mcp-server": {
      "command": "<paste output of: which skillsmith-mcp (macOS/Linux) or where skillsmith-mcp (Windows)>",
      "env": {
        "SKILLSMITH_API_KEY": "sk_live_...",
        "SKILLSMITH_CLIENT": "cursor"
      }
    }
  }
}

Cursor 2.4 以降が必要です。Node >=22.22 が必要です(Cursor にバンドルされている Node で要件を満たします)。SKILLSMITH_CLIENT を設定すると、インストール先がデフォルトの ~/.claude/skills ではなく ~/.cursor/skills になります。

セットアップ: npm install -g @skillsmith/mcp-server を実行し、続いて which skillsmith-mcp(macOS/Linux)または where skillsmith-mcp(Windows)を実行して、そのパスを上記の command に貼り付けます。Cursor にバンドルされている Node では npx 経由でパッケージを解決できないためです(Resources/app/resources/lib ディレクトリが存在しない場合、実際に ENOENT が発生します)。そのため、Cursor 内で動作することが確認されているのは、インストール済みバイナリを直接指定する方法だけです。それでもまず npx を試したい場合は、command を "npx" に置き換え、"args": ["-y", "@skillsmith/mcp-server"] を追加してください。より簡単ですが、同じ ENOENT に加え、インストールを繰り返すと EBADENGINE や ENOTEMPTY が発生する可能性があります。保存後、Cursor の「Settings → MCP」パネルでサーバーを有効にして、新しいチャットを開始してください。正しく設定されていても、そこで切り替えて有効にするまでは、エントリは未接続と表示されます。その後、ウィンドウを再読み込みしてください。

GitHub Copilot (VS Code) — .vscode/mcp.json(ワークスペース)
{
  "mcpServers": {
    "@skillsmith/mcp-server": {
      "command": "npx",
      "args": ["-y", "@skillsmith/mcp-server"],
      "env": {
        "SKILLSMITH_API_KEY": "sk_live_..."
      }
    }
  }
}

VS Code 1.108 以降が必要です。ワークスペース単位の設定です(チームで共有する場合はリポジトリにコミットするか、代わりにユーザーの settings.json を使用してください)。

Windsurf — ~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "@skillsmith/mcp-server": {
      "command": "npx",
      "args": ["-y", "@skillsmith/mcp-server"],
      "env": {
        "SKILLSMITH_API_KEY": "${env:SKILLSMITH_API_KEY}"
      }
    }
  }
}

${env:VAR} の展開に対応しています。シークレットを設定に直接記述するのではなく、シェルで SKILLSMITH_API_KEY をエクスポートしてください。

Codex CLI — ~/.codex/config.toml(TOML、JSON ではありません)
[mcp_servers.@skillsmith/mcp-server]
command = "npx"
args = ["-y", "@skillsmith/mcp-server"]

[mcp_servers.@skillsmith/mcp-server.env]
SKILLSMITH_API_KEY = "sk_live_..."

Codex は ~/.agents/skills を読み込みます。CLI 経由でインストールする場合は、--client agents を指定してください。

エージェント横断(オープン標準) — ~/.agents/mcp.json
{
  "mcpServers": {
    "@skillsmith/mcp-server": {
      "command": "npx",
      "args": ["-y", "@skillsmith/mcp-server"],
      "env": {
        "SKILLSMITH_API_KEY": "sk_live_..."
      }
    }
  }
}

エージェントスキルの横断的な規約に準拠するエージェントであれば、どれでも読み取れます。

MCP クライアントの設定に追加して再起動すれば、すぐにスキルを検索できます。

API キーの設定(任意)

レート制限の緩和と使用状況の追跡のため、API キーで認証できます。

最も簡単な方法 — CLI ログイン(対話形式):

npm install -g @skillsmith/cli
skillsmith login

ブラウザーで skillsmith.app/account/cli-token が開きます。キーを生成してコピーし、プロンプトが表示されたら貼り付けます。キーは OS のキーチェーンに安全に保存されます。

MCP サーバーの設定 — キーを設定に追加します:

上記のクライアント別スニペットには、すでに env.SKILLSMITH_API_KEY の欄が含まれています。sk_live_... のプレースホルダーを skillsmith login で取得した値に置き換えてください。

API キーは skillsmith.app/account/cli-token で取得できます。

ティア月間クォータ1 分あたりの上限費用
API キーなし(MCP のデフォルト)コミュニティレート、共有公開キーエンドポイントごとに 30 回/分、すべてのキーなしクライアントで共有無料
Community10030 回/分無料
Individual1,000200 回/分$9.99/mo
Team10,000300 回/分$25/user/mo
Enterprise無制限600 回/分営業担当にお問い合わせください

クォータに関する注意: 月間の数値は、適用される場合にのみ厳格な上限となります。エッジ関数で月間クォータによるブロックが行われるのは Community のみで、ENFORCE_COMMUNITY_QUOTA が 'true' の場合に限られます。MCP サーバー独自の月間クォータの対象は skill_suggest とティアによって制限されるツールのみで、デフォルトではそれらを厳格にブロックします(SKILLSMITH_ENFORCE_MCP_QUOTA=false にすると無効になります)。

キーが設定されていない場合、MCP サーバーは組み込みの公開キーにフォールバックします。そのため、キーなしの MCP 利用は Community レートとなり、他のすべてのキーなしクライアントと、エッジエンドポイント(search、get、recommend など)ごとの 30 回/分の枠を共有します。10 回の試用枠(IP あたり 100 回/分)は、認証に成功しない直接 HTTP リクエストに適用されます。これには、不正な形式または期限切れの認証情報を含むリクエストも含まれます。通常のキーなし MCP リクエストは組み込みキーで認証されるため、この枠の対象にはなりません。有効にした場合、共有キーには IP あたりの日次予算も適用されることがあります(ENFORCE_ANON_BUDGET。デフォルトでは無効)。

注: API キーをチャットに貼り付けないでください。必ず settings.json から設定してください。

CLI のインストール(開発用)

CLI はローカル開発で利用できます。

# From the repository root
npm run build
node packages/cli/dist/index.js search "testing"

重要な 4 つの質問

複数のチームがスキルを公開するようになると、重要なのは次の質問です。

  1. どのチームにスコープされていますか? レジストリ内のすべてのスキルは、いずれかのチームにスコープされています。
  2. ここにインストールされているのはどのバージョンですか? バージョンは不変です。skill_diff(Individual ティア)と skill_outdated は、実行元のマシンにインストールされているスキルの差分を報告します。
  3. セキュリティスキャンでフラグが付けられていますか? 公開インデックスから取得したスキルは自動的に評価されます。フラグ付きまたは疑わしいスキルは、レビューが完了するまで隔離されます。フラグが付いていないことは、正式に承認されたことを意味するのではなく、フラグが付けられていないことを意味します。各スキルには、Official から Unverified まで 8 段階の信頼ティアがあります(セキュリティガイド)。
  4. 誰もメンテナンスしていないスキルはどうなりますか? 古くなったスキルは、誰かのリポジトリでひっそりと放置されるのではなく、非推奨にできます。

仕組み

  • 公開 — スキルはチームにスコープされたレジストリに、不変のバージョンとして公開されます。
  • バージョン管理 — 公開するたびに新しい不変のバージョンが作成されます。既存のバージョンがその場で上書きされることはありません。
  • 差分の検出 — skill_diff(Individual ティア)と skill_outdated により、確認時点でインストールされている内容と、どこに遅れがあるかを把握できます。
  • 非推奨化 — 古くなったスキルは、誰かのリポジトリでひっそりと放置されるのではなく、非推奨にできます。

スコープと権限

スキルはチームのレジストリにスコープされます。チームのオーナーと管理者は、スキルを公開・管理できるユーザーを制御します。メンバーはスキルをインストールして検索できます。

まずは個人で始める

自分用のスキルを無料で検索、インストール、管理できます。チームで同じスキルが必要になったときには、すでにレジストリが用意されています。

MCP ツール

Skillsmith には43個のツールが登録されています。43個のうち19個は、無料のCommunityティアで利用できます。上位ティアでは、バージョン追跡、チーム機能、エンタープライズ向けの制御機能が追加されます。ご利用のティアを超えるツールを呼び出すと、アップグレードを促すメッセージが返されます。料金。

Community(無料)
ツール説明
searchフィルター(クエリ、カテゴリ、信頼度ティア、最小スコア)を指定してスキルを検索します
get_skillインストールコマンドなど、スキルの詳細情報を取得します
install_skillスキルをローカル環境にインストールします
uninstall_skillインストール済みのスキルを削除します
skill_recommendコンテキストに応じたスキルのおすすめを取得します
skill_suggest現在のプロジェクトのコンテキストからスキルを提案します(月間クォータにカウントされます)
skill_validateスキルの構造と品質を検証します
skill_compare2つのスキルを並べて比較します
skill_outdatedインストール済みスキルが古くなっていないか、依存関係の状態と合わせて確認します
skill_rescan最新のセキュリティパターンを使って、インストール済みのスキルを再スキャンします
skill_publishスキルを検証し、公開の準備をします
skill_recover_sourceローカルにインストールされたスキルのGitHubソースを復元します(読み取り専用)
index_localローカルディレクトリからスキルをインデックス化します
inventory_pushこのマシンにインストールされたスキルのインベントリをダッシュボードに送信します(読み取り専用。skillsmith login が必要です)
skill_inventory_auditインストール済みの各クライアントのスキルを確認し、名前の衝突と名前変更の提案を取得します
apply_namespace_rename名前変更の提案を適用または元に戻します(最初にプレビューし、確定後にのみファイルを変更します)
apply_recommended_edit監査で提案された文章の編集を適用します(最初にプレビューし、確定後にのみファイルを変更します)
undo_applyこのセッションで最後に行った名前変更または編集を元に戻します
apply_manifest_reconcile破損または曖昧なマニフェスト項目を修復します
Individual
ツール説明
skill_updatesレジストリを確認し、インストール済みスキルの新しいバージョンがないか調べます
skill_diffスキルの2つのバージョン間のセクション単位の差分を表示します
skill_pack_auditスキルのディレクトリを監査し、バージョンのずれや弱いトリガーを確認します
Team
ツール説明
skill_auditインストール済みスキルに既知のセキュリティ勧告がないか確認します
team_workspaceチームワークスペースを作成、一覧表示、取得、削除します
share_skillチームワークスペースのスキルを追加、削除、一覧表示します
publish_privateこのマシン上で、自分の検索結果からスキルを非表示にします(ローカルのみ)
team_analytics_dashboardユーザーごとのツール使用状況、上位のツール、日次の傾向を表示します
team_usage_report期間比較付きの週次または月次の使用状況サマリーを表示します
compliance_reportローカルのスキルインベントリについて、SOC2、CycloneDX SBOM、またはJSON形式のレポートを生成します
エンタープライズ
ツール説明
private_registry_publish承認を受けるため、スキルのバージョンをプライベートレジストリに公開します
private_registry_manageプライベートレジストリのスキルの一覧表示、取得、インストール、非推奨化、承認、却下を行います
configure_ssoDNS ドメインの検証を含め、SSO/SAML を設定します
sso_settings現在の SSO/SAML 設定を表示します
rbac_manage各チームロールで実行できる操作を確認、調整します
rbac_assign_roleメンバーへのロールの割り当てや取り消し、メンバーの一覧表示を行います
rbac_create_policyロールの権限オーバーライドを一括設定またはクリアします
audit_export指定した期間の監査ログイベントをエクスポートします
audit_queryフィルターを指定して監査ログを検索します
siem_export監査イベントを SIEM にエクスポートします
analytics_dashboard推奨の精度、利用傾向、チーム全体の集計を確認します
usage_reportすべての指標を対象にした詳細な利用レポートを表示します
webhook_configureスキルのライフサイクルイベント用に署名付き Webhook を設定します(プレビュー)
api_key_manageAPI キーの作成、一覧表示、取り消しを行います(プレビュー)

セッション開始時の自動名前空間監査は、Team および Enterprise の機能です。上記の監査ツールと名前変更ツールは、どのティアでも手動で実行できます。

設計の基本はローカルファーストです。 Skillsmith はレジストリをローカルの SQLite データベース ~/.skillsmith/skills.db にキャッシュします。このデータベースは MCP サーバー、CLI、VS Code 拡張機能で共有されます。既定では FTS5(SQLite に組み込まれたキーワード検索)を使用します。セマンティック検索はオプトイン(SKILLSMITH_USE_HNSW=true)で、有効にすると、ローカルの ONNX 埋め込み(CPU 上で動作するオープンな ML モデル形式)を使って実行されます。API 呼び出しは発生しません。ローカルスキルデータベースの内部では、スキーマ、FTS5/HNSW の検索方法、キャッシュを最新の状態に保つ sync(Team+ ティアの機能)について説明しています。

アーキテクチャ

Skillsmith は Model Context Protocol(MCP)を使用します。

┌─────────────────────────────────────────────────────┐
│  MCP Client (Claude Code, Cursor, etc.)             │
│  ┌─────────────────────────────────────────────────┐│
│  │  Skillsmith MCP Server                          ││
│  │  └── @skillsmith/mcp-server                     ││
│  │      ├── search, get_skill, skill_compare       ││
│  │      ├── install_skill, uninstall_skill         ││
│  │      ├── skill_recommend, skill_validate        ││
│  │      ├── skill_outdated, skill_diff, ...        ││
│  │      └── 43 tools across four tiers             ││
│  └─────────────────────────────────────────────────┘│
│                          │                          │
│                          ▼                          │
│  ┌─────────────────────────────────────────────────┐│
│  │  ~/.skillsmith/skills.db (SQLite + FTS5)        ││
│  │  ~/.claude/skills/ (installed skills)           ││
│  └─────────────────────────────────────────────────┘│
└─────────────────────────────────────────────────────┘

使用方法

設定が完了すると、MCP クライアントから Skillsmith のツールを使用できます。

"Search for testing skills"
→ Uses search tool to find testing-related skills

"Show me details for community/jest-helper"
→ Uses get_skill tool to retrieve full skill information

"Install the jest-helper skill"
→ Uses install_skill tool to add it to ~/.claude/skills

"Compare jest-helper and vitest-helper"
→ Uses skill_compare tool to show side-by-side comparison

"Are any of my installed skills out of date?"
→ Uses skill_outdated tool to check for staleness and missing dependencies

"Do any of my skills clash with each other?"
→ Uses skill_inventory_audit tool to find name collisions and suggest renames
CLI の使用方法(開発)
# From the repository, after building
node packages/cli/dist/index.js search "testing" --tier verified --min-score 80
node packages/cli/dist/index.js get community/jest-helper
node packages/cli/dist/index.js install community/jest-helper

ドキュメント

開発

Skillsmith では、Docker を中心とした開発を採用しています。すべてのコマンドを Docker 内で実行することで、すべてのプラットフォームでネイティブモジュールのサポートを一貫させます。

前提条件
  • Docker Desktop(v24 以降)または Docker Compose を備えた Docker Engine
  • Git(リポジトリのクローン用)
  • Node.js(任意。Docker 外でローカルツールを使用する場合のみ)
クイックスタート
# 1. Clone the repository
git clone https://github.com/smith-horn/skillsmith.git
cd skillsmith

# 2. Create your local environment file
cp .env.example .env

# 3. Start the development container
docker compose --profile dev up -d

# 4. Install dependencies (first time only)
docker exec -w /app skillsmith-dev-1 sh -c 'sh scripts/lib/node-modules-mount-gate.sh && npm install'

# 5. Build and test
docker exec skillsmith-dev-1 npm run build
docker exec skillsmith-dev-1 npm test
Docker でのコマンド実行

すべての npm コマンドは Docker コンテナ内で実行してください。

コマンドDocker コマンド
ビルドdocker exec skillsmith-dev-1 npm run build
テストdocker exec skillsmith-dev-1 npm test
Lintdocker exec skillsmith-dev-1 npm run lint
型チェックdocker exec skillsmith-dev-1 npm run typecheck
監査docker exec skillsmith-dev-1 npm run audit:standards
コンテナの管理
# Start development container
docker compose --profile dev up -d

# Check container status
docker ps | grep skillsmith

# View container logs
docker logs skillsmith-dev-1

# Stop container
docker compose --profile dev down

# Restart after Dockerfile changes
docker compose --profile dev down
docker compose --profile dev build --no-cache
docker compose --profile dev up -d
変更のプル後

package.json または package-lock.json に変更がある場合は、変更をプルした後に次の操作を行ってください。

docker exec -w /app skillsmith-dev-1 sh -c 'sh scripts/lib/node-modules-mount-gate.sh && npm install'
docker exec skillsmith-dev-1 npm run build
トラブルシューティング
コンテナが起動しない
docker compose --profile dev down
docker volume rm skillsmith_node_modules
docker compose --profile dev up -d

このワイプによって、エントリーポイントの node_modules 事前チェックで起動がブロックされることはありません。ルートボリュームはイメージから再シードされるため、チェックは終了せずに通過します(SMI-6674)。後続の起動手順は別の問題です。ワイプ後は依存関係が混在した状態になるため、続けて単独でインストールを実行しないでください。代わりに、順序付きの更新手順を表示して、その手順に従ってください(ADR-158、SMI-6614)。

( cd <main-checkout-path> && sh scripts/lib/print-deps-refresh-advice.sh <main-checkout-path> )
ネイティブモジュールのエラー(ERR_DLOPEN_FAILED)

better-sqlite3 や onnxruntime-node などのネイティブモジュールは、再ビルドが必要な場合があります。

docker exec -w /app skillsmith-dev-1 sh -c 'sh scripts/lib/node-modules-mount-gate.sh && npm rebuild'
テストで共有ライブラリのエラーが発生する場合

ld-linux-aarch64.so.1 などに関するエラーが表示される場合は、ローカルではなく Docker 内で実行していることを確認してください。

# Wrong - don't run locally
npm test

# Correct - run in Docker
docker exec skillsmith-dev-1 npm test
なぜ Docker なのか?

Skillsmith は、glibc を必要とするネイティブ Node.js モジュール(better-sqlite3、onnxruntime-node)を使用します。Docker は glibc を備えた一貫性のある Debian ベースの環境を提供し、musl libc を使用するシステム(Alpine Linux など)での互換性の問題を回避できます。

開発ワークフローとスキルの設定については、CLAUDE.md をご覧ください。

技術スタック

  • ランタイム:Node.js >=22.22(glibc を備えた Docker)
  • プロトコル:MCP(Model Context Protocol)
  • データベース:FTS5 を使用する SQLite
  • 埋め込み:onnxruntime-node 経由の all-MiniLM-L6-v2
  • テスト:Vitest
  • CI/CD:GitHub Actions

ライセンス

Skillsmith は、Elastic License 2.0 の下でソースコードを利用できます。

できること:

  • 個人または社内の業務目的で Skillsmith を使用する
  • 自分で使用するためにソースコードを変更する
  • チーム向けにセルフホストする
  • バグ修正や改善をコントリビュートする

できないこと:

  • Skillsmith をサードパーティ向けのマネージドサービスとして提供する
  • ライセンスキーの適用機能を回避する

ライセンス全文については、LICENSE ファイルをご覧ください。

作成者

Smith Horn Group Ltd


Skillsmith は Anthropic とは提携していません。Claude と Claude Code は Anthropic の商標です。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。