evo-gh-report-generator
SkillFiles & storageComputes community pulse metrics from raw PR and issue data and writes a structured report.json file. Calculates PR counts by state, average time-to-merge, top contributor, bug issue counts, and resolved bugs. Use when you need to generate GitHub repository health metrics reports.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the evo-gh-report-generator skill
What this skill tells your AI
The instructions your AI receives, as published by openlair/openskill in tasks-evolved/gh-repo-analytics/environment/skills/evo-gh-report-generator/SKILL.md and read by ahel’s review.
Processes fetched PR/issue data to compute all required metrics and serialize results to report.json.
Key Concepts
- PR states: REST API returns state as 'open'/'closed' with separate 'merged' boolean
- Time-to-merge: measured from created_at to merged_at in days, rounded to 1 decimal
- Top contributor: person who opened the most PRs (by user.login)
- Bug detection: any issue where at least one label name contains substring 'bug' (case-insensitive)
- Resolved bugs: bug issues where state == 'closed'
- closed PRs: PRs with state 'closed' that are NOT merged (merged == false)
Usage
import sys
sys.path.insert(0, '/app/environment/skills/evo-gh-report-generator/scripts')
from utils import compute_pr_metrics, compute_issue_metrics, generate_report
# prs = list of PR dicts from GitHub REST API
# issues = list of issue dicts from GitHub Search API
pr_metrics = compute_pr_metrics(prs)
issue_metrics = compute_issue_metrics(issues)
report = generate_report(pr_metrics, issue_metrics, "/app/report.json")
Functions
is_bug_issue(issue_data)- Check if issue has a bug labelidentify_top_contributor(prs)- Find top PR author by countcompute_pr_metrics(prs)- Compute total/merged/closed/avg_merge_days/top_contributorcompute_issue_metrics(issues)- Compute total/bug/resolved_bugsgenerate_report(pr_metrics, issue_metrics, output_path)- Write report.json
Output Format
{
"pr": {
"total": <int>,
"merged": <int>,
"closed": <int>,
"avg_merge_days": <float>,
"top_contributor": <str>
},
"issue": {
"total": <int>,
"bug": <int>,
"resolved_bugs": <int>
}
}
Signals
- GitHub stars
- 91
- Forks
- 4
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
evo-gh-report-generator- Source
- github.com/openlair/openskill