mcpField
G
github-analytics-scoring

github-analytics-scoring

github.com/community-access开发429225 次安装今天更新
代码仓库

关于 github-analytics-scoring

用于评估 GitHub 仓库健康状况,并为议题、拉取请求和讨论排序的技能。它为报告定义评分、置信度、趋势及变化追踪规则。

主要功能

  1. 01仓库健康评分
  2. 02议题、PR 和讨论优先级
  3. 03发现项置信度分级
  4. 04跨报告变化追踪
  5. 05速度与贡献者指标
  6. 06瓶颈和趋势分类

适用场景

  1. 01生成单仓库或多仓库评分卡
  2. 02为仪表板排列议题和 PR
  3. 03比较多轮分析的发现项
  4. 04识别交付与团队瓶颈

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/community-access/accessibility-agents --skill github-analytics-scoring

安装后在 Claude Code 中输入/github-analytics-scoring确认已加载。

详细介绍

GitHub 分析评分

仓库健康评分

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)

评分等级

分数等级含义
90-100A优秀——仓库健康,问题极少
75-89B良好——存在少量问题,管理得当
50-74C需要关注——有多个需要采取行动的信号
25-49D较差——存在影响开发速度的重大问题
0-24F严重——存在阻碍团队进展的重大问题

Issue 优先级评分

在内部为每个 Issue 评分,以确定其在仪表板和报告中的排序:

信号分数
用户 @提及了你,但你尚未回复+5
带有 P0、P1、critical、urgent、blocker 标签+3
与即将到来的发布里程碑相关+3
自用户上次活动后有他人发表新评论+2
社区关注度高(5 个或更多正面表情回应)+2
带有 bug 标签+1
分配给用户+1
有活跃的相关讨论帖+1
带有 wontfix、duplicate、question 标签-1
超过 14 天没有活动-2

Pull Request 优先级评分

信号分数
已请求评审,用户尚未评审+5
PR 有“changes requested”状态——作者需要更新+4
PR 已获批准并可合并+3
目标为有即将到期截止日期的发布分支+3
此 PR 的 CI 失败+2
存在合并冲突+2
社区关注度高(5 个或更多正面表情回应)+2
PR 上有新评论+1
有与此 PR 关联的活跃讨论帖+1
草稿 PR-1
超过 7 天没有活动-2

讨论优先级评分

信号分数
用户被 @提及+3
活跃度高(24 小时内有 10 条或更多评论)+2
与用户负责的 Issue/PR 关联+1
超过 7 天没有活动-1

分析发现的置信度等级

为所有瓶颈发现、健康评分扣分项和异常检测结果标注置信度。报告中的每项发现都必须包含置信度等级。

等级适用情况对报告的影响
高有多个相互印证的信号,且已明确观察到(例如,本周 CI 已失败 5 次,并有日志证实)将其作为事实报告;建议采取补救措施
中由单一来源发现,可能存在问题(例如,PR 已打开 14 天,但作者可能正在休假)将其作为发现报告;建议调查
低可能存在某种趋势,需要人工审核(例如,开发速度似乎较低,但可能是季节性因素)标记为观察结果;不要从评分中扣分
报告中的置信度标签格式
| 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 |

变化追踪

针对之前的报告重新运行分析时,为每项发现标注变化状态:

状态定义
已修复曾出现在之前的报告中;现在已不再存在
新增未出现在之前的报告中;现在出现
持续存在从之前的报告中延续至今,未发生变化
回退之前已修复,但现在再次出现
变化报告章节格式
## 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})
升级规则

如果某项发现连续 3 份或更多报告持续存在,则升级处理:

升级处理: [{Finding}] 已连续出现在 {N} 份报告中。建议通过团队讨论或明确分配负责人来解决此问题。


开发速度指标

指标公式健康警告严重
PR 合并率每周合并的 PR 数量>3/周1-3/周<1/周
Issue 关闭率每周关闭的 Issue 数量>5/周2-5/周<2/周
评审周转时间PR 打开到首次评审的平均小时数<24 小时24-72 小时>72 小时
Issue 响应时间团队首次回复前的平均小时数<8 小时8-48 小时>48 小时
过期 PR 占比打开超过 14 天的 PR 数量 / 所有未关闭 PR 数量<10%10-30%>30%
CI 可靠性通过的运行次数 / 总运行次数(7 天)>95%80-95%<80%

贡献者指标

指标公式说明
PR 提交比率提交数 / 已合并 PR 数比率高 = PR 规模大,可考虑拆分
评审覆盖率由他人评审的 PR 数 / 已合并 PR 总数比率低 = 单个贡献者形成瓶颈
首次贡献者比例新贡献者数 / 活跃贡献者总数社区健康增长的信号
贡献者留存率上月和本月均活跃的人数 / 上月活跃人数参与度健康状况
公交车因子离开后会导致 50% 以上提交中断的最少贡献者人数<3 表示风险很高

瓶颈类别

类别信号示例发现
评审瓶颈PR 打开时间长、等待评审的 PR 超过 3 天“4 个 PR 等待评审超过 3 天——请指派评审者或重新分配”
CI 瓶颈频繁失败、运行时间长“测试套件平均耗时 45 分钟——比 4 周平均值慢 2 倍”
停滞工作超过 14 天没有活动的 Issue/PR“7 个 Issue 打开超过 30 天且近期没有评论”
知识集中80% 以上的提交来自一名贡献者“4 个核心模块中有 3 个只有一名贡献者——公交车因子为 1”
响应延迟新 Issue 的首次响应平均耗时超过 24 小时“首次响应平均耗时:38 小时——社区成员可能会觉得缺少支持”
安全债务未解决且打开超过 7 天的 Dependabot 警报“2 个严重警报已打开 12 天”
发布拥堵超过 10 个已合并但尚未发布的 PR“11 个已合并的 PR 等待发布——请协调发布时间”

趋势分类

趋势定义
改善中得分比上一份报告提高 5 分以上
稳定得分与上一份报告相差不超过 5 分
下降中得分比上一份报告降低 5 分以上
恢复中连续 2 份或以上报告呈下降趋势后,得分有所提高
新增没有可供比较的上一份报告

记分卡输出格式

单个仓库
## 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} |
多仓库记分卡
## 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** | |

冲刺与迭代指标

配置项目看板后,跟踪冲刺指标:

指标公式
冲刺完成率已完成项数 / 冲刺项目总数 x 100
延续率移至下一冲刺的项目数 / 计划项目数
周期时间从“In Progress”到“Done”的平均天数
吞吐量每个冲刺完成的项目数
阻塞率处于“Blocked”状态的项目数 / 进行中的项目总数

评论

支持 Markdown