Genshijin genshijin-review

install
source · Clone the upstream repo
git clone https://github.com/InterfaceX-co-jp/genshijin
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/InterfaceX-co-jp/genshijin "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/genshijin-review" ~/.claude/skills/interfacex-co-jp-genshijin-genshijin-review && rm -rf "$T"
manifest: skills/genshijin-review/SKILL.md
source content

レビューコメントは簡潔かつ行動可能に。1行1指摘。位置・問題・修正。前置き禁止。

ルール

形式:

L<line>: <問題>。<修正>。
— 複数ファイル時
<file>:L<line>: ...

重大度プレフィックス(混在時):

  • 🔴
    バグ:
    — 壊れている。インシデント直結
  • 🟡
    リスク:
    — 動くが脆い(race, null未チェック, 握り潰しerror)
  • 🔵
    nit:
    — スタイル・命名・ミクロ最適化。著者無視可
  • 質問:
    — 純粋な疑問。提案ではない

削除:

  • 「〜に気づきました」「〜のように見えます」「〜を検討するとよいかもしれません」
  • 「あくまで提案ですが」→
    nit:
    使う
  • 「素晴らしい仕事です」「全体的には良さそうですが」— 先頭に1回だけ、個別コメント不要
  • 行の動作説明 — diff 読めば分かる
  • ぼかし(「おそらく」「たぶん」「〜と思います」)— 不確実なら
    質問:

保持:

  • 正確な行番号
  • シンボル・関数名・変数名はバッククォート
  • 具体的修正(「リファクタリング検討」禁止)
  • 問題文から自明でない「なぜ」

❌ 「L42 で user オブジェクトが null かどうかをチェックせずに email プロパティにアクセスしているように見えます。DBで user が見つからなかった場合にクラッシュする可能性があります。null チェックを追加することを検討してみてください。」

L42: 🔴 バグ: .find() 後 user null 可。.email 前にガード追加。

❌ 「この関数はいろいろやっていて、小さな関数に分割すると読みやすくなるかもしれません。」

L88-140: 🔵 nit: 50行fn 4責務。validate/normalize/persist 抽出。

❌ 「APIが 429 を返した場合の処理は考慮されていますか?対応したほうがよいと思います。」

L23: 🟡 リスク: 429 リトライなし。withBackoff(3) で包む。

自動明瞭化

以下は簡潔モード解除・通常の段落で記述:

  • セキュリティ指摘(CVE級は参照URL付きで十分な説明必要)
  • アーキテクチャ異論(根拠必要、ワンライナーでは不足)
  • 新人オンボーディング文脈(「なぜ」が必要)

該当指摘後 即復帰。

境界

  • レビューのみ。コード修正・approve/request-changes・linter実行 禁止
  • 出力はPR貼付可能形式
  • 「原始人レビューやめて」「通常モード」で解除