jpskill.com
🛠️ 開発・MCP コミュニティ

golang-cli-review

Go言語で記述されたCLIアプリケーションのコードを、エラー処理やテスト、セキュリティなどの観点から網羅的にレビューし、改善点を含む実践的なチェックリストを提供するSkill。

📜 元の英語説明(参考)

Comprehensive code review for Golang CLI applications. Produces an actionable checklist covering error handling, CLI framework patterns (Cobra/urfave), testing, performance, security, and Go idioms. TRIGGERS: Review Go CLI, review golang command-line, code review .go CLI, audit CLI application, check golang tool, review cobra app

🇯🇵 日本人クリエイター向け解説

一言でいうと

Go言語で記述されたCLIアプリケーションのコードを、エラー処理やテスト、セキュリティなどの観点から網羅的にレビューし、改善点を含む実践的なチェックリストを提供するSkill。

※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o golang-cli-review.zip https://jpskill.com/download/9306.zip && unzip -o golang-cli-review.zip && rm golang-cli-review.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/9306.zip -OutFile "$d\golang-cli-review.zip"; Expand-Archive "$d\golang-cli-review.zip" -DestinationPath $d -Force; ri "$d\golang-cli-review.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して golang-cli-review.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → golang-cli-review フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-18
取得日時
2026-05-18
同梱ファイル
1

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

Go CLI コードレビュー

Go CLI アプリケーションをレビューし、実行可能な調査結果のチェックリストを作成します。

レビューワークフロー

  1. コードの収集 - CLI プロジェクト内のすべての Go ファイルを読み込みます。
  2. 分析 - レビューカテゴリ(下記参照)に基づいて評価します。
  3. チェックリストの作成 - references/review-checklist.md のテンプレートを使用します。

レビューカテゴリ

各領域を体系的に評価します。

CLI 構造とフレームワーク

  • フレームワークの使用状況(複雑な CLI には Cobra を推奨)
  • コマンド階層と発見可能性
  • 例を含むヘルプテキストの品質
  • semver に従ったバージョンコマンド

エラー処理

  • RunE vs Run (エラーを返す必要があります)
  • %w とコンテキストによるエラーのラップ
  • ユーザー向けの実行可能なエラー
  • 意味のある終了コード (0=成功, 1=エラー, 2=usage)
  • 通常のパスでのパニックの回避

フラグと引数の設計

  • 小文字-ケバブケースの命名
  • 一般的なオプションの短いフラグ (-v, -o, -q)
  • 必須フラグのマークと早期検証
  • 適切なデフォルト値
  • 明確な説明

入出力

  • エラー/進捗状況には stderr、データには stdout
  • 機械可読な出力のサポート (--json, --format)
  • Quiet モードと verbose モードのサポート
  • 非 TTY モードの処理 (プロンプトなし)

セキュリティ

  • シークレットは環境変数またはファイル経由で、フラグでは絶対に渡さない
  • パストラバーサルの防止
  • シェルインジェクションの防止
  • URL スキームの検証
  • ログに機密データを含めない

テスト

  • コマンドレベルのユニットテスト
  • エラーパスのカバレッジ
  • 重要なフローの統合テスト

パフォーマンスとリソース

  • コンテキストベースのキャンセル
  • シグナル処理 (SIGINT/SIGTERM)
  • 適切なリソースのクリーンアップ (defer)
  • goroutine リークの防止

Go イディオム

  • Effective Go スタイルへの準拠
  • 即時のエラー処理
  • パッケージの命名規則
  • インターフェース/構造体のパターン

参考資料

パターンと例については、references/cli-patterns.md を参照してください。

出力形式

references/review-checklist.md のチェックリストテンプレートを使用します。

## 重要な問題
- [ ] **[C1]** `file.go:123` - 説明
  - **影響:** ...
  - **修正:** ...

## 警告
- [ ] **[W1]** `file.go:45` - 説明
  - **理由:** ...
  - **修正:** ...

## 提案
- [ ] **[S1]** `file.go:78` - 説明
  - **検討:** ...

## ポジティブなパターン
- **[P1]** `file.go:90` - うまくできたこと

重大度レベル:

  • Critical: セキュリティの問題、クラッシュ、データ損失 - 修正必須
  • Warning: バグ、アンチパターン、メンテナンス上の懸念 - 修正推奨
  • Suggestion: スタイル、最適化、小さな改善 - あると良い
  • Positive: 強調する価値のある良いプラクティス
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

Go CLI Code Review

Review Go CLI applications and produce an actionable checklist of findings.

Review Workflow

  1. Gather code - Read all Go files in the CLI project
  2. Analyze - Evaluate against review categories (see below)
  3. Produce checklist - Use template from references/review-checklist.md

Review Categories

Evaluate each area systematically:

CLI Structure & Framework

  • Framework usage (prefer Cobra for complex CLIs)
  • Command hierarchy and discoverability
  • Help text quality with examples
  • Version command following semver

Error Handling

  • RunE vs Run (must return errors)
  • Error wrapping with %w and context
  • User-facing error actionability
  • Meaningful exit codes (0=success, 1=error, 2=usage)
  • No panics in normal paths

Flag & Argument Design

  • Lowercase-kebab-case naming
  • Short flags for common options (-v, -o, -q)
  • Required flags marked and validated early
  • Sensible defaults
  • Clear descriptions

Input/Output

  • stderr for errors/progress, stdout for data
  • Machine-readable output support (--json, --format)
  • Quiet and verbose mode support
  • Non-TTY mode handling (no prompts)

Security

  • Secrets via env vars or files, never flags
  • Path traversal prevention
  • No shell injection
  • URL scheme validation
  • No sensitive data in logs

Testing

  • Command-level unit tests
  • Error path coverage
  • Integration tests for critical flows

Performance & Resources

  • Context-based cancellation
  • Signal handling (SIGINT/SIGTERM)
  • Proper resource cleanup (defer)
  • No goroutine leaks

Go Idioms

  • Effective Go style compliance
  • Immediate error handling
  • Package naming conventions
  • Interface/struct patterns

Reference Material

For patterns and examples, see references/cli-patterns.md.

Output Format

Use the checklist template from references/review-checklist.md:

## Critical Issues
- [ ] **[C1]** `file.go:123` - Description
  - **Impact:** ...
  - **Fix:** ...

## Warnings
- [ ] **[W1]** `file.go:45` - Description
  - **Why:** ...
  - **Fix:** ...

## Suggestions
- [ ] **[S1]** `file.go:78` - Description
  - **Consider:** ...

## Positive Patterns
- **[P1]** `file.go:90` - What was done well

Severity levels:

  • Critical: Security issues, crashes, data loss - must fix
  • Warning: Bugs, anti-patterns, maintenance concerns - should fix
  • Suggestion: Style, optimization, minor improvements - nice to have
  • Positive: Good practices worth highlighting