# Review Before Public Commit

> 公開リポジトリへ commit する直前に回す検査。review-before-commit の全項目に加えて、コミットメッセージの規約・staging に混ざった未追跡ファイル・履歴として公開される情報を検査する。公開リポジトリで staging 内容とメッセージを提示する前に使用（非公開リポジトリは review-before-commit）。

- Skill: `mryo0826/review-before-public-commit` (Agent Skill)
- Install (CLI): `npx skillmds@latest add mryo0826/review-before-public-commit`
- Raw SKILL.md: https://api.skillmd.com/api/skills/mryo0826/review-before-public-commit/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: mryo0826 (https://skillmd.com/u/mryo0826)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/mryo0826/review-before-public-commit

---


# 公開リポジトリの commit 直前の検査

**公開リポジトリの履歴は、push した時点で永久に公開される。** ⇒ **diff だけでなく、メッセージ・日時・author・staging の中身が、そのまま読まれる。**

🔴 **この Skill が要る理由は「漏れるから」ではなく「直すコストが跳ね上がるから」である。** **push 前に見つけても直せるが、履歴になった後は `amend` か rebase になる**——**小さく commit する運用と組み合わさると、跨る確率が高い。**

**この Skill は手順だけを持つ。** **一般形は `01_ai-driven-dev-strategy.md`「外に出る直前に検査を挟む（非可逆な操作のゲート）」、リポジトリ固有の規約は `CLAUDE.md`** にある。

## 前提思想

- **commit の瞬間にしか安く直せないものがある**——**メッセージ／staging の中身／author。**
- **commit date は、commit した瞬間に確定する。** ⇒ **push を遅らせても稼働時間の露出は減らない**（遅らせて効くのは操作ミスと誤公開だけ）。**ここで止められるのは「何を・どう書くか」であって、日時ではない。**
- **`review-before-commit` の全項目を含む。** ⇒ **その上に3つ足す: メッセージ・staging・履歴としての露出。**

## 手順

### 1. `review-before-commit` を回す

対話にのみ在るものの洗い出し／検査対象の宣言／3軸（参照・時点語・件数）。**ここを飛ばさない。**

### 2. コミットメッセージを検査する

- **何をしたかを1行で書く。理由を書かない**——**理由は判断の記録側、課題は課題一覧側に置く。** 🔴 **git 履歴は正本ではなく複製であり、意味を載せると二重管理になって必ず片方が腐る。**
- ⚠️ **発火の合図: メッセージに理由を書きたくなった瞬間。それが判断の記録へ起票する合図である。** ⇒ **「後で書く」と言わずに、その場で起票する。**
- **メッセージ自体の機微を見る**——**実名・メールアドレス・絶対パス・内部 URL・チケット ID・依頼者や案件の名前。**
- **`-m` を複数指定して渡す**（件名と付記を別の `-m` にする）。⚠️ **複数行の文字列を1つの引数として組み立てない**——**引用符法を選ぶ場面が生じ、literal が混入する失敗モードに到達できてしまう。**

### 3. staging の中身を1件ずつ提示する

- 🔴 **`git add -A` を使わない**——**未追跡ファイルを無検査で取り込むため。**
- **staging に入るファイルを列挙し、意図しないものが無いかを人間に見せる**——**下書き・作業メモ・一時ファイル・別の作業の残骸。**
- ⚠️ **`.gitignore` されているものは diff に出ない。** ⇒ **「差分がきれい」は「混入が無い」を意味しない**——**追跡下に入る瞬間を見る。**

### 4. 履歴として公開されるものを確認する

- **author**（名前・メールアドレス）が意図した値か。
- **この commit が、稼働の傾向を露出させないか**——**個々の記述が許容範囲でも、時系列で累積すると像を結ぶ。**
- **判定基準は「内部か外部か」ではなく「書き手の生活・稼働の記録か、内容についての判断の記録か」。**

### 5. 出力する

**staging 内容とメッセージ案を提示して、人間の承認を得る。** ⚠️ **commit と push の承認は分ける**——**提案の中で2つをまとめて承認させない。**

## Output Format

```
## review-before-commit の結果
## staging（1件ずつ）
## コミットメッセージ案（件名 / 付記）
- 理由を書いていないか / 機微は無いか
## 履歴としての露出（author / 稼働の傾向）
## 承認のお願い（commit のみ。push は別に伺う）
```

## この Skill の受入基準（AC）

1. **`review-before-commit` の項目をすべて回したことが出力から読み取れる**
2. **staging を1件ずつ列挙した**（`git add -A` を使っていない）
3. **メッセージに理由が入っていないことを確認した**——**入れたくなったなら、判断の記録へ起票してから commit した**
4. **メッセージの機微を名指しで検査した**
5. **commit の承認だけを求めた**（push を同じ文で承認させていない）

## 運用規律

- **規律の本体は `01`「外に出る直前に検査を挟む」と `CLAUDE.md`。** この Skill が持つのは手順だけ。
- **公開リポジトリへの push は `review-before-publish`**（機微検査と版チェックが増える）。
- **この Skill は commit の可否を判定しない。** 判定するのは人間である。

