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本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
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
$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. 下の青いボタンを押して
golang-cli-review.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
golang-cli-reviewフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 1
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
Go CLI コードレビュー
Go CLI アプリケーションをレビューし、実行可能な調査結果のチェックリストを作成します。
レビューワークフロー
- コードの収集 - CLI プロジェクト内のすべての Go ファイルを読み込みます。
- 分析 - レビューカテゴリ(下記参照)に基づいて評価します。
- チェックリストの作成 - 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
- Gather code - Read all Go files in the CLI project
- Analyze - Evaluate against review categories (see below)
- 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
%wand 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