external-reference-research について
不慣れなライブラリやフレームワークを扱う開発者向けの調査スキルです。公式ドキュメント、オープンソースコード、コミュニティ資料を照合し、実用例も調べます。
主な機能
- 01公式ドキュメントと API の調査
- 02GitHub の実装例検索
- 03ライブラリとバージョンの比較
- 04トラブルシューティングとベストプラクティス調査
活用シーン
- 01不慣れなライブラリの API 情報を探す
- 02実際の利用例や設定例を見つける
- 03技術選択肢やバージョン変更を比較する
- 04サードパーティ製ライブラリの問題を調べる
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ 404kidwiz/ claude-supercode-skills --skill external-reference-researchインストール後、Claude Code で/external-reference-researchを入力して読み込まれたか確認します。
詳細
外部リファレンス調査スキル
外部ドキュメント、オープンソースリポジトリ、技術リソースを調査し、ライブラリやフレームワークの実装例、ベストプラクティス、公式ガイダンスを見つけることを得意としています。
目的
使い慣れていないライブラリ、フレームワーク、テクノロジーを扱う際に、外部ソースから効率的に情報を調査して取得します。公式ドキュメント、オープンソースの実装、コミュニティのベストプラクティス、実際のコード例に関する知識を活用します。
このスキルを使用する場面
次のような場合に使用します。
- 使い慣れていないライブラリやフレームワークの使い方を理解する
- 本番コードで特定のライブラリが使われている例を見つける
- 公式 API ドキュメントやベストプラクティスを取得する
- GitHub リポジトリ内の実装を検索する
- 外部依存関係とその統合パターンを理解する
- サードパーティライブラリに関する質問への回答を見つける
- 技術の選択肢や代替案を調査する
- コミュニティのベストプラクティスや慣習を見つける
主な機能
ドキュメント調査
- 公式ドキュメント:ライブラリのメンテナーが提供する信頼性の高いドキュメントを取得します
- API リファレンス:メソッドのシグネチャ、パラメーター、使用パターンを見つけます
- 入門ガイド:セットアップと初期化の手順を見つけます
- ベストプラクティス:推奨されるパターンや慣習を抽出します
- 移行ガイド:バージョンアップや移行に関するドキュメントを見つけます
- トラブルシューティング:よくある問題と解決方法を見つけます
オープンソースコード検索
- GitHub コード検索:特定のライブラリを使用した実際の実装を見つけます
- リポジトリの調査:プロジェクトの構造と構成を理解します
- 使用パターン:開発者が実際にライブラリをどのように使っているかを特定します
- 実装例:一般的なタスクに対応する具体的なコード例を見つけます
- 設定パターン:実際のプロジェクトでライブラリを設定する方法を見つけます
- テスト手法:プロジェクトが統合をどのようにテストしているかを確認します
技術調査
- ライブラリの比較:代替案とトレードオフを比較します
- バージョン調査:バージョン間の変更点を理解します
- コミュニティの総意:広く採用されているパターンと例外的なケースを特定します
- パフォーマンスに関する考慮事項:パフォーマンスガイドやベンチマークを見つけます
- セキュリティ勧告:既知の脆弱性と修正を見つけます
検索戦略
ライブラリを調査する場合
公式ドキュメントから始める:
- 公式ドキュメントサイトを見つけます(通常は libraryname.dev/docs など)
- 全体像を把握するため、入門ガイドを探します
- 特定の API リファレンスのセクションを検索します
- 例やチュートリアルのセクションを探します
- 移行ガイドやアップグレードガイドを確認します
実際の使用例で補完する:
- GitHub で、本番コードにおけるライブラリの使用例を検索します
- 一般的なパターンを理解するため、複数の例を見つけます
- 実際のプロジェクトにある設定例を探します
- メンテナーが採用しているテスト手法を特定します
- コミュニティの課題と解決策を確認します
Context7 との連携:
- Context7 を使って公式ドキュメントを直接検索します
- 適切にフォーマットされたコード例を取得します
- API の構造とシグネチャを理解します
- ライブラリ固有のベストプラクティスにアクセスします
複数ソースを使った調査
ライブラリやフレームワークに関する質問に回答する場合:
- 公式ドキュメントから始めて、信頼性の高い情報を確認します
- オープンソースプロジェクトの例で検証します
- コミュニティのリソースを確認して、一般的なパターンを把握します
- 調査結果をまとめて、明確で実践的なガイダンスを作成します
調査ワークフロー
パターン 1:新しいライブラリの統合
Question: How do I integrate X library?
1. Get official docs from Context7
2. Find GitHub examples of integration
3. Identify common configuration patterns
4. Check for testing approaches
5. Provide clear integration steps with examples
パターン 2:特定の使用方法を探す
Question: How do I do X with Y library?
1. Search official docs for X functionality
2. Find GitHub examples of similar implementations
3. Look for patterns in configuration or initialization
4. Provide working code example
パターン 3:トラブルシューティング
Question: Why is X not working with Y library?
1. Search official docs for common issues
2. Look for GitHub issues with similar problems
3. Find Stack Overflow or community discussions
4. Identify common fixes and workarounds
ツールの使用戦略
主なツール
Context7(ライブラリのドキュメント):
- 公式 API ドキュメントを参照します
- 特定のメソッド、クラス、概念を検索します
- 適切な構文を使ったコード例を取得します
- ライブラリ固有のベストプラクティスを確認します
GitHub コード検索(実際のコード例):
- 本番コードでの実装を見つけます
- 特定の使用パターンを検索します
- 設定方法を確認します
- テスト戦略を特定します
ウェブ検索(より幅広い調査):
- トラブルシューティングガイドや記事を見つけます
- コミュニティでの議論や解決策を探します
- 代替アプローチを見つけます
- ライブラリを比較します
調査のベストプラクティス
情報源の優先順位:
- 公式ドキュメント(最も信頼性が高い)
- メンテナーによる例(公式 GitHub リポジトリ)
- 高品質なオープンソースプロジェクト(実際の使用例)
- コミュニティの情報(Stack Overflow、ブログ)— 公式ドキュメントと照合します
検証:
- 複数の情報源の情報を相互参照します
- コミュニティの回答より公式ドキュメントを優先します
- 情報の新しさを確認します(ライブラリのバージョンが重要です)
- コード例が実際に動作することを確認します
効率性:
- 具体的な検索から始め、必要に応じて範囲を広げます
- 複数の検索語を並行して使います
- ライブラリの現行バージョンに焦点を当てます
- メンテナンスされているプロジェクトを例として優先します
主な原則
速度より正確さを重視:ガイダンスを提供する前に、複数の情報源で情報を検証します
公式の情報源を優先:ライブラリのメンテナーによるドキュメントを優先します
コンテキストを考慮:ユーザー固有のユースケースと制約を理解します
実用的な例を提示:抽象的な説明だけでなく、動作するコードを提示します
バージョンを考慮:例を探す際にライブラリのバージョンを考慮します
対話の例
- 「データ取得に React Query を使うにはどうすればよいですか?」
- 「本番コードで GraphQL サブスクリプションを使っている例を見つけてください」
- 「Tailwind CSS を設定する最適な方法は何ですか?」
- 「NextAuth.js で認証を処理するにはどうすればよいですか?」
- 「Zustand の状態管理パターンの例を見つけてください」
- 「Redis を Node.js と統合するにはどうすればよいですか?」
- 「Express でエラーを処理する推奨方法は何ですか?」
- 「Docker のマルチステージビルドを本番環境で使用している例を見つけてください」
- 「FastAPI プロジェクトをどのように構成すればよいですか?」
- 「Prisma ORM を使用する際のベストプラクティスは何ですか?」
例
例 1:React Query の統合に関する調査
シナリオ: 開発者が新しいプロジェクト向けに React Query の統合パターンを理解する必要があります。
調査方法:
- 公式ドキュメント:Context7 から React Query v5 のドキュメントを取得しました
- GitHub の例:本番環境での実装例を 50 件以上見つけました
- パターンの統合:共通の統合パターンを特定しました
主な調査結果:
- サーバー状態管理とクライアント状態の分離
- キャッシュ戦略と無効化のパターン
- エラー処理と再試行ロジック
- TypeScript の統合パターン
推奨される方法:
// Modern React Query v5 pattern
const { data } = useQuery({
queryKey: ['todos'],
queryFn: fetchTodos,
staleTime: 1000 * 60 * 5, // 5 minutes
gcTime: 1000 * 60 * 60, // 1 hour
})
成果物:
- コード例を含む統合ガイド
- v4 から v5 への移行手順
- パフォーマンス最適化のヒント
- 回避すべきよくある落とし穴
例 2:Docker のマルチステージビルドのベストプラクティス
シナリオ: 開発者が本番環境に対応した Docker のマルチステージビルドの例を求めています。
調査プロセス:
- 公式ドキュメント:Docker のマルチステージビルドに関するドキュメントを取得しました
- GitHub 検索:人気のリポジトリから 100 件以上の実装例を見つけました
- 分析:さまざまな技術スタックに共通するパターンを特定しました
一般的なパターン:
# Stage 1: Build
FROM node:20-alpine AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build
# Stage 2: Production
FROM node:20-alpine AS production
WORKDIR /app
COPY --from=builder /app/dist ./dist
COPY --from=builder /app/node_modules ./node_modules
USER node
CMD ["node", "dist/index.js"]
特定されたベストプラクティス:
- 最小限のベースイメージ(alpine 系)
- 依存関係レイヤーのキャッシュ
- 非 root ユーザーでの実行
- ビルド引数の最適化
結果:
- イメージサイズを 80% 削減
- レイヤーキャッシュによりビルド時間を短縮
- 攻撃対象領域を最小化し、セキュリティスコアを向上
例 3:Next.js と NextAuth.js による認証
シナリオ: 開発者が Next.js アプリの認証実装に関するガイダンスを必要としています。
調査ワークフロー:
- 公式ドキュメント: NextAuth.js v5 のドキュメントを取得
- GitHub の例: 本番環境での実装例を 25 件以上分析
- プロバイダー分析: OAuth、Credentials、カスタムプロバイダーを比較
実装パターン:
- サーバーサイドとクライアントサイドのセッション管理
- ルート保護のパターン
- カスタム Credentials プロバイダーの設定
- データベースアダプターとの統合
セキュリティに関する考慮事項:
- CSRF 保護の仕組み
- セッションのセキュリティと Cookie の設定
- プロバイダーのセキュリティに関するベストプラクティス
- レート制限とブルートフォース攻撃への対策
成果物:
- 3 つのプロバイダー例を含む実装ガイド
- 本番環境向けセキュリティチェックリスト
- v4 から v5 への移行ガイド
- 認証フローのテスト戦略
ベストプラクティス
ドキュメントの調査
- 公式情報から始める: 常に公式ドキュメントから確認します
- バージョンを確認する: ドキュメントが使用中のバージョンに対応していることを確認します
- API リファレンス: メソッドのシグネチャとパラメーターを個別に確認します
- まずは例を確認する: 詳細に読み込む前に、動作する例を探します
- 移行ガイド: バージョンを変更する際は、アップグレード手順を確認します
GitHub のコード検索
- 具体的なパターンで検索する: キーワードではなく、正確なコードパターンを使用します
- スター数で絞り込む: メンテナンスが行き届いたプロジェクトを優先します
- 最近の活動を確認する: 継続的にメンテナンスされているプロジェクトを探します
- 複数の例を確認する: パターンごとに 3 件以上の実装例を探します
- テストを読む: テストから実際の使用パターンが分かります
検証と妥当性確認
- 複数の情報源を照合する: 複数の情報源で情報を確認します
- コード例をテストする: 常に自分の環境でコードを検証します
- 日付を確認する: 例が最近のものであることを確かめます
- 依存関係を確認する: 必要なライブラリのバージョンを記録します
- コミュニティの評価を確認する: コミュニティからのフィードバックや問題を確認します
情報の統合と提供
- 直接的な回答: 明確で実行に移せる回答を提供します
- 動作するコード: 実行可能なコード例を含めます
- 状況に合わせた調整: ユーザーの技術スタックに合わせて例を調整します
- ベストプラクティスの注記: 推奨されるパターンを強調します
- 注意点: よくある落とし穴やアンチパターンを指摘します
効率化の戦略
- 並行検索: 複数の検索を同時に実行します
- 具体的なクエリ: 最初は範囲を絞り、必要に応じて広げます
- 情報源の優先順位: 公式 > メンテナー > コミュニティ
- バージョンを絞る: 特定のライブラリバージョンを対象にします
- ツールを使いこなす: 高度な検索演算子を習得します
出力形式
調査結果を提示する際は、次の項目を含めます。
- 直接的な回答: 質問への明確で簡潔な回答
- コード例: 公式ドキュメントまたは検証済みの情報源に基づく動作する例
- 複数のアプローチ: 該当する場合は、目的を達成するさまざまな方法を示す
- 情報源の明記: 情報の出所(公式ドキュメント、GitHub など)
- ベストプラクティスの注記: 推奨されるパターンと注意点を強調する
- バージョンに関する注記: ライブラリのバージョンによって動作が異なる場合は、その旨を記載する