devtu-auto-discover-apis について
ToolUniverse のライフサイエンス API 対応範囲を拡張・保守する開発者向けのワークフロー型スキルです。カバレッジ分析から API の発見、ツール作成、検証、統合までを案内し、各段階に人による承認を設けています。
主な機能
- 01ToolUniverse の対応範囲の分析
- 02ライフサイエンス API の検索と評価
- 03API ツールと設定の作成
- 04スキーマと統合テストの検証
- 05ブランチと Git PR の準備
活用シーン
- 01領域別の API 対応計画
- 02新しい API の ToolUniverse ツール化
- 03既存ツールの品質監査
- 04関連 API ツールの一括提出
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ mims-harvard/ tooluniverse --skill devtu-auto-discover-apisインストール後、Claude Code で/devtu-auto-discover-apisを入力して読み込まれたか確認します。
同梱ファイルreferences/tool-templates.mdreferences/validation-guide.md
詳細
ライフサイエンス API の自動検出とツール作成
ライフサイエンス API を検出、作成、検証し、ToolUniverse に統合します。
4 段階のワークフロー
Gap Analysis → API Discovery → Tool Creation → Validation → Integration
↓ ↓ ↓ ↓ ↓
Coverage Web Search devtu-create devtu-fix Git PR
検出、作成、検証、および PR の前に、人による承認ゲートを設けます。
フェーズ 1:検出とギャップ分析
1.1 現在のカバレッジを分析する
ToolUniverse を読み込み、ツールをドメイン別(ゲノミクス、プロテオミクス、創薬、臨床、オミクス、イメージング、文献、パスウェイ、システム生物学)に分類します。カテゴリごとの数を数えます。
1.2 ギャップのあるドメインを特定する
- 重大なギャップ:カテゴリ内のツールが 5 個未満
- 中程度のギャップ:ツールが 5~15 個あり、重要なサブカテゴリが不足
- 新興のギャップ:まだ取り上げられていない新技術
よくあるギャップ:シングルセルゲノミクス、メタボロミクス、患者レジストリ、微生物ゲノミクス、マルチオミクス統合、合成生物学、毒性学。
1.3 API をウェブ検索する
ギャップのある各ドメインについて、複数のクエリを実行します。
"[domain] API REST JSON"— API を直接検索"[domain] public database"— データベースを検索"[domain] API 2025 OR 2026"— 最近のリリースを検索"[domain] database" site:nar.oxfordjournals.org— NAR Database Issue を検索
抽出する情報:ベース URL、エンドポイント、認証方式、パラメーターのスキーマ、レート制限。
1.4 スコアを付け、優先順位を決める
| 基準 | 最大ポイント |
|---|---|
| ドキュメントの品質 | 20 |
| API の安定性 | 15 |
| 認証の簡便さ | 15 |
| カバレッジ | 15 |
| メンテナンス | 10 |
| コミュニティ | 10 |
| ライセンス | 10 |
| レート制限 | 5 |
優先度:高(>=70)、中(50-69)、低(<50)。
1.5 検出レポートを作成する
カバレッジ分析、スコア付きの優先候補、実装ロードマップをまとめます。
フェーズ 2:ツールの作成
各 API について、Skill(skill="devtu-create-tool") を使用するか、以下のパターンに従います。
アーキテクチャの決定
- 複数のエンドポイント → 複数オペレーションのツール(単一クラス、複数の JSON ラッパー)
- 単一のエンドポイント → 単一オペレーションでも可
主な手順
- テンプレートに従ってツールクラスを設計します — references/tool-templates.md を参照
- oneOf return_schema を含む JSON 設定を作成します
- 実際のテスト例を見つけます(List エンドポイントを使用 → ID を抽出 → 検証)
default_config.pyに登録します
重要な要件
- return_schema は
oneOf(成功スキーマとエラースキーマ)を必ず含める必要があります - test_examples では実在する ID を使用する必要があります(プレースホルダーは禁止)
- ツール名は 55 文字以下にします
run()内で例外を発生させないでください — エラー辞書を返します- すべての HTTP リクエストにタイムアウト(30s)を設定します
フェーズ 3:検証
詳細なガイド:references/validation-guide.md
簡易検証チェックリスト
- スキーマ:oneOf 構造、データラッパー、エラーフィールド
- プレースホルダー:test_examples に TEST/DUMMY/PLACEHOLDER が含まれていない
- 読み込み:3 段階の確認(クラスの登録、設定の登録、ラッパーの生成)
- 統合テスト:
python scripts/test_new_tools.py [api_name] -v→ 100% 合格
失敗を修正するには、Skill(skill="devtu-fix-tool") を使用します。
フェーズ 4:統合
Skill(skill="devtu-github") を使用するか、以下の手順に従います。
- ブランチを作成します:
feature/add-[api-name]-tools - ツールのファイルと default_config.py をステージングします
- 内容がわかるメッセージを付けてコミットします
- プッシュし、検証結果を添えて PR を作成します
処理パターン
| パターン | 使用する場面 |
|---|---|
| バッチ(複数の API → 1 つの PR) | 同じドメイン、似た構造 |
| 反復(一度に 1 つの API) | 複雑な認証、独自のパターン |
| 検出のみ(レポート、ツールなし) | ロードマップの策定 |
| 検証のみ(既存のものを監査) | PR レビュー、品質チェック |
参考資料
- ツールテンプレート(Python クラス + JSON 設定):references/tool-templates.md
- 検証と統合のガイド:references/validation-guide.md