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.mdsource 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貼付可能形式
- 「原始人レビューやめて」「通常モード」で解除