| name | process-commit |
| description | PRを作成する前の分割commitが必要な時に自律的に呼び出す必要があるスキルです。
Trigger: need split commit, prepare commit, organize commit
|
| model | haiku |
git-sequential-stageはhunk単位の部分的なステージングを実行するためのツールです。
git-sequential-stageを用いて大きな変更を論理的な単位に分割してコミットしてください。
git-sequential-stage -patch="path/to/changes.patch" -hunk="src/main.go:1,3,5"
git-sequential-stage -patch="path/to/changes.patch" -hunk="src/logger.go:*"
git-sequential-stage -patch="path/to/changes.patch" \
-hunk="src/main.go:1,3" \
-hunk="src/utils.go:*" \
-hunk="docs/README.md:*"
実行手順
Step 0: リポジトリルートに移動
Step 1: 差分を取得
git ls-files --others --exclude-standard | xargs git add -N
git diff HEAD > .claude/tmp/current_changes.patch
Step 2: 分析
hunk単位で変更を分析し、最初のコミットに含めるhunkを決定してください
- hunkの内容を読み取る: 各hunkが何を変更しているか理解
- 意味的グループ化: 同じ目的の変更(バグ修正、リファクタリング等)をグループ化
- コミット計画: どのhunkをどのコミットに含めるか決定
grep -c "^@@" .claude/tmp/current_changes.patch
git diff HEAD --name-only | xargs -I {} sh -c 'printf "%s: " "{}"; git diff HEAD {} | grep -c "^@@"'
Step 3: 自動ステージング
選択したhunkをgit-sequential-stageで自動的にステージングしてください
git-sequential-stage -patch=".claude/tmp/current_changes.patch" -hunk="src/calculator.py:1,3,5"
git-sequential-stage -patch=".claude/tmp/current_changes.patch" -hunk="tests/test_calculator.py:*"
git-sequential-stage -patch=".claude/tmp/current_changes.patch" \
-hunk="src/calculator.py:1,3,5" \
-hunk="src/utils.py:2" \
-hunk="docs/CHANGELOG.md:*"
git commit -m "$COMMIT_MSG"
Step 4: 繰り返し
Step 5: 最終確認
ワイルドカード使用の判断基準
- 新規ファイルの追加
- すべての変更が同じ目的(例:ファイル全体のリファクタリング、ドキュメント更新)
- 「hunkを数えるのが面倒」という理由で使用するものではない。