commit

SKILL.md

/commit - 変更分析・分割コミット

変更内容を分析し、意味的なまとまりで分割コミットを行う。

手順

1. 変更内容の分析

以下のコマンドで変更内容を取得する:

git status
git diff
git diff --cached

変更がない場合はその旨を伝えて終了する。

2. 分割案の作成

変更内容を意味的なまとまりでグループ化する。以下の順序に従う:

  1. ドキュメントdocs/ 等)があれば常に最初のコミットにする
  2. 残りの変更を機能的なまとまりでグループ化

3. 分割案の提示

AskUserQuestionツールを使い、テーブル形式で分割案をユーザーに提示する:

## コミット分割案

| # | タイプ | 対象ファイル | コミットメッセージ |
|---|--------|------------|-------------------|
| 1 | docs | docs/xxx.md | docs: XXXを追加 |
| 2 | feat | src/features/xxx/... | feat(xxx): YYYを実装 |
| 3 | fix | src/shared/... | fix(shared): ZZZを修正 |

この分割案で進めてよいですか?
(順番の入れ替え、コミットの統合・分割、メッセージの変更があれば指示してください)

4. コミット実行

ユーザーの承認後、各コミットを順次実行する:

  • git add で対象ファイルをステージング
  • Conventional Commits形式のメッセージ(日本語)
  • Co-Authored-By を付与
git add {files}
git commit -m "$(cat <<'EOF'
{type}({scope}): {message}

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
EOF
)"

5. 完了報告

✅ {N}件のコミットを作成しました

{コミットログの要約}

分割の粒度

  • 1コミット = 1つの目的・スコープ(タイプではなく「何のためにやったか」で分ける)
  • 目安: ドキュメント / 開発環境・リポジトリ設定 / 機能実装 をそれぞれ1コミットにまとめる
  • 複数の独立した機能を実装した場合のみ、機能ごとにコミットを分ける
    • 例: 「ユーザー一覧の追加」と「ログイン修正」が混在 → 2コミットに分ける
    • 例: 「ユーザー一覧の追加」に伴うservice・hook・component → 1コミットにまとめる

注意事項

  • コミットタイプ: feat, fix, refactor, docs, test, chore, style
  • メッセージは日本語で記述
  • 未ステージの変更がある場合は、全てをコミット対象として分析する
Weekly Installs
5
First Seen
6 days ago
Installed on
claude-code5
mcpjam2
kilo2
junie2
windsurf2
zencoder2