skills/taylorarndt/a11y-agent-team/github-analytics-scoring

github-analytics-scoring

SKILL.md

GitHub Analytics Scoring

Repository Health Score

Health Score = 100 - (sum of weighted penalties)

Penalties - CI & Reliability:
  Failing workflow, high confidence:         -10 points
  Flaky test (3+ failures/week):             - 5 points
  No CI configured:                          - 8 points

Penalties - Issues & PRs:
  Critical unresolved bug (P0):             -10 points
  Security alert (critical severity):       -10 points
  Security alert (high severity):           - 5 points
  PR open >14 days (stale):                 - 3 points each (max -9)
  Issue @mentioned, no response >7 days:    - 5 points each (max -10)
  >10 open issues with no labels/triage:    - 3 points

Penalties - Community Health:
  No CONTRIBUTING.md:                        - 5 points
  No CODE_OF_CONDUCT.md:                     - 3 points
  No branch protection on main:              - 5 points
  0 open "good first issue" labels:          - 2 points

Floor: 0 (minimum score)

Score Grades

Score Grade Meaning
90-100 A Excellent - healthy repo, minimal issues
75-89 B Good - minor issues, well-managed
50-74 C Needs attention - multiple signals requiring action
25-49 D Poor - significant problems impacting velocity
0-24 F Critical - major issues blocking team progress

Priority Scoring for Issues

Internally score each issue to determine sort order in dashboards and reports:

Signal Points
User @mentioned and hasn't responded +5
P0, P1, critical, urgent, blocker label +3
Tied to upcoming release milestone +3
New comments from others since user's last activity +2
High community interest (5+ positive reactions) +2
bug label +1
Assigned to user +1
Active related discussion thread +1
wontfix, duplicate, question label -1
No activity >14 days -2

Priority Scoring for Pull Requests

Signal Points
Review requested, user hasn't reviewed +5
PR has "changes requested" - author needs to update +4
PR is approved and ready to merge +3
Targets a release branch with upcoming deadline +3
CI failed on this PR +2
Merge conflicts present +2
High community interest (5+ positive reactions) +2
New comments on the PR +1
Active discussion thread linked to this PR +1
Draft PR -1
No activity >7 days -2

Priority Scoring for Discussions

Signal Points
User was @mentioned +3
High activity (10+ comments in 24h) +2
Linked to an issue/PR the user owns +1
No activity >7 days -1

Confidence Levels for Analytics Findings

Apply confidence levels to all bottleneck findings, health score deductions, and anomaly detections. Every finding in a report MUST include its confidence level.

Level When to Use Impact on Report
High Multiple corroborating signals, definitively observed (e.g., CI has failed 5 times this week, confirmed by logs) Report as fact; recommend remediation
Medium Found by one source, likely issue (e.g., PR open 14 days but author may be on leave) Report as finding; suggest investigation
Low Possible pattern, needs human review (e.g., velocity seems low but may be seasonal) Flag as observation; don't deduct from score

Confidence Tag Format in Reports

| Finding | Severity | Confidence | Recommendation |
|---------|----------|-----------|----------------|
| 3 PRs stale >14 days | High | **High** | Assign reviewers or close |
| Velocity 40% below 4-week avg | Medium | **Medium** | Verify - may be holiday period |
| Issue activity spike on Fridays | Low | **Low** | Monitor for 2 weeks before acting |

Delta Tracking

When re-running an analysis against a previous report, classify every finding by change status:

Status Definition
Fixed Was in previous report; no longer present
New Not in previous report; appears now
Persistent Remains from previous report, unchanged
Regressed Was previously fixed but has returned

Delta Report Section Format

## Changes Since Last Report ({previous date})

| Change | Finding | Details |
|--------|---------|---------|
|  Fixed | 3 stale PRs resolved | Team cleared the backlog |
|  New | CI failing on main | Build broke in last 24h |
|  Persistent (#3) | Velocity 30% below baseline | Third consecutive week |
|  Regressed | Security alert reopened | lodash advisory re-filed |

**Progress:** {N} fixed, {M} new, {P} persistent, {Q} regressed
**Score change:** {current_score} ({+/-N} from {previous_score})

Escalation Rule

If a finding is Persistent for 3+ consecutive reports, escalate:

Escalation: [{Finding}] has been present for {N} consecutive reports. Consider a team discussion or explicit ownership assignment to resolve this.


Velocity Metrics

Metric Formula Healthy Warning Critical
PR merge rate PRs merged / week >3/week 1-3/week <1/week
Issue close rate Issues closed / week >5/week 2-5/week <2/week
Review turnaround Avg hours PR open before first review <24h 24-72h >72h
Issue response time Avg hours until first team response <8h 8-48h >48h
Stale PR ratio PRs open >14 days / total open PRs <10% 10-30% >30%
CI reliability Passing runs / total runs (7-day) >95% 80-95% <80%

Contributor Metrics

Metric Formula Notes
PR commit ratio Commits / PRs merged High ratio = large PRs, consider splitting
Review coverage PRs reviewed by others / total PRs merged Low = single-contributor bottleneck
First-time contributor rate New contributors / total active contributors Healthy community growth signal
Contributor retention Active last month AND active this month / active last month Engagement health
Bus factor Min contributors whose departure halts 50%+ of commits <3 is high risk

Bottleneck Categories

Category Signals Example Finding
Review bottleneck High PR open time, review-requested PRs >3 days "4 PRs waiting for review >3 days - assign or redistribute"
CI bottleneck Frequent failures, long runtimes "Test suite 45min avg - 2x slower than 4-week average"
Stale work Issues/PRs with no activity >14 days "7 issues open >30 days with no recent comments"
Knowledge concentration 80%+ commits from one contributor "3 of 4 core modules have only one contributor - bus factor 1"
Response lag >24h average first response to new issues "Average first response: 38h - community may feel unsupported"
Security debt Open Dependabot alerts unresolved >7 days "2 critical alerts open for 12 days"
Release congestion >10 merged PRs unreleased "11 merged PRs awaiting release - coordinate cut date"

Trend Classification

Trend Definition
Improving Score increased 5+ points vs previous report
Stable Score within 5 points of previous report
Declining Score decreased 5+ points vs previous report
Recovering Score increased after 2+ consecutive Declining reports
New No previous report to compare

Scorecard Output Format

Single Repo

## Repository Health Score

| Metric | Value |
|--------|-------|
| Repo | [owner/repo](url) |
| Score | {0-100} |
| Grade | {A-F} |
| Trend | {Improving / Stable / Declining} |
| Open Security Alerts | {count} |
| Stale PRs (>14 days) | {count} |
| CI Reliability (7-day) | {%} |
| Unanswered @mentions | {count} |

Multi-Repo Scorecard

## Repository Health Scorecard

| Repo | Score | Grade | Trend | Critical Issues | Notes |
|------|-------|-------|-------|-----------------|-------|
| owner/repo-a | 88 | B | Improving | 0 | |
| owner/repo-b | 54 | C | Declining | 1 | Security alert unresolved |
| owner/repo-c | 22 | F | Stable | 3 | Review bottleneck + stale PRs |
| **Average** | **54.7** | **C** | - | **4** | |

Sprint & Iteration Metrics

When project boards are configured, track sprint metrics:

Metric Formula
Sprint completion rate Done items / total sprint items x 100
Carryover rate Items moved to next sprint / planned items
Cycle time Average days from "In Progress" to "Done"
Throughput Items completed per sprint
Blocked rate Items in "Blocked" state / total in-progress
Weekly Installs
23
GitHub Stars
185
First Seen
Feb 24, 2026
Installed on
opencode23
gemini-cli23
claude-code23
github-copilot23
codex23
kimi-cli23