| name | commit |
| description | 整理完了後のコミット・PRに使用。変更のステージング確認、コミットメッセージ生成、人間承認を経てコミットを実行する。 |
Commit(コミット)
概要
整理完了後、成果物を Git にコミットする。
変更内容を確認し、適切なコミットメッセージを生成し、人間パートナーの承認を得てからコミットを実行する。
入力: cleanup 完了済みのワーキングツリー
出力: Git コミット(+ 必要に応じて PR)
原則: コミットは完成品の記録だ。何を変えたかだけでなく、なぜ変えたかを残せ。
Iron Law
人間パートナーの承認なしにコミット・プッシュするな
- 「自動でコミットしておきました」→ 取り消せない操作を勝手にやるな
- 「小さい変更だから確認不要」→ 小さい変更でも git log には永遠に残る
- 「force push で直せる」→ force push は共有ブランチで使うな
いつ使うか
常に:
- cleanup([10])が完了した後
- ワークフローの [11] コミット ステップとして
例外(人間パートナーに確認すること):
- WIP コミット(一時保存目的。メッセージに WIP の理由を書く)
プロセス
1. ステージング確認
git status と git diff で変更内容を確認する。
チェック項目:
- 意図しないファイルが含まれていないか(.env, credentials, node_modules 等)
- cleanup で除去すべきだったファイルが残っていないか
- 変更が1つの論理的な変更にまとまっているか
2. コミットメッセージ生成
以下の情報からコミットメッセージを生成する:
git diff --staged の内容
git log --oneline -10 の既存メッセージスタイル
- requirements.md の要件(あれば)
コミットメッセージの基準:
- 何を変えたかだけでなく、なぜ変えたかを書く
- プロジェクトの既存コミットメッセージのスタイルに合わせる
- 1つのコミットは1つの論理的な変更にする
3. 人間パートナーに提示して承認を得る
以下の形式で提示する:
## コミット内容
### 変更ファイル
- modified: src/auth.ts(認証ロジック修正)
- added: __tests__/auth.test.ts(テスト追加)
- deleted: src/old-auth.ts(旧ファイル削除)
### コミットメッセージ
fix: パスワードリセット時のトークン有効期限チェックを修正
### 確認事項
- テスト全GREEN
- 機密情報なし
- .gitignore 対象外
コミットしてよいですか?
4. コミット実行
承認を得たらコミットする。
禁止事項:
--no-verify でフックをスキップしない
--amend は人間パートナーが明示的に指示した場合のみ
- force push は人間パートナーが明示的に指示した場合のみ
- テスト失敗のままコミットしない
WIP だけのコミットメッセージ禁止(何の WIP かを書け)
- 自動生成ファイル(
node_modules/、dist/、build/)をコミットしない
.gitignore に含まれるべきファイルをコミットしない
5. PR 作成(必要な場合)
ブランチワークフローの場合、人間パートナーに PR 作成の要否を確認する。
危険信号
以下のどれかに当てはまったら、やり方を見直せ。
委譲指示
このスキルは委譲しない。 メインセッションが直接実行する。
Git 操作はメインセッションの責務。サブエージェントに git commit/push を実行させない。
coordinator-write-guard のホワイトリスト外だが、Bash ツールでの git 操作は Write/Edit ではないため通過する。
手順:
git status と git diff で変更を確認
- コミットメッセージを生成して人間に提示
- 承認を得てから
git commit
- push / PR の要否を人間に確認
Integration
前提スキル:
次のステップ:
- retrospective([12])— 振り返り
このスキルを使うスキル: