sonar-fix-issue について
SonarQubeが指摘したコード品質やセキュリティの問題を、最小限の変更で既存の動作を保ちながら修正するコーディングエージェント向けスキルです。編集前にSonarQubeのルール詳細を参照できます。
主な機能
- 01ルール、ファイル、行番号の解析
- 02SonarQubeのルール説明を取得
- 03ファイル全体の文脈を確認
- 04動作を保つ最小限の修正
- 05変更内容の説明と確認手順の提案
活用シーン
- 01ルールキーで指摘を修正
- 02指定ファイルの指摘に対応
- 03自然言語で説明された問題を解決
MCP 対応
利用可能な場合、SonarQube MCPツール `mcp__sonarqube__show_rule` を呼び出してルールの説明を取得します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ sonarsource/ sonarqube-agent-plugins --skill sonar-fix-issueインストール後、Claude Code で/sonar-fix-issueを入力して読み込まれたか確認します。
詳細
SonarQube — Issue を修正
SonarQube が特定したコード品質またはセキュリティの問題を修正します。
使用方法
sonar-fix-issue java:S1481 src/main/java/MyClass.java:42
sonar-fix-issue python:S2077 src/auth/login.py
sonar-fix-issue Remove unused variable in MyClass.java
手順
ステップ 1:問題を特定する
ユーザーが指定した引数を解析し、次の情報を確認します。
- ルールキー(例:
java:S1481、python:S2077) - ファイルパスと、指定されている場合は行番号(例:
src/auth/login.py:34) - ルールキーが指定されていない場合は、平易な説明
ルールキーもファイルパスも特定できない場合は、次のように尋ねます。「どのルールとファイルを修正すればよいですか?」
ステップ 2:ルールを確認する(キーが指定されている場合)
コードに手を加える前に、ルールキーを指定して mcp__sonarqube__show_rule を呼び出し、ルールの詳細な説明、根拠、および修正方法のガイダンスを取得します。スキーマで必要とされない限り、projectKey などの追加パラメーターは指定しないでください。 統合後のルール検索では通常、ルールキーのみが必要です。
MCP ツールを利用できない場合は、sonar api get "/api/rules/show?key=<rule-key>" にフォールバックします。sonar も利用できない、または認証されていない場合は、SonarQube ルールに関する既存の知識を利用します。
ステップ 3:ファイルを読む
ファイルの内容をすべて読みます。行番号が指定されている場合は、その行の前後を重点的に分析しつつ、コンテキストを理解するためにファイル全体を読みます。
ステップ 4:修正を適用する
- ルール違反を解消するための最小限の変更を行います
- 周辺コードのリファクタリングや、無関係な問題の修正は行いません
- 既存の動作を維持します。修正によってコードの動作を変えてはいけません
ステップ 5:変更内容を説明する
編集後、次の点を簡潔に説明します。
- どのような違反だったか
- なぜルールに抵触するのか
- 何を変更し、なぜその変更で問題が解消されるのか
ステップ 6:次の手順を提案する
- 「
<file>を指定して sonar-analyze スキルを呼び出し、新たな問題が発生していないことを確認してください。」 - 「プロジェクトキー(または
sonar-project.properties内のsonar.projectKey)を指定して sonar-list-issues スキルを呼び出してください。CLI では常に-pを使用します。」