codify
台帳に溜めたレビュー指摘のうち、繰り返した観点を規約か検査に移す。定期の発火から呼ばれる。「同じ指摘を毎回受ける」「レビューの観点を仕組みにして」という依頼でも使う。
SKILL.md.claude/skills/codify/SKILL.md
GitHub指摘を次の差分に効かせる
2回目で初めて動く。 1回目の指摘はその差分固有かもしれない。2回目で「毎回言うこと」に変わる。
ここで足すのは .claude/rules/ の1行まで。 検査に落ちるものは issue にする。実装は持たない。
台帳は main の外の orphan ブランチにある。 読み書きは scripts/harness-journal.sh を通し、中の形を手で決めない。
1. 畳む
sh scripts/harness-journal.sh pending
sh scripts/harness-journal.sh ledger
pending が空なら、ここで終わり。報告しない。
台帳は1観点1行。pending の各エントリを、既にある行に足すか、新しい行にする。
| 列 | 中身 |
|---|---|
| 観点 | 1行の言い切り。差分の事情を含めない(「day.ts の境界が」ではなく「日付を UTC で切る」) |
| 回数 | 通算 |
| 直近 | 最後に受けた PR 番号 |
| 判定 | 未 / #NNN で規約へ / #NNN で issue / 移さない |
言い回しが違っても同じことを言っていれば、同じ行に足す。 正規化を怠ると回数が増えず、永久に2回目が来ない。
2. 落とす
| 落とす | なぜ |
|---|---|
| 回数が1 | まだその差分固有かもしれない |
判定が 未 以外 |
一度行き先を決めている |
| 実装を読めば分かること | 規約に足しても読まれる前に実装が答える |
| 機械が既に落とすもの | 破る最小の例を書いて検査にかけて確かめる(→ enforce の「既に落ちるか試す」) |
3. 行き先を決める
指摘にグレードのバッジが付いているかで分かれる。 バッジは review が付けたもので、その指摘は既にある規約から出ている。
| 出どころ | 意味 | 行き先 |
|---|---|---|
| バッジ無し(書き手の言葉) | 規約がまだ無い | .claude/rules/ の該当ファイルに足す。ここで直す |
| バッジ付き | 規約はあるが守られていない | 機械に落とせるか見て issue(→ enforce の「置き場で落とす」「起きた違反を数える」「既に出したものを落とす」「出す」) |
4. 足す
- 足すのは1行。 2行要るなら観点が2つある
- 置き場は読まれ方で決める(→
.claude/rules/documentation.mdの表)。毎回効くものだけが上の層に行く - 理由がコードの外にあるものだけ
- 既存の行に足せるなら、行を増やさず直す
- 1回に最大2件。 足す量を絞らないと、次のセッションが読む散文が増える
規約そのものの是非に踏み込むなら、足さずに needs-decision の issue にする。 決めるのは書き手。
5. 台帳に戻す
判定の列を埋めて保存する。<SHA> は pending の1行目が出したもの。
sh scripts/harness-journal.sh save <SHA>
移さないと決めたものにも 移さない と書く。 書かないと次の回でまた候補に上がる。
6. 報告
足した行と出した issue の番号だけ。1件も動かなければ報告しない。