Run2 gh issue analysis
How to identify bug report issues and count resolved bugs in a date range from GitHub Search API results.From its SKILL.md
npx -y skills add cxcscmu/SkillLearnBench --skill run2_gh-issue-analysisAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
SKILL.md
1.8 KB, 471 tokens by cl100k_base, as published. Nobody here has run it
GitHub Issue Analysis: Bug Detection and Resolution
Bug Report Detection
A bug report = issue with at least one label whose name contains the substring "bug" (case-insensitive).
Labels from the Search API are returned as objects:
"labels": [{"id": 1234, "name": "type: bug", "color": "d73a4a", ...}]
def is_bug_report(issue):
"""Returns True if any label name contains 'bug' (case-insensitive)."""
labels = issue.get("labels", [])
return any("bug" in lbl.get("name", "").lower() for lbl in labels)
Counting Resolved Bugs
"Resolved bugs" = bug report issues (created in the month) that were closed during the same month.
MONTH_START = "2024-12-01T00:00:00Z"
MONTH_END = "2025-01-01T00:00:00Z" # exclusive
def is_resolved_in_month(issue):
if issue.get("state") != "closed":
return False
closed_at = issue.get("closed_at") or ""
return MONTH_START <= closed_at < MONTH_END
bug_issues = [i for i in issues if is_bug_report(i)]
resolved_bugs = [i for i in bug_issues if is_resolved_in_month(i)]
String Comparison for ISO 8601 Dates
ISO 8601 timestamps like "2024-12-15T10:30:00Z" are lexicographically sortable — direct string comparison >= and < works correctly when all strings use the same format.
Complete Example
issues = fetch_search("repo:cli/cli is:issue created:2024-12-01..2024-12-31")
total_issues = len(issues)
bug_issues = [i for i in issues if is_bug_report(i)]
resolved_bugs = [i for i in bug_issues if is_resolved_in_month(i)]
print(f"Total issues: {total_issues}")
print(f"Bug reports: {len(bug_issues)}")
print(f"Resolved bugs: {len(resolved_bugs)}")
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.