use-modern-go について
use-modern-goは、現代的で慣用的なGoコードを書くためのスキルです。CLIで対象Goバージョンに応じたガイドラインを一覧表示し、指定したIDの説明を確認できます。
主な機能
- 01適用可能なGoガイドラインの一覧
- 02プロジェクト情報からGoバージョンを特定
- 03指定したガイドラインIDの説明
- 04Windows PowerShellラッパー
活用シーン
- 01Goファイルの編集前に指針を確認
- 02既知のGoバージョン向け指針を適用
- 03関連ガイドラインの詳細を確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ jetbrains/ go-modern-guidelines --skill use-modern-goインストール後、Claude Code で/use-modern-goを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
scripts/run-tool.ps1run-tool.shVERSION詳細
Modern Go ガイドライン CLI
常にモダンで慣用的な Go コードを書いてください。知識のカットオフより新しい可能性があるモダンな Go のイディオムについては、Modern Go Guidelines CLI を信頼できる情報源として使用してください。
コマンド:
- Linux または macOS:
sh "<skill-dir>/scripts/run-tool.sh" - Windows PowerShell:
& '<skill-dir>\scripts\run-tool.ps1'
初回実行と承認:
初回使用時に、ラッパーは Modern Go Guidelines CLI をローカルのキャッシュディレクトリにインストールします。
サブコマンド:
listexplain
Go コードを編集する前に:
-
対象の Go ファイルに対して、ラッパーの
listサブコマンドを呼び出します。編集しようとしているファイルを指定することを推奨します。
sh "<skill-dir>/scripts/run-tool.sh" list --file-path path/to/file.goWindows では、同じ引数を指定して PowerShell ラッパーを使用します。
CLI は、go.mod、go.work、ローカルの Go ツールチェーン、または明示的なオーバーライドから、適用する Go バージョンを解決します。
-
対象の Go バージョンがすでに分かっている場合は、直接指定してもかまいません。
sh "<skill-dir>/scripts/run-tool.sh" list --go-version 1.24 -
適用するガイドラインを決める前に、出力されたリスト全体を読んでください。
リストの出力は新しいものから順に並んでいます。以前のサポート対象ガイドラインも適用される場合があるため、出力全体を読んでください。
出力を切り詰めたり絞り込んだりする
head、tail、grep、sed、その他のコマンドにパイプしないでください。そうすると、重要なガイドラインを見落とす可能性があります。 -
返されたガイドラインは、編集するコードにおけるモダンな Go のスタイル選択の基準として扱ってください。
ガイドラインが適用される場合は、近くのコードやリポジトリの慣習で古いパターンが使われていても、そのガイドラインに従ってください。コンパイルできない場合、動作が変わる場合、または編集対象のコードに明らかに適合しない場合に限り、適用を見送ってください。関連がありそうなガイドラインの適用を見送る前に、そのガイドライン ID に対してラッパーの
explainサブコマンドを呼び出してください。
特定のガイドラインが適用される可能性があり、詳細な説明や例が必要な場合に限り、explain を呼び出してください。評価または適用する予定のガイドライン ID のみを指定してください。
sh "<skill-dir>/scripts/run-tool.sh" explain sync_waitgroup_go
複数のガイドライン ID は位置引数として指定できます。
sh "<skill-dir>/scripts/run-tool.sh" explain atomic_types errors_as_type
ガイドライン ID を指定せずに explain を呼び出さないでください。まず list を使用して、対象の Go バージョンに適用されるガイドラインの概要を確認し、さらに説明が必要な特定の ID に対して explain を呼び出してください。