mcpField
S
skill-finder

skill-finder

github.com/ckorhonenエージェントワークフロー24108 回インストール5 週間前に更新
リポジトリ

skill-finder について

専門知識が必要なときに、Claude向けのスキルを検索、インストール、作成するスキルです。スキルレジストリの候補を評価し、適切なものがなければ再利用可能なスキルの作成を検討します。

主な機能

  1. 01検索語の抽出
  2. 02スキルレジストリの検索
  3. 03関連性と品質の評価
  4. 04候補スキルのインストール
  5. 05必要に応じたカスタムスキル作成

活用シーン

  1. 01不慣れな専門タスクへの対応
  2. 02ニッチな API 向けスキルの検索
  3. 03繰り返す業務向けの機能追加

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/ckorhonen/claude-skills --skill skill-finder

インストール後、Claude Code で/skill-finderを入力して読み込まれたか確認します。

詳細

スキル検索

Claude の機能を必要に応じて拡張するスキルを、動的に検索、インストール、作成します。

有効にするタイミング

積極的に、次のような場合にこのスキルを使用します。

  1. ユーザーが新しい機能を求めている

    • 「カンフーを知りたい」
    • 「[topic] について学ぶのを手伝って」
    • 「[unfamiliar technology] を使って作業する必要がある」
  2. 専門分野に遭遇した

    • ニッチな API(NFT マーケットプレイス、独自システム)
    • 分野固有のフォーマット/プロトコル
    • 業界固有のツール
  3. 知識の不足に気づいた

    • 自信のない専門知識が必要なタスク
    • 不慣れなツール、フレームワーク、サービス
    • ユーザーから高度に専門的な内容について質問された
  4. 専門的なニーズが繰り返されている

    • パターンから、専門分野で継続的な作業が必要だとわかる
    • 同じ分野で関連するリクエストが複数ある

次の場合は有効にしないでください。

  • 一般的なプログラミングタスク(アルゴリズム、データ構造)
  • 一般的なフレームワーク(React、Express、Django)— 基盤モデルで対応可能です
  • 1 回限りの簡単な質問
  • 自信を持って対応できるタスク

手順

フェーズ 1:検索キーワードを抽出する

ユーザーのリクエストを解釈し、関連する検索語を抽出します。

  • 「カンフーを知りたい」→ 検索:martial arts combat self-defense
  • 「Stripe の請求について手伝って」→ 検索:stripe payments billing api
  • 「OpenSea で NFT を扱う」→ 検索:opensea nft marketplace api

一致する可能性を高めるため、関連するキーワードを複数使用します。

フェーズ 2:レジストリを検索する

スキル API に問い合わせます。

https://claude-plugins.dev/api/skills?q=<keywords>

WebFetch を使用して結果を取得します。API は次の内容を返します。

{
  "skills": [{
    "name": "skill-name",
    "namespace": "@author/repo/skill-name",
    "description": "What the skill does...",
    "stars": 12345,
    "installs": 678,
    "metadata": {
      "rawFileUrl": "https://raw.githubusercontent.com/..."
    }
  }],
  "total": 100
}
フェーズ 3:結果を評価する

次の基準で順位付けします。

  1. 関連性 — 説明は実際のニーズに合っていますか?
  2. 品質 — 信頼性を示す指標としてスター数を確認します。
    • 1000 スター超:信頼性が高い
    • 100 スター超:信頼性は中程度
    • 100 スター未満:慎重に確認
  3. 具体性 — 広範なスキルより、対象を絞ったスキルを優先します

信頼できる一致と判断する条件:

  • 説明がタスクに明確に対応している
  • かつ(スター数が 500 超、またはインストール数が 50 超)
  • 明らかなセキュリティ上の懸念がない
フェーズ 4a:自動インストール(信頼できる一致が見つかった場合)

インストールコマンドを実行します。

npx claude-plugins skills install <namespace> --local

<namespace> には API の完全な名前空間を指定します(例:@anthropics/claude-code/frontend-design)。

--local フラグを指定すると、プロジェクトの .claude/skills/ ディレクトリにインストールされます。

インストール後、ユーザーに次のように伝えます。

<skill-name> を習得しました — [機能の簡単な説明]。このスキルをタスクに適用します。

続けて、新しいスキルを使ってユーザーの元のリクエストに対応します。

フェーズ 4b:スキルを作成する(信頼できる一致が見つからない場合)

次の条件を満たす場合にのみスキルを作成します。

  • レジストリに適切な一致がない
  • タスクが本当に専門的である(単に複雑なだけではない)
  • この分野で再利用可能な機能を提供できる
  • 基盤モデルに実際に拡張が必要である

次の場合は作成しないでください。

  • 複雑だが専門的ではないタスク
  • 繰り返される可能性が低い 1 回限りの操作
  • 基盤モデルで十分に対応できる
  • 類似の機能がすでにローカルに存在する

作成手順:

  1. 分野を調査する

    • WebSearch を使用して技術や分野を調べる
    • 公式ドキュメントを読む
    • 主要な概念、API、パターンを特定する
  2. スキルを設計する

    • Claude に必要な指示を決める
    • 必要なスクリプトやリファレンスを特定する
    • スキルの構成を計画する
  3. スキルファイルを作成する

    ディレクトリを作成します:.claude/skills/<skill-name>/

    次の内容を含む SKILL.md を作成します。

    ---
    name: skill-name
    description: Clear description of what it does and when to use it.
    ---
    

    本文には次の項目を追加します。

    • 使用するタイミング
    • 手順を追った説明
    • 例
    • 必要なセットアップ
  4. 必要に応じて補助ファイルを追加する

    • 自動化用の scripts/
    • ドキュメント用の references/
    • ひな形用の templates/
  5. ユーザーに伝える

調査に基づいて、[domain] 用のカスタムスキルを作成しました。これで [list capabilities] ができるようになりました。タスクをお手伝いします。

例

例 1:レジストリにスキルが存在する
User: "I want to build beautiful frontend interfaces"

Claude thinking:
- This is a specialized design skill request
- Search: "frontend design ui interface"
- Found: frontend-design with 45k stars
- High relevance + high quality = credible match

Claude action:
npx claude-plugins skills install @anthropics/claude-code/frontend-design --local

Claude response:
"I've learned frontend-design - expertise in creating distinctive, production-grade interfaces. Let me help you build something beautiful..."
例 2:積極的な検索
User: "Help me integrate OpenSea's API to list NFTs"

Claude thinking:
- NFT marketplace API = specialized domain
- I should check for existing skills
- Search: "opensea nft api marketplace"
- Found: opensea-api with good ratings

Claude action:
npx claude-plugins skills install @creator/skills/opensea-api --local

Claude response:
"I've equipped myself with OpenSea API expertise. I can now help you authenticate, list items, fetch collections, and handle marketplace transactions. Let's set up your NFT listing..."
例 3:一致なし — スキルを作成する
User: "I need to work with Acme Corp's proprietary data format"

Claude thinking:
- Very specialized/proprietary domain
- Search: "acme corp data format"
- No credible matches found
- This is genuinely specialized, not just complex
- User likely needs this repeatedly
- I should create a skill

Claude action:
1. WebSearch for Acme Corp documentation
2. Research the data format specification
3. Create .claude/skills/acme-data-handler/SKILL.md

Claude response:
"I've created a custom skill for Acme Corp data formats based on their documentation. I can now parse, validate, and transform Acme data files. Let me help with your specific task..."
例 4:有効にしすぎない
User: "Write a binary search implementation"

Claude thinking:
- This is a standard algorithm
- Base model handles this perfectly
- Not specialized, just programming
- No skill needed

Claude action:
Proceed directly with the task without skill search.

トラブルシューティング

npx コマンドが失敗する場合

npx claude-plugins が利用できない場合は、手動でインストールします。

  1. API レスポンスからスキルの rawFileUrl を取得します
  2. WebFetch を使って SKILL.md の内容を取得します
  3. scripts/ やその他のファイルへの参照がないか確認します
  4. .claude/skills/ にスキルのディレクトリとファイルを手動で作成します
検索結果がない場合
  1. より広範なキーワードを試します
  2. 同義語や関連語を試します
  3. それでも結果がない場合は、カスタムスキルの作成を検討します
有力な候補が複数ある場合

以下の順に優先します。

  1. スター数が多い
  2. 説明がより具体的
  3. 更新日がより新しい(updatedAt を確認)

最適な候補をインストールし、ユーザーが別の方法を希望する場合は、他の候補もあることを伝えます。

品質チェックリスト

自動インストールする前に、以下を確認します。

  • 説明がユーザーのニーズに明確に合っている
  • 説明にセキュリティ上の懸念がない
  • 人気度が妥当(スター数/インストール数)
  • ソースが GitHub(信頼できるプラットフォーム)である

スキルを作成する前に、以下を確認します。

  • これに対応する既存のスキルがない
  • タスクが真に専門的なものである
  • スキルを再利用できる
  • 有用な手順を作成するのに十分な情報がある

コメント