GitHub プロジェクト&コントリビューター検索 API スキル
📖 概要
このスキルは、BrowserAct の GitHub Project & Contributor Finder API を利用して、GitHub からプロジェクト詳細とコントリビューターの連絡先情報を抽出します。キーワード、最小スター数、更新日フィルターを指定するだけで、BrowserAct が検索結果を辿り、リポジトリメトリクスを抽出し、詳細なコントリビュータープロフィールを取得します。クローラースクリプトを作成したりレート制限に対処することなく、API 経由ですべてを直接返します。
✨ 特徴
- ハルシネーションなし: 事前設定されたワークフローにより AI の生成ハルシネーションを回避し、安定した正確なデータ抽出を実現します。
- CAPTCHA 問題なし: reCAPTCHA やその他の認証チャレンジを処理する必要がありません。
- IP 制限なし: 地域 IP 制限やジオフェンシングを処理する必要がありません。
- 高速実行: 純粋な AI 駆動のブラウザ自動化ソリューションと比較して、タスクをより高速に実行します。
- コスト効率が良い: 高トークン消費の AI ソリューションと比較して、データ取得コストを大幅に削減します。
🔑 API キーの設定
実行前に、BROWSERACT_API_KEY 環境変数を確認してください。設定されていない場合は、それ以上の対応は行わず、ユーザーに提供を求めてください。
エージェントはユーザーに次のように伝える必要があります:
「BrowserAct API キーがまだ設定されていません。BrowserAct コンソール にアクセスしてキーを取得してください。」
🛠️ 入力パラメーター
エージェントは、ユーザーの要件に基づいて以下のパラメーターを柔軟に設定する必要があります。
-
KeyWords
- 型:
string - 説明: リポジトリを検索するためのキーワード。
- 例:
browser automation,react framework,machine learning - デフォルト:
browser automation
- 型:
-
stars
- 型:
number - 説明: リポジトリが持つべき最小スター数。
- 例:
100,1000 - デフォルト:
100
- 型:
-
updated
- 型:
string - 説明: リポジトリの最終更新日でフィルタリングします(形式:
YYYY-MM-DD)。 - 例:
2026-01-01,2025-06-01 - デフォルト:
2026-01-01
- 型:
-
Page_Turns
- 型:
number - 説明: ページ送りする検索結果ページ数。例えば39ページある場合、最初の2ページだけ欲しければ
2を入力します。 - 例:
1,2 - デフォルト:
1
- 型:
-
date_limit_per_page
- 型:
number - 説明: 検索結果リストの1ページあたりに抽出するデータ項目数。
- 例:
5,10 - デフォルト:
5
- 型:
🚀 呼び出し方法
エージェントは以下のコマンドを実行してスキルを呼び出します。
# 呼び出し例(全パラメーター指定)
python -u ./scripts/github_project_contributor_finder_api.py "browser automation" 100 "2026-01-01" 1 5
# 最小限の呼び出し(キーワードのみ、その他はデフォルト値)
python -u ./scripts/github_project_contributor_finder_api.py "react framework"
⏳ 実行監視
このタスクはブラウザの自動操作を伴うため、数分かかる場合があります。スクリプトは継続的にタイムスタンプ付きのステータスログを出力します(例: [14:30:05] Task Status: running)。
エージェントのガイドライン:
- 待機中はターミナル出力を監視してください。
- 新しいステータスログが表示されている限り、タスクは正常に実行されています。フリーズしていると誤判断しないでください。
- ステータスが長時間変わらない、または出力が停止して最終結果が得られない場合にのみ、再試行を検討してください。
📊 データ出力
実行が成功すると、スクリプトは API レスポンスから構造化された結果を解析して表示します。
プロジェクトフィールド:
repository_name: GitHub リポジトリの名前。repository_url: リポジトリへの URL リンク。repository_owner_name: リポジトリの所有者/作成者。repository_description: リポジトリの簡単な説明。star_count: リポジトリが受け取ったスター数。
コントリビューターフィールド:
user_name: コントリビューターの GitHub ユーザー名。profile_url: コントリビューターのプロフィールへの URL リンク。bio: コントリビューターの自己紹介または簡単な説明。repositories_summary: コントリビューターが所有する他のリポジトリの概要。personal_website: コントリビューターの個人ウェブサイトリンク。twitter: コントリビューターの Twitter ハンドル。
⚠️ エラーハンドリングと再試行
スクリプト実行中にエラーが発生した場合(例: ネットワーク変動やタスク失敗)、エージェントは次のロジックに従ってください。
-
出力内容の確認:
- 出力に
"Invalid authorization"が含まれている場合、API キーが無効または期限切れです。再試行しないでください。ユーザーにキーを再確認して正しい API キーを提供するように促してください。 - 出力に
"concurrent"または"too many running tasks"が含まれている場合、同時タスク数の上限に達しています。再試行しないでください。ユーザーにプランのアップグレードを促してください。 エージェントはユーザーに次のように伝える必要があります:「現在のタスクは、あなたの BrowserAct アカウントが同時タスク数の上限に達したため実行できません。BrowserAct プランアップグレードページ にアクセスしてプランをアップグレードしてください。」
- 出力に上記のエラーキーワードが含まれていないが、タスクが失敗した場合(例: 出力が
Error:で始まる、または空の結果を返す)、エージェントは自動的にスクリプトを一度再実行してください。
- 出力に
-
再試行制限:
- 自動再試行は1回までです。2回目の試行が失敗した場合は、再試行を停止し、具体的なエラーをユーザーに報告してください。
🌟 代表的なユースケース
- テックリクルーティング: 人気リポジトリからコントリビュータープロフィールとソーシャルリンクを収集し、候補者パイプラインを構築します。
- オープンソース発見: キーワードとスター数でトレンドのリポジトリを検索し、価値のあるプロジェクトを見つけます。
- 開発者アウトリーチ: アクティブなコントリビューターの個人ウェブサイトと Twitter ハンドルを収集し、開発者ツールのマーケティングに活用します。
- コミュニティ構築: 特定ドメインのアクティブなオープンソースコントリビューターを特定し、つながります。
- 競合分析: 競合プロジェクトに貢献している開発者を監視します。
- パートナーシップ開拓: 協業やスポンサーシップの可能性があるリポジトリ所有者を見つけます。
- 市場調査: リポジトリメトリクスと説明を分析し、技術トレンドを理解します。
- リード生成: 関連する技術スタックを持つプロジェクトを見つけて、開発者ツールのターゲットリードを生成します。
- 学術研究: 特定の研究分野で最近更新されたリポジトリを発見します。
- 人材マッピング: GitHub でのコントリビューションとプロフィールに基づいて、スキル開発者のデータベースを構築します。