Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Multi-round deep research on any GitHub repo via API.
.claude/skills/hezaohezao-github-deep-research/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-11 | ✗→✓ | ▲ Improved | 40% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 81% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 14% | 0% |
| case-19 | ✗→✓ | ▲ Improved | 20% | 0% |
| case-05 | ✓→✗ | ▼ Worse | -27% | 0% |
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
bash# 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"
bash# 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') "
bashgh 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](URL) immediately after each claim from external sources.
Save report as: .poirot/outputs/research_{topic}_{YYYYMMDD}.md
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 58,086 | 11,630 | -80% | 1 | 1 | 0% | 7,626 | 2,032 | -73% | 0 | 0 | — |
case-02 | fail→fail | 52,392 | 12,244 | -77% | 1 | 1 | 0% | 6,764 | 1,871 | -72% | 0 | 0 | — |
case-03 | fail→fail | 43,229 | 14,108 | -67% | 1 | 1 | 0% | 7,107 | 2,027 | -71% | 0 | 0 | — |
case-04 | pass→pass | 8,834 | 12,074 | +37% | 1 | 1 | 0% | 1,404 | 3,100 | +121% | 0 | 0 | — |
case-05 | pass→fail | 21,284 | 6,184 | -71% | 1 | 1 | 0% | 2,058 | 1,500 | -27% | 0 | 0 | — |
case-06 | pass→pass | 9,182 | 12,217 | +33% | 1 | 1 | 0% | 1,561 | 3,258 | +109% | 0 | 0 | — |
case-07 | fail→fail | 32,455 | 20,969 | -35% | 1 | 1 | 0% | 7,154 | 1,954 | -73% | 0 | 0 | — |
case-08 | fail→fail | 8,383 | 13,003 | +55% | 1 | 1 | 0% | 286 | 1,707 | +497% | 0 | 0 | — |
case-09 | pass→pass | 20,511 | 14,599 | -29% | 1 | 1 | 0% | 1,832 | 3,906 | +113% | 0 | 0 | — |
case-10 | pass→pass | 10,102 | 3,138 | -69% | 1 | 1 | 0% | 1,467 | 1,793 | +22% | 0 | 0 | — |
case-11 | fail→pass | 9,614 | 3,991 | -58% | 1 | 1 | 0% | 1,355 | 1,902 | +40% | 0 | 0 | — |
case-12 | fail→pass | 8,193 | 6,334 | -23% | 1 | 1 | 0% | 1,201 | 2,175 | +81% | 0 | 0 | — |
case-13 | fail→fail | 6,737 | 9,761 | +45% | 1 | 1 | 0% | 1,075 | 1,814 | +69% | 0 | 0 | — |
case-14 | fail→pass | 11,821 | 6,619 | -44% | 1 | 1 | 0% | 2,135 | 2,437 | +14% | 0 | 0 | — |
case-15 | pass→pass | 10,286 | 7,989 | -22% | 1 | 1 | 0% | 1,591 | 2,554 | +61% | 0 | 0 | — |
case-16 | pass→fail | 8,357 | 10,673 | +28% | 1 | 1 | 0% | 1,202 | 1,767 | +47% | 0 | 0 | — |
case-17 | fail→fail | 18,452 | 10,370 | -44% | 1 | 1 | 0% | 2,643 | 1,736 | -34% | 0 | 0 | — |
case-18 | fail→fail | 16,080 | 16,975 | +6% | 1 | 1 | 0% | 2,714 | 4,170 | +54% | 0 | 0 | — |
case-19 | fail→pass | 9,201 | 4,087 | -56% | 1 | 1 | 0% | 1,413 | 1,699 | +20% | 0 | 0 | — |
case-20 | pass→pass | 18,340 | 22,474 | +23% | 1 | 1 | 0% | 2,675 | 4,658 | +74% | 0 | 0 | — |
case-21 | pass→pass | 11,935 | 22,008 | +84% | 1 | 1 | 0% | 1,799 | 2,761 | +53% | 0 | 0 | — |
case-22 | pass→pass | 8,416 | 4,163 | -51% | 1 | 1 | 0% | 1,528 | 2,039 | +33% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 13 counted toward the lift figure. The other 9 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +9 percentage points is the difference between those two pass rates over the 13 comparable cases. 2 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.