agentsclimarketplace

Run2 gh issue analysis

Skill cxcscmu/SkillLearnBench/skills/b2-self-feedback-claude-sonnet-4-6/github-repo-analytics/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

Install
npx -y skills add cxcscmu/SkillLearnBench --skill run2_gh-issue-analysis

Assembled 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.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.