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

skill-doctor

作者 marian2js · marian2js/skill-doctor

出荷前にクロード スキルをリントします。フロントマター、リソース参照、トリガーの明確さ、評価の衛生状態、重大度によるスコア 0 ~ 100。

skill-doctor は、ローカル スキル パッケージをスキャンし、アクティベーション、信頼性、または品質を損なう問題にフラグを立てる CLI です。 YAML フロントマターとメタデータをチェックし、リソース参照が壊れていないことを確認し、トリガーの説明を明確に評価して、evals/evals.json を検証します。 出力は、重症度にラベル付けされた所見を含む 0 ~ 100 のスコアです。 テキスト、JSON、スコア専用モードをサポートしており、コミット前、ルート前、または CI ゲートに最適です。

なぜ使うのか

主な機能

ライブデモ

実際の動作

skill-doctor-skill.replay ▶ 準備完了
0/0

インストール

クライアントを選択

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "skill-doctor-skill": {
      "command": "npx",
      "args": [
        "-y",
        "skill-doctor@latest",
        "."
      ],
      "_inferred": false
    }
  }
}

Claude Desktop → Settings → Developer → Edit Config を開く。保存後、アプリを再起動。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "skill-doctor-skill": {
      "command": "npx",
      "args": [
        "-y",
        "skill-doctor@latest",
        "."
      ],
      "_inferred": false
    }
  }
}

Cursor は Claude Desktop と同じ mcpServers スキーマを使用。プロジェクト設定はグローバルより優先。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "skill-doctor-skill": {
      "command": "npx",
      "args": [
        "-y",
        "skill-doctor@latest",
        "."
      ],
      "_inferred": false
    }
  }
}

Cline サイドバーの MCP Servers アイコンをクリックし、"Edit Configuration" を選択。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "skill-doctor-skill": {
      "command": "npx",
      "args": [
        "-y",
        "skill-doctor@latest",
        "."
      ],
      "_inferred": false
    }
  }
}

Claude Desktop と同じ形式。Windsurf を再起動して反映。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "skill-doctor-skill",
      "command": "npx",
      "args": [
        "-y",
        "skill-doctor@latest",
        "."
      ]
    }
  ]
}

Continue はマップではなくサーバーオブジェクトの配列を使用。

~/.config/zed/settings.json
{
  "context_servers": {
    "skill-doctor-skill": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "skill-doctor@latest",
          "."
        ]
      }
    }
  }
}

context_servers に追加。保存時に Zed がホットリロード。

claude mcp add skill-doctor-skill -- npx -y skill-doctor@latest .

ワンライナー。claude mcp list で確認、claude mcp remove で削除。

ユースケース

実用的な使い方: skill-doctor

マーケットプレイスに公開する前にスキルをリントする

👤 SKILL.mdを共有しようとしているスキル作成者 ⏱ ~15 min beginner

使うタイミング: あなたはスキルを終了し、他の人がそれをインストールする前に正気度パスが必要です。

前提条件
  • ノード18+ — nvm インストール 18
フロー
  1. 医者を走らせる
    スキル ルートで skill-doctor を実行します。✓ コピーしました
    → スコア + 重大度別の所見のリスト
  2. 重大度の高い項目を修正する
    重大度の高い問題を最初に修正します。 スコアが 85 以上になるまで再実行します。✓ コピーしました
    → スコアは上昇します。 クリティカルが消える

結果: 期待したときに発動し、参照が壊れていないスキル。

注意点
  • 完璧な100点を追い求める — 重大度の低い項目 (スタイルニット) は多くの場合問題ありません。 トリガーとリソースに焦点を当てる
組み合わせ: oaustegard-claude-skills

CI の最小品質スコアに基づいてスキル リポジトリをゲートする

👤 チームは 1 つのリポジトリで複数のスキルを維持します ⏱ ~30 min intermediate

使うタイミング: スキルを頻繁に出荷しており、ドリフトを防止したいと考えています。

前提条件
  • GitHub アクション (または同等のもの) — .github/workflows/ によるリポジトリ
フロー
  1. ワークフローを追加する
    skill-doctor を実行し、スコアが 80 未満の場合に失敗する GH アクション ジョブを追加します。✓ コピーしました
    → ワークフローファイルが追加されました。 PRで動く
  2. パスごとの厳密性を設定する
    生産スキルが 90 未満で失敗します。 ドラフトでは 70 未満が許可されます。✓ コピーしました
    → ワークフロー内のマトリックスまたは条件付きしきい値

結果: スキルの品質を低下させる PR はマージ前に検出されます。

注意点
  • ハードルを高くしすぎる、早すぎる — 寛容に開始し、調査結果が修正されたら 2 ~ 3 か月かけて厳しくする
組み合わせ: agent-skills-cli-skill

スキルが発動しない理由を診断する

👤 アクティベーションに問題があるスキル ユーザー ⏱ ~15 min beginner

使うタイミング: スキルをインストールしましたが、クロードがそれを発動しません。

フロー
  1. スキルディレクトリでドクターを実行する
    ~/.claude/skills/<skill> で skill-doctor を実行します。✓ コピーしました
    → 調査結果は、弱いトリガーまたはフロントマターの問題を指摘しています
  2. 説明を編集する
    具体的なユーザータスクのキーワードが記述されるように説明を書き直します。✓ コピーしました
    → トリガーの明確さの重大度が低下する

結果: より明確なアクティベーション。 クロードは適切なタスクに応じてスキルを選択します。

組み合わせ

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

skill-doctor-skill + oaustegard-claude-skills

マーケットプレイスに公開する前のリント

skill-doctor をローカルで実行します。 次に、oaustegard/claude-skills への PR を開きます。✓ コピーしました
skill-doctor-skill + agent-skills-cli-skill

スキルドクターを他のスキル作成ツールと連携させる

Agent-skills-cli を使用してスキャフォールディングします。 コミット前に検証するスキルドクター。✓ コピーしました
skill-doctor-skill + claude-skill

オーサリングガイドに従って、lint を実行します

クロードスキルガイドに従って書きます。 スキルドクターに確認してください。✓ コピーしました

ツール

このMCPが提供する機能

ツール入力呼び出すタイミングコスト
skill-doctor <path> skill directory path 公開前、CI 内、またはアクティベーションの問題の診断 0

コストと制限

運用コスト

APIクォータ
なし - ローカル静的解析
呼び出しあたりのトークン
なし (API ではなく CLI)
金額
無料
ヒント
変更されたディレクトリ上でのみ実行します。 CI では、パス フィルターを使用して、PR ごとにリポジトリ全体をスキャンすることを回避します。

セキュリティ

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

認証情報の保管: 資格情報がありません
データ送信先: なし - ローカル分析のみ

トラブルシューティング

よくあるエラーと対処法

医師はSKILL.mdが見つからないと言う

リポジトリのルートではなく、スキル ルート (SKILL.md を含むディレクトリ) から実行します。

確認: ls SKILL.md in CWD
「evals/evals.json」スキーマの失敗

各評価に必須フィールドがあることを確認してください。 最小限のスタブは壊れるよりはマシです。

確認: jq . evals/evals.json
編集してもスコアが上がらない

再実行します。 検出結果が解決しない場合は、重大度と詳細を確認してください。修正により、重大度の低い新しい問題が発生する場合があります。

確認: Diff the JSON reports between runs

代替案

skill-doctor 他との比較

代替案代わりに使う場面トレードオフ
agent-skills-cli-skillスキャフォールディング/スキル管理のための一般的な CLI ツールが必要異なる機能セット。 リンターではありません
claude-skillオーサリング ガイドに「良い」とはどのようなものかを理解してもらいたいリンターではなくドキュメント

その他

リソース

📖 GitHub の公式 README を読む

🐙 オープンな issue を見る

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