一键导入
commit
コミットメッセージを自動生成し、手間なく commit & push できる。 トリガー: "コミットして", "commit して", "push して", "commit & push"
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
コミットメッセージを自動生成し、手間なく commit & push できる。 トリガー: "コミットして", "commit して", "push して", "commit & push"
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | commit |
| description | コミットメッセージを自動生成し、手間なく commit & push できる。 トリガー: "コミットして", "commit して", "push して", "commit & push" |
| user-invocable | true |
| argument-hint | [message] |
変更内容を要約したコミットメッセージを生成し、GitHub へ commit & push する。
/anvil:commit [message]
| 引数 | 内容 |
|---|---|
| message | コミットメッセージ(省略時は変更内容から自動生成) |
commit 前に format 乱れを必ず解消する。format ずれたまま commit すると、後で誰かが fmt を走らせたときに無関係なファイルが diff に混入し、PR レビューや git blame が混乱する。
共有スクリプトで実行する(存在チェック + 実行、条件判定ロジックのインライン重複を避けるため):
bash "${CLAUDE_SKILL_DIR}/scripts/run_dprint_fmt.sh"
dprint fmt が新たにファイルを書き換えた場合、それも本 commit に含める (関連: ユーザー方針「dprint fmt がスコープ外ファイルを整形しても revert 不要」)。
dprint 以外の formatter (prettier / black / rustfmt 等) が project で使われている場合は、CLAUDE.md か README.md の指示に従って手動適用したうえで本 commit に含める。
git status --porcelain
変更なし → エラー終了:
Error: コミットする変更がありません。
変更をファイルに保存してから再試行してください。
指定されたメッセージをそのまま使用する。
git diff HEAD の変更内容を解析して要約を自動生成する。変更の性質に応じて以下のプレフィックスを使用:
| 変更の性質 | プレフィックス |
|---|---|
| 新機能追加 | feat: |
| バグ修正 | fix: |
| リファクタリング | refactor: |
| 文書変更 | docs: |
| その他 | chore: |
git status
原則: ステージ済みファイルのみをコミット対象とする。自動で git add しない。
ステージ済みファイルがある場合 → そのまま Phase 4 へ進む。
ステージ済みファイルがなく、未ステージの変更がある場合 → AskUserQuestion を使用して確認する:
git add -u を実行未追跡ファイルがある場合は AskUserQuestion を使用して個別にステージするか確認する。
保護ブランチへの直接 commit を未然に防ぐ。
git branch --show-current
保護ブランチの解決優先順位(create-pr skill と同一の優先順位に揃える):
.git_information.yaml の default_base_branchdevelop → main → master の順で、リポジトリに存在するものを採用AskUserQuestion で警告し、対応を確認する:
現在のブランチ (<current-branch>) は保護ブランチです。直接 commit せず feature ブランチを作成することを推奨します。
提案する feature ブランチ名: feature/<Phase 2 で生成したコミットメッセージから推定したスラッグ>
AskUserQuestion で承認・修正させた上で git checkout -b <branch> を実行し、Phase 4 へ進むブランチ名の推定は AI が Phase 2 で生成したコミットメッセージ(fix(anvil): ... 等)の要約部分を英語スラッグ化して feature/ を前置する(例: fix(anvil): triage-issue Phase 7 条件3の測定単位を客観的な閾値に修正 → feature/anvil-clarify-blast-radius-threshold)。
そのまま Phase 4 へ進む(確認不要)。
以下の内容を表示した上で、AskUserQuestion を使用してコミットの承認を得る:
ブランチ: <current-branch>
メッセージ: <生成したコミットメッセージ>
対象ファイル: <ステージング済みファイル一覧>
git commit -m "<生成されたメッセージ>" を実行コミット失敗(pre-commit hook によるエラー等)の場合は、AskUserQuestion を使用してエラー内容を提示し対応を確認する。
コミット成功後、AskUserQuestion を使用してプッシュの承認を得る:
git pushgit push -u origin <current-branch>push 失敗の場合は AskUserQuestion を使用してエラー内容を提示し対応を確認する。
| エラー | 対応 |
|---|---|
| 変更なし | エラー終了・変更を促す |
| detached HEAD | git symbolic-ref 失敗 → ブランチ名なしで続行 |
| コミット失敗 | AskUserQuestion でエラー内容を提示し対応を確認 |
| push 失敗 | AskUserQuestion でエラー内容を提示し対応を確認 |