hezaohezao/github-deep-research
Multi-round deep research on any GitHub repo via API.
npx skills add https://github.com/HezaoHezao/poirot --skill github-deep-research
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.py helper. Poirot doesn't bundle that script, so this
> version uses bash with curl to the GitHub API directly + gh CLI when
> available.
analysis, or in-depth investigation of an open source project
# 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 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')
"
gh repo view $OWNER/$REPO
gh api repos/$OWNER/$REPO/commits --paginate | head -50
browse_page on valuable URLs for full content| 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 |
Always include inline citations: citation:Title immediately after each
claim from external sources.
Save report as: .poirot/outputs/research_{topic}_{YYYYMMDD}.md
Take hezaohezao/github-deep-research from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.