このSkillは、プロジェクトのコード変更履歴が、一定のルール(Conventional Commits)とプロジェクトの追跡に必要な形式に沿っているかを自動でチェックし、結果を報告することで、コードレビューの品質を保ち、開発の効率化に貢献するSkill。
このSkillは、プロジェクトの全てのコミットが、決められたルール(Conventional Commits)とプロジェクトの追跡に必要な形式に沿っているかをチェックし、結果を報告書として出力することで、コードレビューの品質を保つようにするSkill。
📜 元の英語説明(参考)
【Code Review 子 Agent · 门控一】校验本迭代所有 commit 是否符合 Conventional Commits 规范及项目可追溯性格式。输入 git log 片段和项目元数据,输出结构化校验报告并以 STATUS=OK|FAIL 结尾。由 spec-driven-dev 的 code_review 阶段自动调用,不建议单独触发。
🇯🇵 日本人クリエイター向け解説
このSkillは、プロジェクトの全てのコミットが、決められたルール(Conventional Commits)とプロジェクトの追跡に必要な形式に沿っているかをチェックし、結果を報告書として出力することで、コードレビューの品質を保つようにするSkill。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o cr-commit-check.zip https://jpskill.com/download/5425.zip && unzip -o cr-commit-check.zip && rm cr-commit-check.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/5425.zip -OutFile "$d\cr-commit-check.zip"; Expand-Archive "$d\cr-commit-check.zip" -DestinationPath $d -Force; ri "$d\cr-commit-check.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
cr-commit-check.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
cr-commit-checkフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-17
- 取得日時
- 2026-05-18
- 同梱ファイル
- 1
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
[Skill 名] cr-commit-check
cr-commit-check
コードレビューパイプラインの最初のゲート:コミットメッセージのコンプライアンス検証サブエージェントです。
spec-driven-dev の code_review フェーズによってサブエージェントとして呼び出され、検証が通過した後にのみゲート2が解除されます。
呼び出し規約
入力(Orchestrator がコンテキストを注入)
| フィールド | タイプ | 説明 |
|---|---|---|
us_id |
string | ユーザーストーリーID、例:US042 |
iter_id |
string | 現在のイテレーションID、例:iter_003 |
git_log |
string | git log main..HEAD --pretty=full の完全な出力 |
tasks_json_path |
string | requirements/{us_id}/docs/tasks.json のパス。タスクリストの完全性を確認するために使用されます。 |
Orchestrator 呼び出し例(OpenCode Sub-Agent 形式):
invoke_skill: cr-commit-check
with:
us_id: "US042"
iter_id: "iter_003"
git_log: "<git log output>"
tasks_json_path: "requirements/US042/docs/tasks.json"
出力(Orchestrator に書き戻す)
{
"agent": "cr-commit-check",
"verdict": "PASS | FAIL",
"h_count": 0,
"rules": [
{ "id": "CM-01", "result": "PASS | FAIL", "note": "…" }
],
"fix_commands": ["git commit --amend", "git rebase -i HEAD~N"]
}
実行プロトコル
Step 0 — 起動チェックポイントの発行
[AGENT:cr-commit-check] START us_id={us_id} iter_id={iter_id}
Step 1 — コミットリストの解析
git_log からこのイテレーションのすべてのコミットを抽出し、以下の順序で各コミットを検証します。
検証ルール
| ルール ID | 検査項目 | 通過条件 | 失敗時の影響 |
|---|---|---|---|
| CM-01 | Conventional Commits 形式 | 正規表現 ^(feat\|fix\|config\|docs\|test\|refactor\|perf\|style\|chore\|build)(\(.+\))?: .+ を満たす |
FAIL |
| CM-02 | type が許可リスト内にある | type ∈ feat\|fix\|config\|docs\|test\|refactor\|perf\|style\|chore\|build |
FAIL |
| CM-03 | 各イテレーションでコミットは1回のみ | コミット数 = 1 | FAIL |
| CM-04 | scope に正しい us_id/iter_id が含まれる | scope が #<us_id>/<iter_id> 形式を満たす、例:#US042/iter_003 |
FAIL |
| CM-05 | 説明にすべての task がリストされている | tasks.json を読み込み、各 task id が task-XX/説明 の形式でメッセージに現れることを検証する |
FAIL |
| CM-06 | WIP / 一時的なコミットがない | メッセージに wip、temp、fixup!、squash! が含まれておらず、かつメッセージが空ではない |
FAIL |
すべてのルールは厳格なルールです:いずれか1つでも失敗した場合、全体的な裁定は FAIL となります。
Step 2 — ルール結果表の出力
構造化された結果を1つずつ出力します:
[cr-commit-check] CM-01 ✅ PASS
[cr-commit-check] CM-02 ✅ PASS
[cr-commit-check] CM-03 ❌ FAIL — 2件のコミットが検出されましたが、イテレーションでは1件のみ許可されています
[cr-commit-check] CM-04 ✅ PASS
[cr-commit-check] CM-05 ❌ FAIL — task-03 がコミットメッセージに現れていません
[cr-commit-check] CM-06 ✅ PASS
Step 3 — 修正ガイドの生成(FAIL 時のみ)
裁定が FAIL の場合、直接実行可能な修正コマンドを出力します。例:
# 余分なコミットをマージし、メッセージを修正する
git rebase -i HEAD~2
# または最後のコミットを直接修正する
git commit --amend -m "feat(#US042/iter_003): task-01/login flow, task-02/jwt, task-03/tests"
Step 4 — 構造化された結果の返却
{
"agent": "cr-commit-check",
"verdict": "FAIL",
"h_count": 2,
"rules": [
{ "id": "CM-01", "result": "PASS", "note": "" },
{ "id": "CM-02", "result": "PASS", "note": "" },
{ "id": "CM-03", "result": "FAIL", "note": "2件のコミットが検出されましたが、1件であるべきです" },
{ "id": "CM-04", "result": "PASS", "note": "" },
{ "id": "CM-05", "result": "FAIL", "note": "task-03 がメッセージで宣言されていません" },
{ "id": "CM-06", "result": "PASS", "note": "" }
],
"fix_commands": [
"git rebase -i HEAD~2",
"git commit --amend -m 'feat(#US042/iter_003): task-01/…, task-02/…, task-03/…'"
]
}
Step 5 — 終了チェックポイントの発行
[AGENT:cr-commit-check] DONE verdict=PASS|FAIL h_count=N
裁定ルール
| 裁定 | 条件 | Orchestrator の動作 |
|---|---|---|
| PASS | 全6ルールが通過 | cr-code-gate を引き続き呼び出す |
| FAIL | いずれかのルールが失敗 | パイプラインを終了し、修正ガイドを返し、release をブロックする |
禁止行為
- 規範に合致しないコミットを自動修正することは禁止します。修正コマンドのみを出力し、手動での確認と実行を促します。
m/lの推奨事項を FAIL に格上げすることは禁止します。git_logが空の場合にサイレントに通過させることは禁止します。CM-03 FAIL(コミットが見つかりませんでした)を報告すべきです。
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
cr-commit-check
Code Review 流水线的第一道门控:Commit Message 合规校验子 Agent。
由 spec-driven-dev 的 code_review 阶段作为 Sub-Agent 调用,校验通过后才解锁门控二。
调用契约
输入(由 Orchestrator 注入上下文)
| 字段 | 类型 | 说明 |
|---|---|---|
us_id |
string | 用户故事 ID,如 US042 |
iter_id |
string | 当前迭代 ID,如 iter_003 |
git_log |
string | git log main..HEAD --pretty=full 的完整输出 |
tasks_json_path |
string | requirements/{us_id}/docs/tasks.json 路径,用于核对 task 列表完整性 |
Orchestrator 调用示例(OpenCode Sub-Agent 格式):
invoke_skill: cr-commit-check
with:
us_id: "US042"
iter_id: "iter_003"
git_log: "<git log output>"
tasks_json_path: "requirements/US042/docs/tasks.json"
输出(写回 Orchestrator)
{
"agent": "cr-commit-check",
"verdict": "PASS | FAIL",
"h_count": 0,
"rules": [
{ "id": "CM-01", "result": "PASS | FAIL", "note": "…" }
],
"fix_commands": ["git commit --amend", "git rebase -i HEAD~N"]
}
执行协议
Step 0 — 发出启动检查点
[AGENT:cr-commit-check] START us_id={us_id} iter_id={iter_id}
Step 1 — 解析 commit 列表
从 git_log 中提取本迭代全部 commit,按以下顺序校验每一条:
校验规则
| 规则 ID | 检查项 | 通过条件 | 失败影响 |
|---|---|---|---|
| CM-01 | Conventional Commits 格式 | 满足正则 ^(feat\|fix\|config\|docs\|test\|refactor\|perf\|style\|chore\|build)(\(.+\))?: .+ |
FAIL |
| CM-02 | type 在允许列表内 | type ∈ feat\|fix\|config\|docs\|test\|refactor\|perf\|style\|chore\|build |
FAIL |
| CM-03 | 每迭代仅一次 commit | commit 数量 = 1 | FAIL |
| CM-04 | scope 包含正确的 us_id/iter_id | scope 满足 #<us_id>/<iter_id> 格式,如 #US042/iter_003 |
FAIL |
| CM-05 | 描述中列出全部 task | 读取 tasks.json,验证每个 task id 都以 task-XX/描述 形式出现在 message 中 |
FAIL |
| CM-06 | 无 WIP / 临时提交 | message 不含 wip、temp、fixup!、squash!,且 message 非空 |
FAIL |
所有规则均为硬性规则:任意一条失败 → 整体裁决 FAIL。
Step 2 — 输出规则结果表
逐条输出结构化结果:
[cr-commit-check] CM-01 ✅ PASS
[cr-commit-check] CM-02 ✅ PASS
[cr-commit-check] CM-03 ❌ FAIL — 发现 2 条 commit,迭代只允许 1 条
[cr-commit-check] CM-04 ✅ PASS
[cr-commit-check] CM-05 ❌ FAIL — task-03 未出现在 commit message 中
[cr-commit-check] CM-06 ✅ PASS
Step 3 — 生成修复指引(仅 FAIL 时)
若裁决为 FAIL,输出可直接执行的修复命令,例如:
# 合并多余 commit 并修正 message
git rebase -i HEAD~2
# 或直接修正最后一条 commit
git commit --amend -m "feat(#US042/iter_003): task-01/login flow, task-02/jwt, task-03/tests"
Step 4 — 返回结构化结果
{
"agent": "cr-commit-check",
"verdict": "FAIL",
"h_count": 2,
"rules": [
{ "id": "CM-01", "result": "PASS", "note": "" },
{ "id": "CM-02", "result": "PASS", "note": "" },
{ "id": "CM-03", "result": "FAIL", "note": "发现 2 条 commit,应为 1 条" },
{ "id": "CM-04", "result": "PASS", "note": "" },
{ "id": "CM-05", "result": "FAIL", "note": "task-03 未在 message 中声明" },
{ "id": "CM-06", "result": "PASS", "note": "" }
],
"fix_commands": [
"git rebase -i HEAD~2",
"git commit --amend -m 'feat(#US042/iter_003): task-01/…, task-02/…, task-03/…'"
]
}
Step 5 — 发出结束检查点
[AGENT:cr-commit-check] DONE verdict=PASS|FAIL h_count=N
裁决规则
| 裁决 | 条件 | Orchestrator 行为 |
|---|---|---|
| PASS | 全部 6 条规则通过 | 继续调用 cr-code-gate |
| FAIL | 任意规则失败 | 终止流水线,返回修复指引,阻塞 release |
禁止行为
- 禁止对不符合规范的 commit 自动修正,只输出修复命令供人工确认执行。
- 禁止将
m/l的建议性问题升级为 FAIL。 - 禁止在
git_log为空时静默通过,应报告CM-03 FAIL(未找到任何 commit)。