プロジェクト監査。「監査して」「audit」「/audit」で発火。設計/UX/品質/テストなどの観点でコードベース全体を監査し、課題をissuesディレクトリに書き出す。実行ログで重複実行を防止。特定の差分・コミットのレビューには使わない(codex-review / cross-review を使う)。
c
このセッションで行った変更をコミットする。「コミットして」「commit」「/c」で発火。push はしない/クレデンシャルは混入させない。
インストール方法を見る含まれるファイル(1)
- SKILL.md5.6 KB
SKILL.md(原文)
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Quick Commit
このセッションで行った変更を、リポジトリの慣習に合わせてコミットする。
手順
-
git status/git diffで差分を確認し、git log --oneline -5でメッセージのスタイル(言語・粒度・接頭辞)に合わせる -
新規ファイルのみ、このセッションで作ったものだけをパス指定で
git addする(git add -A/git add .は使わない。既存ファイルの変更は次の pathspec commit が直接拾うので add 不要) -
変更の「なぜ」を一文で説明するメッセージを作り、このセッションで触れたファイルを pathspec で明示してコミットする。メッセージは
-mではなく heredoc で渡す:git commit -F - <<'MSGEOF' -- path/to/file1 path/to/file2 fix(x): `Foo.swift` の `bar()` を直す MSGEOF-m "..."を使わない理由: 二重引用符内のバッククォートが command substitution として評価され、`foo.swift`と書いた語がメッセージから消える(commit は成功するので気づかない)。<<'MSGEOF'のようにクォートすれば展開もコマンド置換も起きない- pathspec なしの
git commit/git commit -aは使わない - rename (
git mv) を含むときは旧パスと新パスの両方を pathspec に書く(片方だけだと削除が取り残される) - 詳細はいずれも
_claude/rules/commit-with-pathspec.md
-
git log -1 --statでコミット内容を確認する(クレデンシャル・一時ファイル・無関係ファイルが混ざっていないか) -
git statusを見る。D <旧パス>が残っていたら rename の片側漏れ(手順4の stat には「無いもの」が出ないので、これは status でしか見えない)
ルール
- コミットメッセージは変更の「なぜ」を簡潔に説明する(「何を」変えたかは diff で分かる)
- Co-Authored-By は付けない
- push はしない
- .env やクレデンシャルファイルはコミットしない
落とし穴 (Gotchas)
git add -A/git add .の巻き込み: 意図しない一時ファイル・ビルド生成物・./tmp/配下を一緒にステージしがち。手順2の通り必ずパス指定で add する。- クレデンシャルの混入:
.env、*.pem、id_rsa、APIキーを含む設定ファイルは、たとえ差分に出ていてもコミットしない。.gitignore漏れを見つけたらコミット前に指摘する。 - dirty なサブモジュール: サブモジュールに未コミットの変更があるまま親の参照だけ進めると CI が壊れる。
git statusでサブモジュールの dirty を確認し、ある場合はユーザーに確認する(このスキルは push しないため、サブモジュール側の push 要否も伝える)。 git stash禁止: 退避が必要になっても stash は使わない(共通ルール)。別ブランチにコミットするかユーザーに確認する。- 既存のステージ済み変更: 自分が意図していないファイルが既に
git add済みのことがある — 並行して動いている別の Claude セッションの作業中データかもしれない。pathspec commit なら混入しないので、unstage / reset せずそのまま放置する(勝手に片付けない)。 - heredoc 本文が静的検査に引っかかる: commit メッセージ本文はシェルの引用符の保護が効かない素のテキストとして扱われるため、リポジトリ側の PreToolUse フックがコマンド文字列を静的検査していると、メッセージに書いた語だけで deny されることがある。実例(dotfiles 2026-08-21): ソケット未指定の破壊的 tmux コマンドを止めるフックが、commit メッセージ本文の説明文に反応して commit を 3 回拒否した。回避はシェル変数でトークンを割って組み立てる(
T="tm""ux")か、その語を同じ行に置かない言い換え。フック自身の修正を commit するときに最も踏みやすい(規範:_claude/rules/tmux-probe-requires-socket-isolation.mdの「強制手段」節) - テストの exit code を見ないまま commit する:
make testとgit commitを同じコマンド 呼び出しに並べない。テストの結果を読む前に commit が走り、赤いまま履歴に入る。実例 (dotfiles 2026-08-25):make test >log 2>&1; echo $?と commit を 1 つの Bash 呼び出しに 入れたため、exit 2 (shellcheck エラー) を見ないまま commit した。「テストを回した」と 「テストが通った」は別の手にして、exit code を確認してから commit する (関連:_claude/rules/verify-execution-not-just-exit-code.mdは「exit 0 は実行された証拠に ならない」側で、こちらは「exit code をそもそも見ない」側)。 - 並行セッションとの index 共有: 同一 repo で複数セッションが動くことがある。index は 1 つしかないため、pathspec なしの commit は他セッションの add 済み変更を混入させる。手順3の pathspec commit が構造的な防止策(詳細:
_claude/rules/commit-with-pathspec.md)。
レビュー
まだレビューはありません。使ってみた感想をお寄せください。
同じリポジトリのスキル
概要と使いどころ
AVFoundation (AVPlayer / AVPlayerLayer / AVPlayerItemVideoOutput / AVAsset) の落とし穴・文書化されていない実装挙動・debugging チェックリストを集約した reference skill。Swift / Objective-C で AVPlayer を使った動画再生 / seek / scrub / frame stepping を実装・debug するときに発火。VLCKit ではなく **AVFoundation 系** の問題に特化。
ディレクトリ・レイヤーごとに置いた CLAUDE.md と README.md が実体 (コード・コマンド・構成) とずれていないかを点検し、裏の取れた乖離だけを直す。引数で対象のディレクトリを任意に指定できる (省略時は repo 全体)。「CLAUDE.md を refresh して」「README が古くないか見て」「claude-md-refresh」「/claude-md-refresh」で発火。issues/ の更新漏れは issue-writeback / issue-sync の担当で、この skill は扱わない。
Codex が設計・実装を担い、Claude が要件確定・成果物の検証・反復・commit/push を管理する。「codex に書かせて」「codex メインで実装」「codex-drive」で発火。大きめの機能・移植・プロトコル実装向け。余剰トークンを厚く使う運用も選べる。
タスク着手時に codex にリードしてもらうワークフロー。codex に設計/方針を主導(リード)させ、その方針に沿って Claude が実装し、実装後は codex で設計適合・実装正当性・敵対的(red team)の 3 観点でレビューする。余っている codex トークンを積極的に消費したい時に使う。「codexにリードしてもらって」「設計から codex に任せて」「タスクを codex 主導で」「codex-lead」「/codex-lead」で発火。
codex exec review を基本に、必要なら codex exec を使ってコード変更のレビューを依頼し、指摘事項を報告する。通常 / 厳しめ (--strict) / 敵対的 (--adversarial、実装を壊しにいく red team) の 3 モードを持つ。「codexでレビューして」「codex-review」「/codex-review」「敵対的にレビューして」で発火。Codex 単体での単独レビュー用途。複数エージェント並行レビューは cross-review、差分ではなくコードベース全体の監査は audit を使う。