run2_gh-issue-analysis
How to identify bug report issues and count resolved bugs in a date range from GitHub Search API results.
- License 许可
- MIT
- 最近更新
- 2026-10-02
- Stars
- ★ 93
- Forks
- 8
01 前言 Front Matter
- name
- run2_gh-issue-analysis
- description
- How to identify bug report issues and count resolved bugs in a date range from GitHub Search API results.
03 SKILL.md 正文
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)}")
04 同仓库更多 Skills
object_counter
Count occurrences of an object in the image using computer vision algorithm.
travel-planning-workflow
Invoke this skill when performing travel planning. It defines a structured workflow for generating itineraries. Following this workflow is essential to ensure the final plan satisfies user requirements.
bundled-dataset-search-tool
invoke this skill when you need to perform database search for travel planning. This skill provides some useful pre-packaged tools to look up accommodations, attractions, cities, driving distance, flights, and restaurants from the bundled dataset.
glm-output
Output-processing guidance for GLM tasks. Especially useful after glm-basics and glm-calibration when you need verifier-matching metrics from output.nc and a final /root/metrics.json.
glm-calibration
Calibration guidance for GLM tasks. Often most effective after glm-basics has clarified the setup; glm-output is the companion skill for exact final metric computation.
glm-basics
A good starting point for GLM calibration tasks. Use to inspect glm3.nml, confirm how GLM runs, and identify the relevant files before moving on to calibration and output evaluation.