ruby-commit-message について
Ruby と Rails の開発者向けのコミットメッセージ作成スキルです。Conventional Commits の形式に沿い、デバッグ時に役立つ変更理由の説明を促します。
主な機能
- 01Conventional Commits のタイプを適用
- 02命令形の件名を作成
- 03件名を70文字以内に制限
- 04本文で動機と影響を説明
- 05必要に応じてフッターとAI表記を追加
活用シーン
- 01後のデバッグに向けてバグ修正を説明
- 02Rails の機能変更を記録
- 03破壊的変更やチケット参照を記載
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ lucianghinda/ superpowers-ruby --skill ruby-commit-messageインストール後、Claude Code で/ruby-commit-messageを入力して読み込まれたか確認します。
詳細
Ruby コミットメッセージ
概要
Conventional Commits に従って、構造化されたコミットメッセージを作成します。本文では、デバッグ中に若手の Ruby on Rails 開発者が変更内容を理解できるようにします。
形式
<type>(<scope>): <subject>
<body>
<footer>
クイックリファレンス — コミットタイプ
| タイプ | 目的 |
|---|---|
feat | 新機能 |
fix | バグ修正 |
refactor | リファクタリング(動作の変更なし) |
perf | パフォーマンス改善 |
docs | ドキュメントのみ |
test | テストの追加または修正 |
build | ビルドシステムまたは依存関係 |
ci | CI の設定 |
chore | メンテナンスタスク |
style | コードの書式設定(ロジックの変更なし) |
revert | 以前のコミットを取り消す |
meta | リポジトリのメタデータ |
license | ライセンスの変更 |
件名のルール
- 命令形:「Add」「Fix」「Update」「Remove」
- 現在形:「Added feature」ではなく「Add feature」
- 先頭を大文字にし、末尾にピリオドを付けない
- 最大 70 文字
- スコープ(任意):コードベース内のセクションを表す名詞。例:
(api)、(auth)
本文のガイドライン
数文でまとめ、72 文字で折り返し、件名の後に空行を入れます。デバッグ中に若手の Ruby 開発者が理解できるよう、簡潔な言葉で書きます。 若手の Ruby 開発者が変更の影響や変更理由を理解するのに役立つ情報を追加します。
- WHY — 動機、問題、またはユーザーへの影響。このための背景情報があれば活用します。
- WHAT changed — 簡潔にまとめます。HOW は diff で確認できます。
- HOW — コードやコード内の名前からは分からない詳細がある場合に限ります。
根拠となる背景情報がある場合は、トレードオフについて説明します。詳細を捏造しないでください。
フッターと AI の帰属表示
Fixes TICKET-123 # or: Fixes #123, Refs TICKET-123
BREAKING CHANGE: ... # for breaking changes; use ! in type too: feat(api)!:
Co-Authored-By: <AI Name> <email> # when AI generated the change
件名や本文に「Generated by AI」や「Written with Claude」を追加しないでください。Co-Authored-By のみを使用します。
例
セキュリティ/認可の修正
fix(api): Scope report access to current user
Report.find allowed any authenticated user to view any report by ID.
Querying through current_user.reports makes Rails raise RecordNotFound
(404) if the report doesn't belong to the requester.
新機能
feat(alerts): Add Slack thread replies for alert updates
When an alert is updated or resolved, post a reply to the original
Slack thread. This keeps related notifications grouped together.
Refs GH-1234
破壊的変更
feat(api)!: Remove deprecated v1 endpoints
Remove all v1 API endpoints deprecated in version 23.1.
Clients should migrate to v2 endpoints.
BREAKING CHANGE: v1 endpoints no longer available
よくある間違い
| 間違い | 修正方法 |
|---|---|
| 本文で背景を説明せずに HOW を説明する | デバッグに役立つ場合に限り HOW を含める |
| 件名で実装内容を説明する(「X を Y に変更」) | 命令形を使う:「Fix X」「Add Y」 |
| 本文で diff の内容を繰り返す | 変更理由を説明する |
| 件名が 70 文字を超える | スコープを短くするか、言い換える |
| 本文に「Generated by AI」と書く | フッターには Co-Authored-By のみを使用する |
コメント
Markdown 対応