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件も動かなければ報告しない。