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

dspy-skills

作者 OmidZamani · OmidZamani/dspy-skills

DSPy向けClaudeスキルパック — 言語モデルのプログラミング、プロンプト最適化、RAGパイプラインの体系的な構築を支援します。

dspy-skillsは、DSPyのメンタルモデル(シグネチャ、モジュール、プレディクター、テレプロンプター、評価ループ)をClaudeに習得させます。手作業でプロンプトを作成する代わりに、シグネチャでタスクを記述し、DSPyのオプティマイザに最適化を任せます。Claudeは生のプロンプトテンプレートに頼らず、DSPyコードをイディオマティックに記述します。

なぜ使うのか

主な機能

ライブデモ

実際の動作

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

インストール

クライアントを選択

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "dspy-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/OmidZamani/dspy-skills",
        "~/.claude/skills/dspy-skills"
      ],
      "_inferred": true
    }
  }
}

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

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "dspy-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/OmidZamani/dspy-skills",
        "~/.claude/skills/dspy-skills"
      ],
      "_inferred": true
    }
  }
}

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

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "dspy-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/OmidZamani/dspy-skills",
        "~/.claude/skills/dspy-skills"
      ],
      "_inferred": true
    }
  }
}

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

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "dspy-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/OmidZamani/dspy-skills",
        "~/.claude/skills/dspy-skills"
      ],
      "_inferred": true
    }
  }
}

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

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "dspy-skill",
      "command": "git",
      "args": [
        "clone",
        "https://github.com/OmidZamani/dspy-skills",
        "~/.claude/skills/dspy-skills"
      ]
    }
  ]
}

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

~/.config/zed/settings.json
{
  "context_servers": {
    "dspy-skill": {
      "command": {
        "path": "git",
        "args": [
          "clone",
          "https://github.com/OmidZamani/dspy-skills",
          "~/.claude/skills/dspy-skills"
        ]
      }
    }
  }
}

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

claude mcp add dspy-skill -- git clone https://github.com/OmidZamani/dspy-skills ~/.claude/skills/dspy-skills

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

ユースケース

実用的な使い方: dspy-skills

初めてのDSPyプログラムを構築し最適化する方法

👤 MLエンジニアおよび応用研究者 ⏱ ~90 min advanced

使うタイミング: プロンプトの品質が重要なタスクがあり、体系的に改善する方法を求めている場合に使用します。

前提条件
  • Python 3.10以上、dspy-aiがインストール済み — pip install dspy-ai
  • スキルがクローン済み — git clone https://github.com/OmidZamani/dspy-skills ~/.claude/skills/dspy-skills
フロー
  1. シグネチャを定義する
    タスク: サポートチケットを {billing, technical, account} に分類する。DSPyのシグネチャとシンプルなPredictモジュールを作成してください。✓ コピーしました
    → シグネチャ+モジュールのコード
  2. 評価を記述する
    ラベル付きの50件の評価データセットとaccuracyメトリクスを追加してください。✓ コピーしました
    → 呼び出し可能なメトリクスを備えた評価ハーネス
  3. 最適化を実行する
    BootstrapFewShotを実行して、評価セットに対してモジュールをコンパイルしてください。✓ コピーしました
    → コンパイル済みプレディクター+スコアの改善

結果: 手書きのプロンプトを上回る、DSPyで最適化されたプレディクター。再現可能なコード付き。

注意点
  • 評価データが少なすぎてオプティマイザが過学習する — 最低100〜200件の例を用意し、真のテストセットをホールドアウトする
  • メトリクスが本当に重要な指標を捉えていない — モデル選択の前にメトリクス設計に時間を投資する
組み合わせ: filesystem

DSPyでRAGパイプラインを構築する

👤 検索拡張生成(RAG)システムを構築するエンジニア ⏱ ~120 min advanced

使うタイミング: 手動で配線したチェーンではなく、モジュール化された最適化可能なRAGが必要な場合に使用します。

フロー
  1. モジュールを定義する
    DSPy RAGパイプラインを作成してください: ColBERTv2またはローカルリトリーバーを使ったRetrieveThenRead構成で。✓ コピーしました
    → 検索と生成が分離されたモジュール式パイプライン
  2. エンドツーエンドで最適化する
    QAデータセットで評価を記述し、MIPROを実行して改善してください。✓ コピーしました
    → スコア差分付きのコンパイル済みパイプライン

結果: プロンプトを書き直すのではなく、評価を変更することで改善できるRAGパイプライン。

注意点
  • リトリーバーの品質がエンドツーエンドの品質の上限になる — 生成の最適化の前に、検索を個別に評価する(recall@k)
組み合わせ: local-rag

組み合わせ

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

dspy-skill + local-rag

ローカルリトリーバーをDSPyのRAGモジュールに組み込む

ColBERTリトリーバーをlocal-rag MCPに差し替えて検索ソースとして使用してください。✓ コピーしました
dspy-skill + filesystem

DSPyプログラム、評価、アーティファクトをリポジトリ内で整理する

programs/、evals/、artifacts/ ディレクトリ構成でDSPyプロジェクトをセットアップしてください。✓ コピーしました

ツール

このMCPが提供する機能

ツール入力呼び出すタイミングコスト
signature-design task spec DSPyプログラムの開始時 0
module-authoring signatures + flow シグネチャ定義の後 0
teleprompter-optimization module + eval 評価の準備ができた後 最適化時のLLMトークン
evaluation-harness task data 最適化の実行前 0

コストと制限

運用コスト

APIクォータ
最適化実行時にLLMトークンが支配的なコストとなります
呼び出しあたりのトークン
高額になる可能性があります — 最適化がLLMを数百回呼び出す場合があります
金額
プロバイダーにより異なる
ヒント
テレプロンプターの実行には安価なモデルを使用し、最終評価時のみ上位モデルにアップグレードしてください

セキュリティ

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

認証情報の保管: LLMプロバイダーのAPIキーを環境変数に格納
データ送信先: LLMプロバイダーのエンドポイント

トラブルシューティング

よくあるエラーと対処法

テレプロンプターが結果を悪化させているように見える

メトリクスの正確性を確認し、ホールドアウトセットを使用し、サンプルプールを拡大してください。

最適化が予算を使い果たす

max_bootstrapped_demosに上限を設定し、探索中はより安価なモデルを使用してください。

代替案

dspy-skills 他との比較

代替案代わりに使う場面トレードオフ
prompt-architect-skillDSPyのプログラマティックなアプローチではなく、プロンプトレベルの職人的な最適化を求める場合手作業による作り込み vs 自動最適化

その他

リソース

📖 GitHub の公式 README を読む

🐙 オープンな issue を見る

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