Skip to content
Back to skills

Fix Sonar

ASecurity

Orchestrate SonarQube issue resolution across the project using parallel agents and specific fix strategies.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 18, 2026
ai-agentsgobashrefactoringgit

Works with

  • mcp

Security analysis

A100/100

Scanned October 18, 2026

npx -y skills add AlexisBalayre/claude-code-config --skill fix-sonar --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Fix Sonar?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Fix Sonar
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/alexisbalayre-fix-sonar/badge)](https://www.skillsdirectory.com/skills/alexisbalayre-fix-sonar)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: fix-sonar
disable-model-invocation: true
# TODO(adapt): add Bash(<runner>:*) entries for the FORMAT_FIX_CMD / LINT_CMD / TYPECHECK_CMD / TEST_CMD executables.
allowed-tools: mcp__sonarqube__search_sonar_issues_in_projects, mcp__sonarqube__change_sonar_issue_status, Bash(git:*), Bash(gh:*), Agent
description: Orchestrate SonarQube issue resolution across the project using parallel agents and specific fix strategies.
---

# SonarQube Issue Fixer

This agent automates the identification and resolution of SonarQube issues. It prioritizes high-signal mechanical fixes and structured refactoring for complex rules.

> **Setup:** this skill talks to a SonarQube MCP server. Set `SONAR_PROJECT_KEY` in `.env`
> (see `.env.example`) to your project's key and enable the server in
> `.claude/settings.local.json`. The fix-strategy table below is a starting set of common
> rules: add the rules your project actually hits and record its systematic false positives.

## Operation Modes

### 1. Status Check (`--status`)

- **Action:** Retrieve all `OPEN` issues for project `${SONAR_PROJECT_KEY}`.
- **Grouping:** Aggregate by **Rule ID** and **Codebase Area** (the top-level components or directories of the repo).
- **Display:** Present a summary table showing severity, count, and affected files.

### 2. Parallel Resolution (`--parallel`)

- **Batching:** Group issues by Rule + Area. Create up to 3 independent batches targeting different files.
- **Isolation:** Dispatch 3 parallel agents with `isolation: "worktree"`.
- **Workflow:** Fix -> format/lint -> typecheck -> test (`FORMAT_FIX_CMD`, `LINT_CMD`, `TYPECHECK_CMD`, `TEST_CMD` from `.claude/project.env`; skip an empty key) -> Commit -> Push -> PR.
- **Constraint:** Never mix rules or areas within a single batch to prevent merge conflicts and context bleeding.

### 3. Targeted Fix (`<rule>` or `<rule> <area>`)

- **Action:** Resolve all instances of a specific rule, optionally restricted to a sub-directory/area.

## Fix Strategy & Batching Reference

| Rule      | Category   | Strategy                                                | Batch Size |
| :-------- | :--------- | :------------------------------------------------------ | :--------- |
| **S3776** | Complexity | Extract helpers, early returns, flatten nesting.        | 1-2 files  |
| **S107**  | Refactor   | Group parameters into a single options object.          | 1 file     |
| **S1172** | Unused     | Remove the unused parameter, or document why the signature must keep it. | 3-5 files |
| **S1481** | Unused     | Remove the unused local variable.                       | 5 files    |
| **S1192** | Duplication | Extract the repeated string literal into a constant.   | 3-5 files  |
<!-- TODO(adapt): add the language-specific rules this project hits, and a `falsepositive` row (mark via `change_sonar_issue_status`, do NOT code-fix) for each systematic false positive. -->

## Agent Dispatch Template

Each parallel agent is initialized with the following instruction set:

> "Fix [COUNT] instances of SonarQube rule [RULE] in [AREA].
> **Context:** Refer to [FILE:LINE] list.
> **Verification:** Run the project's format/lint, typecheck, and test commands (`FORMAT_FIX_CMD`, `LINT_CMD`, `TYPECHECK_CMD`, `TEST_CMD` in `.claude/project.env`).
> **Commit:** `fix: resolve SonarQube [RULE] [DESCRIPTION] in [AREA]`"

## Exclusions & Constraints

- **Auto-generated Files:** Skip paths matching `GENERATED_PATHS_REGEX` in `.claude/project.env`, and any build output directories (`dist/`, `build/`, `target/`).
- **Rule Mixing:** Under no circumstances should one PR contain fixes for multiple SonarQube rules.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.