<< All versions
Skill v1.0.0
currentAutomated scan100/100hezaohezao/poirot/github-deep-research
──Details
PublishedOctober 25, 2026 at 06:23 PM
Content Hashsha256:a281a58db8f3f2d4...
Git SHA86bf279ad90c
──Files
Files (1 file, 4.6 KB)
SKILL.md4.6 KBactive
SKILL.md · 156 lines · 4.6 KB
version: "1.0.0" name: github-deep-research description: "Multi-round deep research on any GitHub repo via API." allowed-tools:
- bash
- web_search
- browse_page
- write_file
enabled: true related-skills: [deep-research] license: MIT author: Adapted from deer-flow (Bytedance, MIT)
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 bundledscripts/github_api.pyhelper. Poirot doesn't bundle that script, so thisversion usesbashwithcurlto the GitHub API directly +ghCLI whenavailable.
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
bash
# Resolve owner/repo from remote URLREMOTE_URL=$(git remote get-url origin 2>/dev/null || echo "")# Or user provides owner/repo directlyOWNER="owner"REPO="repo"
Repo metadata via curl
bash
# Repo summarycurl -s "https://api.github.com/repos/$OWNER/$REPO" | python3 -c "import sys, jsonr = 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]}')"# READMEcurl -s "https://api.github.com/repos/$OWNER/$REPO/readme" | python3 -c "import sys, json, base64r = json.load(sys.stdin)print(base64.b64decode(r['content']).decode('utf-8'))"# Recent commitscurl -s "https://api.github.com/repos/$OWNER/$REPO/commits?per_page=10" | python3 -c "import sys, jsonfor c in json.load(sys.stdin):print(f'{c[\"sha\"][:7]} {c[\"commit\"][\"author\"][\"date\"][:10]} {c[\"commit\"][\"message\"].splitlines()[0][:80]}')"# Languagescurl -s "https://api.github.com/repos/$OWNER/$REPO/languages"# Contributorscurl -s "https://api.github.com/repos/$OWNER/$REPO/contributors?per_page=10" | python3 -c "import sys, jsonfor c in json.load(sys.stdin):print(f'{c[\"login\"]:20s} {c[\"contributions\"]} commits')"
Via gh CLI (if available)
bash
gh repo view $OWNER/$REPOgh 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