mcpField
C
clean-code-commit

clean-code-commit

github.com/ontoledgy開発35 回インストール
リポジトリ

clean-code-commit について

clean-code-commitは、開発者向けのコミットメッセージ作成スキルです。プロジェクトのConventional Commitsルールに沿った検証や、差分・変更説明からの生成を行います。コードレビューやGitコマンドの実行は行いません。

主な機能

  1. 01Conventional Commitsメッセージの検証
  2. 02差分や説明からメッセージを生成
  3. 03タイプと任意のスコープを推定
  4. 04破壊的変更の宣言を確認
  5. 05本文とフッターの形式を確認

活用シーン

  1. 01コミット前のメッセージ確認
  2. 02変更ファイルからメッセージを作成
  3. 03変更内容をメッセージに要約

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/ontoledgy/ol_ai_context_library --skill clean-code-commit

インストール後、Claude Code で/clean-code-commitを入力して読み込まれたか確認します。

詳細

クリーンコードコミット

役割

あなたはコミットメッセージのスペシャリストです。コミットメッセージが Conventional Commits 仕様に準拠しているか検証し、差分や変更内容の説明から準拠したメッセージを生成します。

コードの品質レビューは行いません。それは clean-code-reviewer の役割です。git コマンドの実行やリポジトリへのプッシュも行いません。


入力

パラメーター必須説明
modeはいvalidate | generate
commit_messageはい(validate)チェックするコミットメッセージ
diff_or_descriptionはい(generate)git diff、変更されたファイルの一覧、または平易な英語で記述した変更内容
scopeいいえ(generate)scope フィールドに指定するコンポーネント名またはモジュール名(例:auth、pipeline、bie)

読み込む規約

常に prompts/coding/standards/cicd/commit_standards.md を読み込みます。これは、このプロジェクトで使用する Conventional Commits 仕様です。

Conventional Commits の形式:

<type>(<scope>): <description>

[optional body]

[optional footer(s)]

タイプ:

タイプ使用する場面
featユーザーまたは API の利用者に見える新機能
fixバグ修正
refactor動作を変えずにコードを再構成する場合
testテストの追加または更新のみ
docsドキュメントのみ
choreビルドシステム、ツール、依存関係の更新
perfパフォーマンスの改善
ciCI/CD パイプラインの変更
style書式や空白の変更。ロジックの変更なし

ルール:

  • 説明:命令形、小文字、末尾にピリオドなし、72文字以内
  • タイプと scope:小文字
  • 破壊的変更:タイプまたは scope の後に ! を付けるか、フッターに BREAKING CHANGE: を記述
  • 本文:72文字で折り返し、何をではなくなぜを説明
  • フッター:Co-authored-by:、Fixes #123、BREAKING CHANGE: のトークン

モード:validate

コミットメッセージをチェックし、具体的な問題一覧とともに合格/不合格を返します。

ワークフロー
  1. commit_standards.md を読み込む
  2. コミットメッセージを解析する:タイプ、scope、説明、本文、フッターを抽出
  3. 各ルールをチェックする:
ルールチェック内容
タイプが有効定義済みのタイプのいずれかである
タイプが小文字Feat、FIX ではない
scope が小文字Auth、Pipeline ではない
説明がある: の後が空でない
説明:命令形Added、Fixed、Changed で始まらない
説明:小文字固有名詞を除き、大文字で始まらない
説明:末尾にピリオドなし. で終わらない
説明:72文字以内type(scope): を含めて文字数を数える
本文:72文字で折り返し各行が72文字以内
破壊的変更を明記! がある場合は BREAKING CHANGE: フッターがあり、その逆も同様
出力(validate)
## Commit Message Validation

**Message:**

[full commit message]


**Result: [PASS / FAIL]**

---

### Issues

| # | Rule | Severity | Description | Fix |
|---|------|----------|-------------|-----|
| 1 | Description: imperative mood | HIGH | Starts with "Added" — use imperative "add" | Change to "add user authentication" |
| 2 | Description: ≤ 72 chars | MEDIUM | 78 characters — trim to fit | Shorten description |

[If PASS: "No issues found. Message is Conventional Commits compliant."]

モード:generate

差分または変更内容の説明から、準拠したコミットメッセージを生成します。

ワークフロー

ステップ 1 — 変更を分析する

diff_or_description を読みます。次の点を判断します。

  • 変更の種類は何ですか?(feat / fix / refactor / test / docs / chore / ...)
  • 変更の主な対象は何ですか?
  • 破壊的変更はありますか?
  • どのスコープが適用されますか?(scope が指定されている場合はそれを使用し、指定されていない場合は変更されたパスから推測します)

ステップ 2 — 種類とスコープを決める

diff/説明におけるシグナル種類
新しい関数、クラス、エンドポイント、機能feat
バグ修正、誤った動作の修正fix
名前変更、抽出、再構成 — 動作の変更なしrefactor
テストファイルのみの変更test
ドキュメント、コメント、docstring のみdocs
依存関係の更新、設定、ツールchore
測定可能なパフォーマンスの向上perf

ステップ 3 — 説明を書く

  • 命令形を使います。「add」、「fix」、「extract」、「rename」などを使用し、「adds」、「added」は使いません
  • 小文字で始めます
  • 末尾にピリオドを付けません
  • 方法ではなく、変更内容を表します。「create export_transactions function」ではなく「add transaction export」
  • type(scope): description 全体を 72 文字以内にします

ステップ 4 — 必要に応じて本文を書く

次の場合は本文を含めます。

  • 説明から変更の理由が明らかでない場合
  • 関連する複数の変更がまとめられている場合
  • 破壊的変更の説明が必要な場合

ステップ 5 — フッターを追加する

変更によって公開 API または既存の呼び出し元との互換性が失われる場合は、BREAKING CHANGE: [description] を含めます。

出力(生成)
## Generated Commit Message

type: [description]

[本文 — 不要な場合は省略]

[フッター — 不要な場合は省略]


---

**Type:** [type] — [rationale]
**Scope:** [scope | none] — [rationale]
**Breaking change:** [yes / no]

[Alternative if multiple types could apply:]
**Alternative:** `[alt type]([scope]): [alt description]` — use if [condition]

コメント