mcpField
F
fresh-eyes

fresh-eyes

github.com/richtaborテスト・品質7352 回インストール29 週間前に更新
リポジトリ

fresh-eyes について

fresh-eyesは、開発者向けのコードレビュー用スキルです。最近変更したファイルを改めて読み、明らかな不具合や混乱を招く箇所を探して修正し、結果を報告します。

主な機能

  1. 01セッション中に変更したファイルの特定
  2. 02ロジックミスとエッジケースの確認
  3. 03明らかな問題の即時修正
  4. 04修正内容またはレビュー結果の要約

活用シーン

  1. 01機能実装後のコードレビュー
  2. 02コミット前の変更確認
  3. 03長時間のコーディング後の再確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/richtabor/agent-skills --skill fresh-eyes

インストール後、Claude Code で/fresh-eyesを入力して読み込まれたか確認します。

詳細

新鮮な目でレビューする

たった今書いた、または変更したコードをすべて、新鮮な視点で読み直します。実装に没頭していると見落としやすい、明らかなバグ、エラー、問題、分かりにくい点を探します。

使用するタイミング

  • 機能や修正を完了した後
  • 変更をコミットする前
  • 何かがおかしいと感じたとき
  • 長時間のコーディングセッションの後

手順

1. 変更したコードを特定する

このセッションで変更したファイルをすべて見つけます。不明な場合は、ユーザーに尋ねるか、最近の git の変更を確認します。

git diff --name-only HEAD~1
git diff --name-only --cached
2. 新鮮な目で読み直す

変更したファイルをそれぞれ最後まで読みます。このコードを初めて見るつもりで、以下の点を探します。

ロジックの誤り

  • 1 つずれたエラー
  • 条件の反転
  • null/undefined チェックの漏れ
  • 競合状態
  • 比較演算子の誤り(== と ===、> と >=)

明らかなバグ

  • 変数名のタイプミス
  • コピー&ペーストによる誤り
  • return 文の書き忘れ
  • 使用すべき未使用変数
  • 呼び出す関数の誤り

不足している要素

  • エラー処理の漏れ
  • 対応できていないエッジケース
  • クリーンアップ処理の漏れ(接続を閉じる、タイムアウトをクリアするなど)
  • 境界での検証漏れ

混乱を招くおそれがある点

  • 誤解を招く変数名
  • コメントのない複雑なロジック
  • ファイル内で一貫していないパターン
  • 説明のないマジックナンバー
3. 問題を修正する

見つけた問題ごとに、以下を行います。

  1. 何が問題なのかを 1 文で説明します
  2. すぐに修正します
  3. 次の問題に進みます

許可を求めないでください。明らかな問題はそのまま修正します。

4. 概要を報告する

修正後、簡潔な概要を提示します。

## Fresh Eyes Review

Fixed 3 issues:
- `api/users.ts:47` — Missing null check on user.profile
- `api/users.ts:82` — Off-by-one in pagination (used > instead of >=)
- `utils/format.ts:15` — Typo: `formattedDte` → `formattedDate`

No other issues found.

何も見つからなかった場合:

## Fresh Eyes Review

Reviewed 4 files. No issues found.

してはいけないこと

  • 動作しているコードをリファクタリングしない
  • 機能を追加しない
  • スタイルの好みを変えない
  • 時期尚早な最適化をしない
  • 明らかなコードにコメントを追加しない
  • ファイル構成を変更しない

バグ、エラー、問題だけに集中します。正常に動作していて壊れていないなら、そのままにしておきます。

チェックリスト

各ファイルについて、次の項目を頭の中で確認します。

  • すべての変数は使用前に初期化されていますか?
  • すべての関数は適切な値を返していますか?
  • すべてのループは正しく終了しますか?
  • すべての条件で両方の分岐に対応していますか?
  • すべての非同期処理で await されていますか?
  • すべてのエラーは捕捉または伝播されていますか?
  • すべてのリソースがクリーンアップされていますか?
  • すべてのエッジケース(空、null、ゼロ、負の値)に対応していますか?

コメント