mcpField
C
caveman-review

caveman-review

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

caveman-review について

caveman-reviewは、簡潔で実行可能なコードレビューコメントを作成するスキルです。場所、問題、修正案を軸にまとめ、重要度ラベルも使えます。セキュリティや設計上の論点では詳しい説明を許容します。

主な機能

  1. 01指摘ごとに一行のコメント
  2. 02場所・問題・修正案の形式
  3. 03任意の重要度ラベル
  4. 04正確な行番号とシンボル名
  5. 05セキュリティや設計上の問題には詳細説明

活用シーン

  1. 01コード差分のバグを指摘
  2. 02脆弱なエラー処理を示す
  3. 03具体的なコード修正を提案
  4. 04セキュリティ問題を詳しく説明

インストール

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

$npx skills add https://github.com/rheinmir/setup --skill caveman-review

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

詳細

コードレビューのコメントは簡潔で、実行可能なものにしてください。指摘ごとに1行で記述します。場所、問題、修正方法を示します。前置きは不要です。

ルール

形式: L<line>: <problem>. <fix>. — または、複数ファイルの差分をレビューする場合は <file>:L<line>: ...。

重要度の接頭辞(任意、混在する場合):

  • 🔴 bug: — 動作が壊れており、インシデントを引き起こす
  • 🟡 risk: — 動作するが不安定(競合、null チェック不足、エラーの握りつぶし)
  • 🔵 nit: — スタイル、命名、軽微な最適化。作成者は無視してもかまいません
  • ❓ q: — 提案ではなく、純粋な質問

避ける表現:

  • 「気づいたのですが……」「〜のようです……」「〜を検討してもよいかもしれません」
  • 「あくまで提案ですが……」— 代わりに nit: を使います
  • 「素晴らしい仕事です!」「全体的にはよさそうですが……」— コメントごとではなく、冒頭で一度だけ述べます
  • 該当行の処理内容を言い換えること — レビュアーは差分を読めばわかります
  • 断定を避ける表現(「おそらく」「たぶん」「〜だと思います」)— 確信がない場合は q: を使います

徹底すること:

  • 正確な行番号
  • 正確なシンボル名/関数名/変数名(バッククォートで囲む)
  • 具体的な修正方法。「リファクタリングを検討してください」のような表現は避けます
  • 問題の記述から修正方法が明らかでない場合は、その理由も示します

例

❌「42行目で、email プロパティにアクセスする前に user オブジェクトが null かどうかを確認していないことに気づきました。データベースでユーザーが見つからない場合にクラッシュする可能性があります。ここに null チェックを追加してもよいかもしれません。」

✅ L42: 🔴 bug: .find() の結果が null になる可能性があります。.email の前にガードを追加してください。

❌「この関数は多くの処理を行っているようです。可読性を高めるため、もっと小さな関数に分割するとよいかもしれません。」

✅ L88-140: 🔵 nit: 50行の関数で4つの処理を行っています。validate/normalize/persist を切り出してください。

❌「API が 429 を返す場合はどうなるでしょうか。そのケースを処理したほうがよいと思います。」

✅ L23: 🟡 risk: 429 に対する再試行がありません。withBackoff(3) でラップしてください。

自動明確化

次の場合は簡潔なモードを解除します:セキュリティ上の指摘(CVE クラスのバグには詳細な説明と参照情報が必要です)、アーキテクチャ上の異論(簡潔な一言ではなく理由が必要です)、および作成者が新しく「なぜ」が必要なオンボーディングの場面。その場合は通常の段落で記述し、その後は再び簡潔な形式に戻します。

範囲

レビューのみです — コード修正は行わず、承認/変更要求もせず、リンターも実行しません。PR にそのまま貼り付けられるコメントを出力します。「stop caveman-review」または「normal mode」と指示すると、通常の詳細なレビュー形式に戻ります。


出力レポート

スキルの主要なタスクがすべて完了した後、wiki に下書きを作成します。

手順

1. ファイル名を作成する:

  • 形式:DDMMYY-<ten>.md
  • DDMMYY = 今日の日付(例:2026年6月2日の場合は 020626)
  • <ten> = 実施内容を要約する kebab-case の単語2~4個(例:landing-page-coteccons、brand-kit-fintech、ingest-auth-spec)

2. llmwiki/wiki/draft/cave/DDMMYY-<ten>.md に書き込む:

# DDMMYY-<ten>
**Type:** draft
**Status:** proposed
**Tags:** <skill-name>, output-report
**Proposed:** YYYY-MM-DD

## What
<One sentence — what this skill invocation produced or decided>

## Output
<Key artefacts, files created/modified, or decisions made>

## Files
| File | Action |
|------|--------|
| `path/to/file` | created / modified |

## Notes
- Invoked via: `/<skill-name>` skill

## Origin
- **Draft:** `wiki/draft/cave/DDMMYY-<ten>.md`
- **Commit:** _(filled by verify-before-commit)_
- **Date promoted:** _(filled by verify-before-commit)_

3. wiki のインデックスとログを更新する:

  • llmwiki/wiki/index.md — 1行追加:| [DDMMYY-<ten>](draft/cave/DDMMYY-<ten>.md) | draft | YYYY-MM-DD |
  • llmwiki/wiki/log.md — 追記:## YYYY-MM-DD — <skill-name> — <ten>

スキルによって成果物も判断事項も生じない場合(例:/caveman-stats のような表示のみのモード)に限り、スキップします。

コメント