AgentSkillsCN

code-review

对 Go 代码进行评审——可通过“进行代码评审”、“Go 评审”、“请帮我评审”、“确认代码”、“质量检查”、“核查最佳实践”、“告诉我改进点”等指令触发。

SKILL.md
--- frontmatter
name: code-review
description: Go コードをレビューする。「コードレビューして」「Go のレビュー」「レビューお願い」「コード確認」「品質チェック」「ベストプラクティス確認」「改善点を教えて」などで起動。
allowed-tools: [Read, Bash, Glob, Grep]
context: fork
agent: shiiman-go:code-reviewer

Review Code

Go コードをレビューするスキル。

トリガー

  • 「コードレビューして」「Go のレビュー」「レビューお願い」
  • 「コード確認」「品質チェック」「ベストプラクティス確認」「改善点を教えて」

実行内容

  1. 対象コードの確認
  2. Effective Go 基準でのレビュー
  3. 改善点の提案
  4. セキュリティチェック

Claude への指示

実行手順

  1. 対象の特定

    ユーザーの指定から対象を特定:

    • ファイル名が指定されていれば、そのファイルをレビュー
    • 指定がなければ、最近変更されたファイルを確認
    bash
    git diff --name-only HEAD~1 | grep '\.go$'
    
  2. コードレビュー実施

    以下の観点でレビュー:

    観点チェック項目
    コードスタイルgofmt 準拠、命名規則、パッケージ構成
    エラーハンドリングエラーの適切な処理、ラッピング
    並行処理ゴルーチンリーク、レース条件、デッドロック
    パフォーマンス不要なアロケーション、N+1、バッファサイズ
    セキュリティ入力検証、SQL インジェクション、機密情報
    テスト容易性依存性注入、インターフェース分離
  3. 静的解析の実行

    bash
    # golangci-lint でチェック
    golangci-lint run --enable-all ./...
    
    # go vet でチェック
    go vet ./...
    
  4. レビュー結果の作成

レビュー基準

Effective Go

  • 公式ドキュメント
  • 命名規則(MixedCaps、短い変数名)
  • パッケージ設計
  • エラーハンドリング

Go Code Review Comments

  • Wiki
  • エラー文字列は小文字で開始
  • Don't Panic
  • Error Strings

出力形式

code
## コードレビュー結果

### 対象
- ファイル: {ファイル名}

### 評価サマリー
| 観点 | 評価 |
|------|------|
| コードスタイル | ⭐⭐⭐⭐☆ |
| エラーハンドリング | ⭐⭐⭐☆☆ |
| パフォーマンス | ⭐⭐⭐⭐⭐ |
| セキュリティ | ⭐⭐⭐⭐☆ |

### 改善点

#### 重要度: 高
1. {改善点}
   - 箇所: {ファイル名}:{行番号}
   - 理由: {理由}
   - 提案: {改善案}

#### 重要度: 中
1. {改善点}
   - 箇所: {ファイル名}:{行番号}
   - 理由: {理由}
   - 提案: {改善案}

### 良い点
- {良い点1}
- {良い点2}