lingzhi227/agent-research-skills/github-research
Claude Code and agent skill by lingzhi227/agent-research-skills
- community
Checking that the SKILL.md file is still in the repository.
Explore and analyze GitHub repositories related to a research topic. Reads deep-research output, discovers repos from multiple sources, deeply analyzes code, and produces integration blueprints.
Install
npx vskill@latest install lingzhi227/agent-research-skills/github-researchSKILL.md
GitHub Research Skill
Trigger
Activate this skill when the user wants to:
- "Find repos for [topic]", "GitHub research on [topic]"
- "Analyze open-source code for [topic]"
- "Find implementations of [paper/technique]"
- "Which repos implement [algorithm]?"
- Uses
/github-research <deep-research-output-dir>slash command
Overview
This skill systematically discovers, evaluates, and deeply analyzes GitHub repositories related to a research topic. It reads deep-research output (paper database, phase reports, code references) and produces an actionable integration blueprint for reusing open-source code.
Installation: ~/.claude/skills/github-research/ — scripts, references, and this skill definition. Output: ./github-research-output/{slug}/ relative to the current working directory. Input: A deep-research output directory (containing paper_db.jsonl, phase reports, code_repos.md, etc.)
6-Phase Pipeline
Output Directory Structure
Scripts Reference
All scripts are Python 3, stdlib-only, located in ~/.claude/skills/github-research/scripts/.
| Script | Purpose | Key Flags | |
|---|---|---|---|
extract_research_refs.py | Parse deep-research output for GitHub URLs, paper refs, keywords | --research-dir, --output | |
search_github.py | Search GitHub repos via gh api | --query, --language, --min-stars, --sort, --max-results, --topic, --output | |
search_github_code.py | Search GitHub code for implementations | --query, --language, --filename, --max-results, --output | |
search_paperswithcode.py | Search Papers With Code for paper→repo mappings | --paper-title, --arxiv-id, --query, --output | |
repo_db.py | JSONL repo database management | subcommands: merge, filter, score, search, tag, stats, export, rank | |
repo_metadata.py | Fetch detailed metadata via gh api | --repos, --input, --output, --delay | |
clone_repo.py | Shallow-clone repos for analysis | --repo, --output-dir, --depth, --branch | |
analyze_repo_structure.py | Map file tree, key files, LOC stats | --repo-dir, --output | |
extract_dependencies.py | Extract and parse dependency files | --repo-dir, --output | |
find_implementations.py | Search cloned repo for specific code patterns | --repo-dir, --patterns, --output | |
repo_readme_fetch.py | Fetch README without cloning | --repos, --input, --output, --max-chars | |
compare_repos.py | Generate comparison matrix across repos | --input, --output | |
compile_github_report.py | Assemble final report from all phases | --topic-dir |
Phase 1: Intake
Goal: Extract all relevant references, URLs, and keywords from the deep-research output.
Steps
- Create output directory structure:
``bash SLUG=$(echo "$TOPIC" | tr '[:upper:]' '[:lower:]' | tr ' ' '-' | tr -cd 'a-z0-9-') mkdir -p github-research-output/$SLUG/{phase1_intake,phase2_discovery/search_results,phase3_filtering,phase4_deep_dive/{repos,analyses},phase5_analysis,phase6_blueprint} ``
- Extract references from deep-research output:
``bash python ~/.claude/skills/github-research/scripts/extract_research_refs.py \ --research-dir <deep-research-output-dir> \ --output github-research-output/$SLUG/phase1_intake/extracted_refs.jsonl ``
- Review extracted refs: Read the generated JSONL. Note:
- GitHub URLs found directly in reports
- Paper titles and arxiv IDs (for Papers With Code lookup)
- Research keywords and themes (for GitHub search queries)
- Write intake summary: Create
phase1_intake/intake_summary.mdwith:
- Number of direct GitHub URLs found
- Number of papers with potential code links
- Key research themes extracted
- Planned search queries for Phase 2
Checkpoint
extracted_refs.jsonlexists with entriesintake_summary.mdwritten- Search strategy documented
Phase 2: Discovery
Goal: Cast a wide net to find 50-200 candidate repos from multiple sources.
Steps
- Search by direct URLs: Any GitHub URLs from Phase 1 → fetch metadata:
``bash python ~/.claude/skills/github-research/scripts/repo_metadata.py \ --repos owner1/name1 owner2/name2 ... \ --output github-research-output/$SLUG/phase2_discovery/search_results/direct_urls.jsonl ``
- Search Papers With Code: For each paper with an arxiv ID:
``bash python ~/.claude/skills/github-research/scripts/search_paperswithcode.py \ --arxiv-id 2401.12345 \ --output github-research-output/$SLUG/phase2_discovery/search_results/pwc_2401.12345.jsonl ``
- Search GitHub by keywords (3-8 queries based on research themes):
``bash python ~/.claude/skills/github-research/scripts/search_github.py \ --query "multi-agent LLM coordination" \ --min-stars 10 --sort stars --max-results 50 \ --output github-research-output/$SLUG/phase2_discovery/search_results/gh_query1.jsonl ``
- Search GitHub code (for specific implementations):
``bash python ~/.claude/skills/github-research/scripts/search_github_code.py \ --query "class MultiAgentOrchestrator" \ --language python --max-results 30 \ --output github-research-output/$SLUG/phase2_discovery/search_results/code_query1.jsonl ``
- Fetch READMEs for repos that lack descriptions:
``bash python ~/.claude/skills/github-research/scripts/repo_readme_fetch.py \ --input <repos.jsonl> \ --output github-research-output/$SLUG/phase2_discovery/search_results/readmes.jsonl ``
- Merge all results into master database:
``bash python ~/.claude/skills/github-research/scripts/repo_db.py merge \ --inputs github-research-output/$SLUG/phase2_discovery/search_results/*.jsonl \ --output github-research-output/$SLUG/repo_db.jsonl ``
- Write discovery log: Create
phase2_discovery/discovery_log.mdwith search queries used, results per source, total unique repos found.
Rate Limits
- GitHub search API: 30 requests/minute (authenticated)
- Papers With Code API: No strict limit but be respectful (1 req/sec)
- Add
--delay 1.0to batch operations when needed
Checkpoint
repo_db.jsonlpopulated with 50-200 reposdiscovery_log.mdwith search details
Phase 3: Filtering
Goal: Score and rank repos, select top 15-30 for deeper analysis.
Steps
- Enrich metadata for all repos:
``bash python ~/.claude/skills/github-research/scripts/repo_metadata.py \ --input github-research-output/$SLUG/repo_db.jsonl \ --output github-research-output/$SLUG/repo_db.jsonl \ --delay 0.5 ``
- Score repos (quality + activity scores):
``bash python ~/.claude/skills/github-research/scripts/repo_db.py score \ --input github-research-output/$SLUG/repo_db.jsonl \ --output github-research-output/$SLUG/repo_db.jsonl ``
- LLM relevance scoring: Read through the top ~50 repos (by quality_score) and assign
relevance_score(0.0-1.0) based on:
- Direct relevance to research topic
- Implementation completeness
- Code quality signals (from README, description)
- Update the relevance scores:
``bash python ~/.claude/skills/github-research/scripts/repo_db.py tag \ --input github-research-output/$SLUG/repo_db.jsonl \ --ids owner/name --tags "relevance:0.85" ``
- Compute composite scores and rank:
``bash python ~/.claude/skills/github-research/scripts/repo_db.py score \ --input github-research-output/$SLUG/repo_db.jsonl \ --output github-research-output/$SLUG/repo_db.jsonl python ~/.claude/skills/github-research/scripts/repo_db.py rank \ --input github-research-output/$SLUG/repo_db.jsonl \ --output github-research-output/$SLUG/phase3_filtering/ranked_repos.jsonl \ --by composite_score ``
- Select top repos: Filter to top 15-30:
``bash python ~/.claude/skills/github-research/scripts/repo_db.py filter \ --input github-research-output/$SLUG/phase3_filtering/ranked_repos.jsonl \ --output github-research-output/$SLUG/phase3_filtering/ranked_repos.jsonl \ --max-repos 30 --not-archived ``
- Write filtering report: Create
phase3_filtering/filtering_report.md:
- Stats before/after filtering
- Score distributions
- Top 30 repos with scores and rationale
Scoring Formula
Checkpoint
ranked_repos.jsonlwith 15-30 reposfiltering_report.mdwith scoring details
Phase 4: Deep Dive
Goal: Clone and deeply analyze the top 8-15 repos.
Steps
- Select repos for deep dive: Take top 8-15 from ranked list.
- Clone each repo (shallow):
``bash python ~/.claude/skills/github-research/scripts/clone_repo.py \ --repo owner/name \ --output-dir github-research-output/$SLUG/phase4_deep_dive/repos/ ``
- Analyze structure for each cloned repo:
``bash python ~/.claude/skills/github-research/scripts/analyze_repo_structure.py \ --repo-dir github-research-output/$SLUG/phase4_deep_dive/repos/name/ \ --output github-research-output/$SLUG/phase4_deep_dive/analyses/name_structure.json ``
- Extract dependencies:
``bash python ~/.claude/skills/github-research/scripts/extract_dependencies.py \ --repo-dir github-research-output/$SLUG/phase4_deep_dive/repos/name/ \ --output github-research-output/$SLUG/phase4_deep_dive/analyses/name_deps.json ``
- Find implementations: Search for key algorithms/concepts from research:
``bash python ~/.claude/skills/github-research/scripts/find_implementations.py \ --repo-dir github-research-output/$SLUG/phase4_deep_dive/repos/name/ \ --patterns "class Transformer" "def forward" "attention" \ --output github-research-output/$SLUG/phase4_deep_dive/analyses/name_impls.jsonl ``
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/github-research/SKILL.md
Popularity
- Repository stars
- 45
- Repository forks
- 12
- 7-day trend score
- 19
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 6 May 2026, 5 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/lingzhi227/agent-research-skills/github-research)