commit-msg-quality-score
Skill0 starsChanged 4 months agoMITView on GitHub
git 範囲の commit メッセージを決定論的に採点し、空虚コミット(「更新」「wip」等・prefix 正しくても中身なし)を機械的に検出する。トリガー語彙: commit 品質, コミットメッセージ採点, 空虚コミット検出, commit-score, なぜ欠落採点, commit message quality
In this repository46 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- a11y-standardsSkill
- a11y-static-gateSkill
- adversarial-refute-voteSkill
- antigravity-buildSkill
- architecture-parity-gateSkill
- ci-required-check-installerSkill
- codex-buildSkill
- codex-imagegenSkill
- codex-spark-delegateSkill
- commit-convention-gateSkill
- consumer-finding-ledgerSkill
- context-bloat-trackerSkill
- coverage-floor-lockSkill
- destructive-env-guardSkill
- dev-standardsSkill
- eval-dataset-buildSkill
- eval-regression-guardSkill
- fanout-verify-synthSkill
- gate-forgeSkill
- hallucination-rate-meterSkill
- harness-kpi-ledgerSkill
- judge-rubric-voteSkill
- knowledge-citation-coverageSkill
- knowledge-dedup-scanSkill
- knowledge-index-guardSkill
- live-state-verify-guardSkill
- maker-checker-relaySkill
- memory-distillSkill
- mistake-rule-distillSkill
- oneshotSkill
- prompt-ab-evalSkill
- report-shapeSkill
- retry-failure-classifierSkill
- review-finding-reproSkill
- rule-dedup-scanSkill
- rule-promote-auditSkill
- rule-promotion-extractSkill
- secret-scan-hardeningSkill
- self-heal-ciSkill
- session-length-compact-auditSkill
- startSkill
- subagent-usage-analyzerSkill
- task-success-rate-trackSkill
- token-codegen-gateSkill
- trigger-vocab-dedupSkill
The file
Files
コミットメッセージ品質スコア(B05)
docs/incidents.mdの「空虚なコミットメッセージ禁止 — prefix が正しくても『〜を更新』で終わらせない。『なぜ』を書く」を 自己申告でなく機械採点 で enforce する。 原則 P1(自己申告禁止)の評価側実装。LLM を呼ばず、入力から決定論的にスコアを算出する(同じ入力 → 同じ出力)。engine はscripts/eval-harness.pyのcommit-scoreサブコマンド。
目的
- commit msg を 3 軸で採点し平均スコア(0.0〜1.0)を出す。空虚コミットを findings として列挙する。
- prefix_ok(0.34):
feat:fix:docs:ops:等の許容 prefix か(対象リポジトリ 固有:pm/harness/research/config/comply/grow/launch/design) - not_empty(0.33): 説明が 6 文字以上、かつ
update/更新/wip/修正/作業等の placeholder 単独でない - has_why(0.33): 説明が 25 文字以上、または「なぜ」マーカ(
ため/理由/なぜ/回避/防止/→/because/so that等)を含む
- prefix_ok(0.34):
- 単体スコア < 0.67 の commit を weak(空虚候補)として findings に出す。
実行手順
# 計測のみ(直近 7 日・閾値なし → status=measured / exit 0)
python3 scripts/eval-harness.py commit-score
# 範囲・閾値を指定して gate(未達で status=fail / exit 1)
python3 scripts/eval-harness.py commit-score --since "30 days ago" --min 0.6 --json
# 別リポジトリを対象にする
python3 scripts/eval-harness.py commit-score --root /path/to/repo --since "7 days ago" --min 0.6--since: git log の範囲(デフォルト7 days ago)--min: gate 閾値。省略時は計測のみ(exit 0)、指定時のみ未達で exit 1--root: 対象リポジトリ(省略時はカレント)--json: 機械可読出力(status/score/threshold/metrics/findings)
決定論ゲート(--check 相当・自己判定禁止)
python3 scripts/eval-harness.py commit-score --self-test- temp git repo を作って実源に触れず hermetic 検証(good=pass / bad=fail / None=observe / git 経路)。全て満たせば exit 0。
- ハードコード成功禁止・「十分だろう」で完了としない。停止判定はこのゲートで機械的に確認する(原則 P1/P2)。
設計上の注意
- 対象無は observe: git 不在・範囲に commit 無しは status=observe(exit 0)。データ不在を「合格」とも「不合格」とも言わない。
- Merge コミット・
[routine]prefix は許容 prefix 外のため weak に上がりうる(prefix_ok=false)。gate 閾値運用時はこの母集団特性を踏まえる。 - 依存は python3 標準ライブラリのみ(BSD/macOS でそのまま動く・
grep -P不使用)。
参照
- engine:
scripts/eval-harness.py(compute_commit_score/score_commit_msg/st_commit_score) - ルール本体:
docs/incidents.md「コミット品質」節 - 姉妹 skill:
media-quality-score-gate(記事)/standup(standup-novelty)— 同 harness の別サブコマンド
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

