skillcheck について
skillcheck は、Claude Code や Codex のスキルを管理する開発者向けに、起動状況や競合を調べるツールです。実際の CLI 環境で起動率を測定でき、公開 GitHub リポジトリにはリモート MCP から静的チェックを実行できます。
主な機能
- 01スキルのメタデータと構成を検査
- 02起動率と誤起動を測定
- 03リクエストを奪うスキルを特定
- 04説明文の変更前後を比較
- 05インストール前にスキルを事前確認
活用シーン
- 01実環境で起動しないスキルの調査
- 02説明文の修正後の結果を比較
- 03導入前に新しいスキルとの競合を確認
MCP 対応
ホスト型の読み取り専用 MCP サーバーが、公開 GitHub リポジトリの静的チェックと事前確認を行います。実際の起動率の測定にはローカル CLI が必要です。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://skillcheck-alpha.vercel.app/mcpclaude mcp add --transport http noem836-skillcheck https://skillcheck-alpha.vercel.app/mcp{"mcpServers":{"noem836-skillcheck":{"type":"http","url":"https://skillcheck-alpha.vercel.app/mcp"}}}Cursor で開く{"servers":{"noem836-skillcheck":{"type":"http","url":"https://skillcheck-alpha.vercel.app/mcp"}}}VS Code で開く{"mcpServers":{"noem836-skillcheck":{"type":"http","url":"https://skillcheck-alpha.vercel.app/mcp"}}}{"mcpServers":{"noem836-skillcheck":{"serverUrl":"https://skillcheck-alpha.vercel.app/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
skillcheck
リクエストを横取りしているスキルを見つけましょう。
スキルの評価には合格しました。ほかにインストールしたものがある、あなたの環境でも起動しますか?
公式のスキル評価では、クリーンな環境でスキルを1つだけ読み込みます。実際の利用では、何十ものスキルやプラグインと一緒に動作し、そのうちの1つがひそかにリクエストを奪うことがあります。作者の環境では、単独の claude plugin eval で21/21回起動したプロンプトが、実際のハーネスでは5回失敗しました。
skillcheckは、インストール済みのすべてのものを含めて、実際の claude と codex のCLIでプロンプトを実行し、どのスキルが起動したか、どのスキルがリクエストを奪ったか、各プロンプトがどれほど不安定か、説明文の修正が効果を発揮したかを報告します。
新機能:インストール前にスキルをチェックできます。 preflight は、使い捨てのフォルダーで既存スキルのプロンプトを、新しいスキルがある場合とない場合の両方で実行し、新しいスキルがどのインストール済みスキルからリクエストを奪うかを知らせます。実際のスキルフォルダーには一切触れません。単語の重複から分かるのは候補にすぎません(狭い範囲のスキルが、共通する語句がほとんどなくてもリクエストを奪うことがあります)。そのため、関心のあるスキルを --skills で指定してください:
python3 skillcheck.py preflight path/to/new-skill # instant: name clashes, likely rivals, listing size
python3 skillcheck.py preflight path/to/new-skill --measure # real runs: your skills' fire rate without → with it
python3 skillcheck.py preflight path/to/new-skill --measure --skills my-a,my-b # pick which of yours to measure
レポートの例:2つのスキルは、説明文を書き直した後、0/4と1/4から4/4になりました。
インストール
Claude Codeプラグインとして(skillcheck スキルがスキャン → 実行 → 修正 → 再実行の手順を案内します):
/plugin install skillcheck --marketplace Noem836/skillcheck
または、単一のファイルとして(Python 3の標準ライブラリを使用。PyYAMLがインストールされている場合は、フロントマターのチェックに使用します)。リリースを固定し、ハッシュを確認してください:
curl -fsSLO https://raw.githubusercontent.com/Noem836/skillcheck/v0.1.0/skillcheck.py
shasum -a 256 skillcheck.py # compare with the release notes
使い方
python3 skillcheck.py scan # static checks, no model calls
python3 skillcheck.py gen --skills my-skill # draft should-fire / near-miss prompts → suite.json
python3 skillcheck.py run --agent claude --tag before --runs 3
python3 skillcheck.py report --tag before # fire rate, false fires, who took it
# edit the description, then
python3 skillcheck.py run --agent claude --tag after --runs 3
python3 skillcheck.py compare --before before --after after
python3 skillcheck.py html --tag before,after # one-file HTML report
python3 skillcheck.py upload --tag before,after # optional share link
AI エージェント向け(リモートMCP、インストール不要)
ホスト型の読み取り専用MCPサーバーが、公開されている任意のGitHubリポジトリに対して静的チェックを実行します。スキルパックのインストールや公開の前に便利です:
claude mcp add --transport http skillcheck https://skillcheck-d1d57e.fly.dev/mcp
ツール:
preflight_skill(github_url, installed):スキルをインストールする前に呼び出します。ユーザーがすでに使用しているスキルを渡してください(名前と説明。エージェントは自身のスキル一覧から読み取れます)。インストール済みスキルをシャドーイングする名前の競合、新しいスキルがリクエストを奪う可能性が最も高いインストール済みスキル、スキル一覧の増加量を返します。check_skill_repo(github_url)は、フロントマター/YAMLのエラー、名前の不一致、説明文の不足やスラッシュのみの記述、ネストされたSKILL.mdファイル、重複した名前、競合するほど説明文が重複しているスキルの組み合わせを返します。実際の起動状況の測定には、あなたの環境で実行されるCLIが必要です。
チェック内容
- 検出:Claude Code(
~/.claude/skills、.claude/skills、有効なプラグイン、skillOverrides)とCodex(~/.agents/skills、~/.codex/skills、.agents/skills) - 静的チェック:フロントマターの欠落/破損、名前とフォルダー名の不一致、説明文が短すぎる/長すぎる、ネストされた
SKILL.md、スラッシュのみの記述、disable-model-invocation、重複した名前 - 実際の起動状況:各プロンプトをN回実行し、最初に読み込まれたスキルを記録して実行を停止
- 競合:本来起動するはずのプロンプトを別のどのスキルが奪ったか、起動しそうで起動しなかったプロンプトがどこに送られたか
安全性
プロンプトスイートやサードパーティ製スキルにはプロンプトインジェクションが含まれている可能性があるため、実行は制限されています:
Claudeは --tools Skill のみで実行されます。Codexは --ignore-user-config を指定し、ウェブ検索とアプリ/プラグインを無効にして、読み取り専用サンドボックスで実行されます。python3 check_isolation.py はカナリアファイルを使ってこれを検証します。
実行には、あなた自身のCLIログインとサブスクリプションを使用します。upload を実行しない限り、情報が外部に送信されることはありません。upload で送信されるのはスキル名とヒット/ミスの行のみで、プロンプト本文は送信されません。
レポートサーバー
server.py は共有リンク用サーバーです(標準ライブラリ+sqlite)。check_web.py [url] は、実行中のインスタンスに対してXSS、大きすぎる/深すぎるJSON、低速クライアント、ID推測、レート制限の偽装を試みます。付属の Dockerfile / fly.toml を使ってデプロイしてください。
FAQ
Claude Code のスキルが起動しないのはなぜですか?
通常は、別のインストール済みスキルがリクエストを優先しているか、説明がスラッシュコマンド専用(「/name として使用」)のように読めることが原因です。scan を実行し、続けて run と report を実行して、taken by 列を確認してください。ガイドをご覧ください。
claude plugin eval ではスキルが合格するのに、通常の環境では起動しません。なぜですか?
公式の評価では、クリーンな環境でスキルを読み込みます。skillcheck では、実際にインストールしているすべてのものと併せて評価します。
別のスキルからリクエストを横取りしているスキルはどれですか?
report には、スキルごとに、そのスキルが「起動すべき」プロンプトで読み込まれた他のスキルが一覧表示されます。
Codex CLI でも使えますか?
はい。run --agent codex を実行してください。スキルの起動状況は、codex exec --json イベントで読み込まれた SKILL.md から取得します。
マーケットプレイスに公開する前に、SKILL.md の説明をテストするにはどうすればよいですか?
gen で「起動すべき」プロンプトと、近似する不一致プロンプトの下書きを作成し、run で測定します。内容を編集した後、compare で変更前後を確認できます。リモート MCP を使うと、リポジトリ全体をすばやく静的チェックできます。
プロンプトやコードはどこかに送信されますか?
いいえ。実行には、お使いの CLI ログインをローカルで使用します。upload はオプトイン方式で、スキル名とヒット/ミスの行のみを送信します。
制限事項
- 対応しているのは Claude Code と Codex のみです。Gemini CLI と Cursor では、現在のところ起動状況を確実に読み取れません。PR を歓迎します。
- 1 回の実行にはプロンプトあたり約 1 分かかります。スキル 10 個 × プロンプト 6 個 × 実行 3 回の場合、サブスクリプションの利用時間が数時間分になります。
MIT ライセンス。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。