mcpField
G
github-analytics-scoring

github-analytics-scoring

github.com/community-access開発429225 回インストール今日更新
リポジトリ

github-analytics-scoring について

GitHub リポジトリの健全性を評価し、Issue、プルリクエスト、ディスカッションに優先順位を付けるスキルです。レポート向けにスコア、確信度、傾向、変更追跡のルールを定めています。

主な機能

  1. 01リポジトリ健全性スコア
  2. 02Issue・PR・議論の優先順位付け
  3. 03所見の確信度分類
  4. 04レポート間の変更追跡
  5. 05速度とコントリビューター指標
  6. 06ボトルネックと傾向の分類

活用シーン

  1. 01単一・複数リポジトリのスコアカード作成
  2. 02ダッシュボード用のIssueと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

プルリクエストの優先度スコアリング

シグナルポイント
レビューを依頼されており、ユーザーがまだレビューしていない+5
PR に「変更を要求しました」が付いている — 作成者による更新が必要+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回失敗したことをログで確認)事実として報告し、是正措置を推奨します
中1つの情報源で見つかり、問題の可能性が高い(例: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 日を超えている「レビュー待ちの PR が 4 件あり、3 日以上経過しています。担当を割り当てるか、再配分してください」
CI ボトルネック頻繁な失敗、実行時間が長い「テストスイートの平均実行時間は 45 分で、4 週間平均の 2 倍です」
停滞中の作業14 日を超えて動きのない Issue / PR「30 日以上オープンしていて、最近コメントのない Issue が 7 件あります」
知識の集中コミットの 80% 以上が 1 人のコントリビューターによるもの「4 つのコアモジュールのうち 3 つでコントリビューターが 1 人のみです。バス係数は 1 です」
応答の遅れ新しい Issue への初回応答までの平均時間が 24 時間を超えている「初回応答までの平均時間は 38 時間です。コミュニティが十分にサポートされていないと感じる可能性があります」
セキュリティ負債未解決の Dependabot アラートが 7 日を超えてオープンしている「重大なアラートが 2 件、12 日間オープンしています」
リリースの滞留マージ済みで未リリースの PR が 10 件を超えている「リリース待ちのマージ済み PR が 11 件あります。リリース日を調整してください」

トレンドの分類

トレンド定義
改善中前回のレポートと比較して、スコアが 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
持ち越し率次のスプリントに移動した項目数 / 計画された項目数
サイクルタイム「進行中」から「完了」までの平均日数
スループットスプリントごとの完了項目数
ブロック率「ブロック中」状態の項目数 / 進行中の項目の合計数

コメント