github-hunter について
github-hunterは、BidDeed.AIとLife OSに関連するGitHubリポジトリを探すスキルです。基準に沿って評価し、連携案とともに記録します。
主な機能
- 01トピックや文脈に基づくリポジトリ検索
- 02スター数・更新状況・ドキュメント・関連性・ライセンスの評価
- 03Supabaseへの発見内容の保存
- 04連携案の提示
- 05リポジトリの絞り込みと優先順位付け
活用シーン
- 01指定技術のリポジトリ探し
- 02文字起こしで言及されたGitHubプロジェクトの確認
- 03連携候補リポジトリの評価
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ breverdbidder/ life-os --skill github-hunterインストール後、Claude Code で/github-hunterを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/github_api.mdscripts/archive_to_supabase.pyscore_repo.py詳細
GitHub Hunter スキル
BidDeed.AI と Life OS に関連する GitHub リポジトリを自動的に見つけ、基準に基づいて 0〜100 点で評価し、統合に関する推奨事項とともに Supabase にアーカイブします。
ワークフロー
1. 発見フェーズ
以下から抽出した関連キーワードを使って GitHub リポジトリを検索します。
- ユーザーのリクエスト(「X 向けのリポジトリを見つけて」)
- 動画の文字起こし(コンテンツ内で言及されているプロジェクト)
- 技術分野(差し押さえデータ、ADHD の生産性向上など)
2. 評価フェーズ(0〜100)
各リポジトリを以下の基準で評価します。
- スター数(0〜25 点):対数スケール、10K 以上のスターで 25 点
- 更新時期(0〜20 点):最終更新が 30 日以内なら 20 点、1 年以上前なら 0 点
- ドキュメント(0〜15 点):README の品質、例、API ドキュメント
- 関連性(0〜25 点):BidDeed.AI または Life OS への直接的な適用可能性
- ライセンス(0〜15 点):MIT/Apache は 15 点、GPL は 10 点、プロプライエタリは 0 点
計算式:
score = min(100,
(log10(stars + 1) / log10(10000)) * 25 +
max(0, 20 - (days_since_update / 15)) +
documentation_score +
relevance_score +
license_score
)
3. アーカイブフェーズ
Supabase の insights テーブルに以下を挿入します。
{
"category": "github_discovery",
"subcategory": "auto_hunter",
"title": "GitHub Hunter: {repo_name}",
"content": {
"repo_url": "https://github.com/{owner}/{name}",
"score": 85,
"stars": 1234,
"description": "...",
"language": "Python",
"license": "MIT",
"last_updated": "2025-12-20",
"integration_recommendation": "...",
"relevant_to": ["biddeed", "life-os"]
}
}
4. 通知フェーズ
以下の内容を含む応答で Ariel に通知します。
- リポジトリ名と URL
- スコア(色分け:🟢 80 以上、🟡 60〜79、🟠 40〜59、🔴 40 未満)
- 簡単な概要(1〜2 文)
- 統合に関する推奨事項
- 直接的な確認:「{repo} に追加しますか?」(はい/いいえ)
使用トリガー
明示的なリクエスト:
- 「{topic} 向けの GitHub リポジトリを探して」
- 「{domain} に関するプロジェクトを検索して」
- 「{technology} に関連するリポジトリを見つけて」
コンテキストに応じたトリガー:
- GitHub プロジェクトに言及する動画の文字起こし → 文字起こし後に自動検索
- GitHub URL を含む記事/ドキュメント → 抽出して評価
- トピックについて話した後にユーザーが「そこから何を統合できる?」と言う
評価例
スコア 95: fastapi/fastapi
- スター数 75K(25 点)、2 日前に更新(20 点)、優れたドキュメント(15 点)、BidDeed.AI API との関連性が非常に高い(25 点)、Apache ライセンス(15 点)
スコア 72: user/small-foreclosure-tool
- スター数 45(8 点)、1 週間前に更新(18 点)、基本的な README(8 点)、関連性が非常に高い(25 点)、MIT(15 点)
スコア 38: abandoned/old-project
- スター数 500(15 点)、2 年前に更新(0 点)、ドキュメントなし(0 点)、関連性は間接的(8 点)、MIT(15 点)
統合に関する推奨事項の形式
実行可能な統合手順を提示します。
### Integration Recommendation
**To BidDeed.AI:**
1. Use {feature} for {existing_workflow_stage}
2. Replace {current_approach} with {repo_approach}
3. Add workflow: `.github/workflows/{new_workflow}.yml`
**To Life OS:**
1. Integrate {tool} for {productivity_feature}
2. Add skill: `.claude/skills/{skill_name}/`
3. Update orchestrator to call {function}
**Estimated effort:** {hours} hours
**Dependencies:** {list}
**Risk level:** {low/medium/high}
通知テンプレート
🔍 **GitHub Hunter Discovery**
**{repo_name}** [{score_emoji} {score}/100]
https://github.com/{owner}/{name}
{description}
**Stats:** ⭐ {stars} | 📅 {last_updated} | 📜 {license} | 💬 {language}
**Integration:**
{integration_recommendation}
**Add to BidDeed.AI?** [Yes/No]
**Add to Life OS?** [Yes/No]
応用:一括検索
ユーザーがトピックまたは分野のリストを提示した場合:
# Example: "Find repos for foreclosure data scraping, PDF parsing, and workflow orchestration"
Topics:
1. foreclosure data scraping
2. PDF parsing
3. workflow orchestration
For each topic:
- Search GitHub API with 3-5 keyword variations
- Score top 10 results per topic
- Archive scores 60+ to Supabase
- Alert Ariel with top 3 across all topics
リポジトリ追加ワークフロー
ユーザーがリポジトリの追加を承認した場合:
-
追加先のリポジトリを決定します。
- BidDeed.AI →
breverdbidder/biddeed-conversational-ai - Life OS →
breverdbidder/life-os - 両方 → 両方に追加
- BidDeed.AI →
-
統合計画を作成します。
- ライブラリの場合:requirements.txt または package.json に追加
- ワークフローの場合:
.github/workflows/{name}.ymlを作成 - スキルの場合:
.claude/skills/{name}/SKILL.mdを作成 - スクリプトの場合:
src/integrations/またはagents/に追加
-
README に記載します。
- 「Integrations」セクションに追加
- リポジトリへのリンクを記載
- バージョンとライセンスを明記
-
判断をアーカイブします。
- Supabase のインサイトを
integration_status: "added"に更新 - 追加先のリポジトリを記録
- コミット SHA を記録
- Supabase のインサイトを
フィルター
以下のリポジトリを除外します。
- アーカイブ済み
- 2 年以上コミットがない(伝説的または基盤となるものを除く)
- BidDeed.AI のコア機能にプロプライエタリライセンスを適用している
- スター数が 10 未満で、作成から 30 日未満(スパムの可能性が高い)
以下のリポジトリを優先します。
- Python(BidDeed.AI)、JavaScript/TypeScript(Life OS)
- AI/ML、ウェブスクレイピング、ドキュメント処理、ワークフロー自動化
- メンテナンスが活発(過去 60 日以内にコミットがある)
- ドキュメントが明確
- 制約の緩いライセンス(MIT、Apache、BSD)
GitHub API の使用
web_search でリポジトリを見つけ、その後 web_fetch で詳細を確認します。
# Search
query = "foreclosure auction data scraping language:python"
search_url = f"https://github.com/search?q={query}&type=repositories&s=stars&o=desc"
# Fetch repo details
repo_url = "https://api.github.com/repos/{owner}/{name}"
# Get: stars, last_updated, description, language, license, topics
Supabase スキーマ
mocerqjnksmhcjzxrewo.supabase.co の insights テーブルに挿入します。
INSERT INTO insights (category, subcategory, title, content, created_at)
VALUES (
'github_discovery',
'auto_hunter',
'GitHub Hunter: {repo_name}',
'{
"repo_url": "...",
"score": 85,
"stars": 1234,
"description": "...",
"language": "Python",
"license": "MIT",
"last_updated": "2025-12-20",
"integration_recommendation": "...",
"relevant_to": ["biddeed"],
"integration_status": "pending"
}'::jsonb,
NOW()
);
セッション例
User: "Find GitHub repos for PDF form filling and data extraction"
Claude: [triggers github-hunter skill]
1. Search: "PDF form filling python", "PDF data extraction", "fillable pdf automation"
2. Discover:
- PyPDF2 (8.2K stars, score: 78)
- pdfplumber (6.1K stars, score: 82)
- pdf-form-fill (234 stars, score: 71)
3. Archive top 2 to Supabase
4. Alert:
🔍 **GitHub Hunter Discovery**
**pdfplumber** [🟢 82/100]
https://github.com/jsvine/pdfplumber
Plumb a PDF for detailed information about tables, text, images. Maintained, excellent docs.
**Stats:** ⭐ 6.1K | 📅 2025-12-15 | 📜 MIT | 💬 Python
**Integration:**
Replace manual PDF parsing in BECA scraper with pdfplumber for structured table extraction.
Use for tax certificate downloads from RealTDM.
**Add to BidDeed.AI?** [Yes/No]
注意事項
- 承認を求める前に、必ず Supabase にアーカイブします
- 通知のスコアしきい値:60 点
- 一括検索では、上位 3 件のみ通知し、60 点以上はすべてアーカイブします
- リポジトリがすでにコードベースにある場合は、
integration_status: "existing"に設定します