跳到主要内容
知仓学习社ZHICANG

river-review-code

|

不碰外部(只输出文字)无严重或高危命中hashgraph-online/awesome-codex-plugins

它会碰到什么

扫了多少4 个文本文件,19 KB
它会碰到什么不碰外部(只输出文字)
命中总数0 处
命中统计严重 0 · 高 0 · 中 0 · 低 0

这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。

技能内容

Code Quality Review(一般コード品質レビュー)

コードの可読性、保守性、型安全性を検証する。他の専門エージェントに該当しない場合のデフォルトフォールバック先。

When to Use / いつ使うか

  • 一般的なコード変更のレビュー時
  • 他の専門エージェント(architecture, security, performance, testing)に該当しない場合
  • コード品質の総合的なチェックが必要な場合

Routing / ルーティング

| キーワード | スキルID | 説明 |

| -------------------------- | -------------------------------- | ---------------------------- |

| 型, TypeScript, strict | typescript-strict | TypeScript strict モード準拠 |

| null, undefined, optional | typescript-nullcheck | null 安全性チェック |

| 非同期, await, Promise | async-correctness | 非同期処理の正しさ検証 |

| 型駆動, 設計 | type-driven-design | 型駆動設計 |

| ログ, 監視 | logging-observability | ロギング・可観測性 |

| 自動化, 境界 | review-automation-boundary | レビュー自動化の境界 |

| コメント, トリアージ | review-comment-triage | レビューコメント分類 |

| 幻覚的参照, 実在確認 | hallucinated-reference | 新規参照の実在確認 |

| 簡素化, 整理, simplify | SIMPLIFY 観点(本 skill 内) | 品質クリーンアップ4観点 |

| 破壊的操作, undo, 回復支援 | UX-SAFEGUARD 観点(本 skill 内) | 操作の安全装置2観点 |

> UI/コンポーネント系のルーティング(a11y, デザインシステム, Next.js App Router 境界等)は river-review-frontend に一元化済み(#1462)。本ルーターからは移設し、二重発火を避けている。

デフォルト動作

  • キーワード指定なし → 以下のヒューリスティクスで判定:
  • .ts/.tsxファイル → TypeScript strict + nullチェック
  • コンポーネントファイル → river-review-frontend も参照(a11y・デザインシステム観点は frontend 側が担当)
  • 設定ファイル → 型駆動設計チェック

Checklist / チェックリスト

一般コードレビューでは以下を確認する:

可読性

  • 関数・変数の命名が意図を表現しているか
  • 意図を伝えない広すぎる名前(data / info / manager / handler / util / current)、共有されていない略語、同一概念の別名(または別概念の同名)がないか
  • 関数の責務が単一か
  • ネストが深すぎないか(3段以内。深い場合は guard clause で平坦化を提案)
  • マジックナンバー・マジックストリングがないか

保守性

  • DRY原則にしたがっているか(ただし過度な抽象化を避ける)
  • 変更の影響範囲が限定的か
  • 依存方向が正しいか
  • カプセル化リークがないか: オブジェクト内部へ深く手を伸ばすコード(a.b.c.type === 'x')、値オブジェクトから primitive を取り出して外部で分岐、getter による内部状態の露出。Tell-Don't-Ask(例: user.subscription.plan.type === 'premium' より user.isPremium())を推奨する(Law of Demeter)

型安全性

  • anyの使用が最小限か
  • 型ガードが適切か
  • null/undefinedの扱いが安全か
  • 型検査対象外の分界(#1476): scripts/(tsconfig の include に含まれず tsc 検査対象外)の JSDoc で unknownany へ緩める提案はしない。unknown は呼び出し側に絞り込みを強制する意図的で保守的な選択。詳細と canary は existing-pattern-conformance の「False-positive guards」を参照。

エラーハンドリング

  • エラーを握り潰していないか
  • エラーメッセージが十分な情報を含むか
  • リカバリー可能なエラーと不可能なエラーの区別
  • 防衛的フォールバックの分界(#1480 FP / #1475 本物): モジュール内部の不変条件(config・registry・内部で構築した構造の欠落 = fail-fast が意図)へ ?? {} 等の防衛は提案しない。外部 IO・環境境界(argv / fs / network)の例外・null には防衛必須。詳細と canary は nullability-contract の「False-positive guards」を参照。

Execution Flow / 実行フロー

1. ファイル種別の判定
   ├─ .ts/.tsxファイル → TypeScript strict + nullチェックを選択
   ├─ コンポーネントファイル → river-review-frontend も参照(a11y・デザインシステム観点)
   ├─ 設定ファイル → 型駆動設計チェックを選択
   └─ キーワード指定あり → 該当スキルを直接選択
      (SIMPLIFY / UX-SAFEGUARD 観点のキーワード該当時は本 skill 内で実行。キーワードは ROUTING.md を参照)

2. スキルの実行
   ├─ typescript-strict: strictモード準拠
   ├─ typescript-nullcheck: null安全性
   ├─ async-correctness: 非同期処理の正しさ
   ├─ type-driven-design: 型駆動設計
   ├─ logging-observability: ロギング・可観測性
   ├─ review-automation-boundary: レビュー自動化の境界
   └─ hallucinated-reference: 新規参照の実在確認

3. 統合
   ├─ 重複する指摘の除去
   └─ Checklistに基づく一般品質チェックの補完

Multi-perspective Execution / 多観点実行(旧 agent-code-review から統合)

複数観点を横断するレビューでは、以下の順で差分を走査し findings を統合する。

| 順序 | 観点 | 実行ルール |

| ---- | -------------- | ---------------------------------------------------------------------- |

| 1 | セキュリティ | Critical finding 検出時: 以降の観点も実行するが、Critical を先頭に出力 |

| 2 | パフォーマンス | ホットパス外の変更のみの場合はスキップ可 |

| 3 | 品質・設計 | 常に実行 |

| 4 | テスト網羅性 | テストファイルが差分に含まれない場合も、対象コードのテスト有無を確認 |

観点間の重要度比較: 異なる観点の findings が同一箇所を指す場合、severity が異なれば高い方を採用(もう一方は補足として併記)、同じなら security > performance > quality > testing の順で先に記載する。

出力件数の制約: 1 PR あたり最大 15 件(超過分は severity 降順で切り捨て、切り捨て件数を末尾に記載)。同一ファイルへの同一観点の指摘は最大 3 件にグルーピングする。

判定の手がかり:

  • catch ブロック内の空文、// TODO → security / quality
  • O(n*m) パターン、ループ内の DB / API コール → performance
  • any 型、型アサーション(as)、未使用 import → quality
  • 新規 export 関数にテストファイル内の対応する describe / test がない → testing

Output Format / 出力形式

<file>:<line>: <message>
  • Finding: 何が問題か(1文)
  • Impact: 何が困るか(短く)
  • Fix: 次の一手(最小の修正案)

他スキルとの関係

| スキル | 関係 | 棲み分け |

| --------------------------- | ---- | --------------------------------------------------------------------------------------------------- |

| river-review-architecture | 補完 | code は「ミクロ品質」、architecture は「マクロ設計」 |

| river-review-testing | 補完 | code は「プロダクションコード」、testing は「テストコード」 |

| river-review-performance | 補完 | code は「可読性」、performance は「実行効率」 |

| river-review-frontend | 補完 | code は「一般コード品質」、frontend は「UI 固有の懸念」。UI 系ルートは frontend へ移設済み(#1462) |

References

  • [ROUTING.md](./references/ROUTING.md): 詳細なルーティングルール
  • [SIMPLIFY.md](./references/SIMPLIFY.md): 品質クリーンアップ4観点の実行手順と委譲表
  • [UX-SAFEGUARD.md](./references/UX-SAFEGUARD.md): 操作の安全装置2観点(破壊的操作の確認・取り消し / 入力エラーの回復支援)の実行手順と委譲表

想直接用这个技能?

本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。

它属于哪个仓库

星标★ 1,027
本站分层T1
该仓技能数1910
原文件路径plugins/s977043/river-review/skills/agent-skills/river-review-code/SKILL.md

同一个仓库里的其他技能

看这个仓库的全部 1910 个技能