GitHub Deep Research
SkillDev toolsMulti-round deep research on any GitHub repo via API.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the GitHub Deep Research skill
What this skill tells your AI
The instructions your AI receives, as published by hezaohezao/poirot in poirot/backend/agents/skill/builtin_skills/research/github-deep-research/SKILL.md and read by ahel’s review.
Multi-round research combining GitHub API, web_search, and browse_page to
produce comprehensive markdown reports on any GitHub repository.
Poirot note: The original deer-flow skill uses a bundled
scripts/github_api.pyhelper. Poirot doesn't bundle that script, so this version usesbashwithcurlto the GitHub API directly +ghCLI when available.
When to Use
- User provides a GitHub repository URL
- User asks for comprehensive analysis, timeline reconstruction, competitive analysis, or in-depth investigation of an open source project
- User wants to understand a project's architecture, history, or community
Research Workflow
- Round 1: GitHub API (repo metadata, README, file tree, contributors, commits)
- Round 2: Discovery (web search for overview, competitors)
- Round 3: Deep Investigation (architecture, timeline, community sentiment)
- Round 4: Deep Dive (commit history, issues/PRs for feature evolution)
Round 1 — GitHub API
Setup
# Resolve owner/repo from remote URL
REMOTE_URL=$(git remote get-url origin 2>/dev/null || echo "")
# Or user provides owner/repo directly
OWNER="owner"
REPO="repo"
Repo metadata via curl
# Repo summary
curl -s "https://api.github.com/repos/$OWNER/$REPO" | python3 -c "
import sys, json
r = json.load(sys.stdin)
print(f'Name: {r[\"full_name\"]}')
print(f'Description: {r[\"description\"]}')
print(f'Stars: {r[\"stargazers_count\"]}')
print(f'Forks: {r[\"forks_count\"]}')
print(f'Language: {r[\"language\"]}')
print(f'License: {r.get(\"license\",{}).get(\"spdx_id\",\"N/A\")}')
print(f'Created: {r[\"created_at\"][:10]}')
print(f'Updated: {r[\"updated_at\"][:10]}')
"
# README
curl -s "https://api.github.com/repos/$OWNER/$REPO/readme" | python3 -c "
import sys, json, base64
r = json.load(sys.stdin)
print(base64.b64decode(r['content']).decode('utf-8'))
"
# Recent commits
curl -s "https://api.github.com/repos/$OWNER/$REPO/commits?per_page=10" | python3 -c "
import sys, json
for c in json.load(sys.stdin):
print(f'{c[\"sha\"][:7]} {c[\"commit\"][\"author\"][\"date\"][:10]} {c[\"commit\"][\"message\"].splitlines()[0][:80]}')
"
# Languages
curl -s "https://api.github.com/repos/$OWNER/$REPO/languages"
# Contributors
curl -s "https://api.github.com/repos/$OWNER/$REPO/contributors?per_page=10" | python3 -c "
import sys, json
for c in json.load(sys.stdin):
print(f'{c[\"login\"]:20s} {c[\"contributions\"]} commits')
"
Via gh CLI (if available)
gh repo view $OWNER/$REPO
gh api repos/$OWNER/$REPO/commits --paginate | head -50
Round 2 — Discovery (3-5 web_search)
- Get overview and identify key terms
- Find official website/docs
- Identify main players/competitors
Round 3 — Deep Investigation (5-10 web_search + browse_page)
- Technical architecture details
- Timeline of key events
- Community sentiment
- Use
browse_pageon valuable URLs for full content
Round 4 — Deep Dive
- Analyze commit history for timeline
- Review issues/PRs for feature evolution
- Check contributor activity
Report Structure
- Metadata Block — Date, confidence level, subject
- Executive Summary — 2-3 sentence overview with key metrics
- Chronological Timeline — Phased breakdown with dates
- Key Analysis Sections — Topic-specific deep dives
- Metrics & Comparisons — Tables, growth charts
- Strengths & Weaknesses — Balanced assessment
- Sources — Categorized references
- Confidence Assessment — Claims by confidence level
Confidence Scoring
| Confidence | Criteria |
|---|---|
| High (90%+) | Official docs, GitHub data, multiple corroborating sources |
| Medium (70-89%) | Single reliable source, recent articles |
| Low (50-69%) | Social media, unverified claims, outdated info |
Citation Format
Always include inline citations: [citation:Title](URL) immediately after each
claim from external sources.
Output
Save report as: .poirot/outputs/research_{topic}_{YYYYMMDD}.md
Best Practices
- Start with official sources — Repo, docs, company blog
- Verify dates from commits/PRs — More reliable than articles
- Triangulate claims — 2+ independent sources
- Note conflicting info — Don't hide contradictions
- Distinguish fact vs opinion — Label speculation clearly
- Always include inline citations
Signals
- GitHub stars
- 220
- Forks
- 19
- Last commit
- Jul 2026
ahel review
S4info
community integration — published by hezaohezao, not github
Automated review, not a security audit. Ruleset v1.
Advanced
- Catalog kind
- skill
- Gateway key
github-deep-research- Source
- github.com/hezaohezao/poirot