Skip to content
Testing
Skill

/resolve-diagnostics

Resolves IDE diagnostics (inspections and analyzer findings) at the `warning` or higher severity level for a given set of files. Use this skill when a workflow's refactoring step calls for resolving diagnostics, or when the user asks to fix warnings, inspections, or static

From plugin
unity-coding-skills
2010 skills3 agents

Claude Code

$ npx -y skills add nowsprinting/unity-coding-skills --skill resolve-diagnostics --agent claude-code

SKILL.md

resolve-diagnostics.SKILL.md
name: resolve-diagnostics
description: >-
  Resolves IDE diagnostics (inspections and analyzer findings) at the `warning` or higher severity level for a given set of files.
  Use this skill when a workflow's refactoring step calls for resolving diagnostics, or when the user asks to fix warnings,
  inspections, or static analysis findings in specific files.
argument-hint: "[file paths]"
license: Unlicense
metadata:
  author: Koji Hasegawa

Resolves IDE diagnostics at the `warning` or higher severity level for the given files, reformats them to the solution's code style, then runs the tests.

Input

One or more file or directory path arguments. Resolve them with `${CLAUDE_SKILL_DIR}/scripts/resolve-targets.sh <unity-project-root> <path>...` — it prints the project-root-relative path of every `.cs` file in the solution, one per line, in the form `lint_files`, `get_file_problems`, and `reformat_file` expect, and reports each dropped path (docs, `.meta`, `.asmdef`, assets, files outside the solution) on stderr. Use that list as-is.

If no path argument is given, use `AskUserQuestion` to ask the user for the targets. Do not derive targets from `git status` — that would silently widen the scope beyond what was requested.

If the script exits with code 3, stop and report that — there is nothing to resolve.

Workflow

Step 1: Load the Coding Guide

1. Load the `code-writing-guide` skill — do not rely on automatic skill triggering. Every fix applied in Step 2 must follow it. 2. Read its `resources/diagnostics-review-feedback.md` before deciding any diagnostic in Step 2.

Never leave a `warning`-or-higher diagnostic unaddressed — each one is either fixed or explicitly suppressed per the criteria just read.

Step 2: Resolve Diagnostics

Resolve diagnostics at the `warning` or higher severity level, collecting them for all resolved files via `lint_files` rather than one file at a time. By default the tools also return `suggestion`- and `hint`-level results — those are out of scope, with one exception: a `suggestion`-level diagnostic related to performance (execution speed, memory allocation, boxing, etc.) should be considered for fixing too, though it never requires suppression when declined. Both `lint_files` and its fallback `get_file_problems` require Rider 2026.2 or later.

1. `lint_files` — pass every resolved file in one call

  • If the call errors, fall back to `get_file_problems`, called once per file
  • On a `timedOut` or `more` result, retry the outstanding file(s) with `get_file_problems`
  • If a timeout persists, use `AskUserQuestion` to confirm the user is running Rider 2026.2 or

later before retrying further

  • Files reported as not analyzed carry into Step 5 as skipped

2. Decide each diagnostic per the criteria read in Step 1, and apply all resulting changes as a single set per file

  • When a fix is a rename (naming-convention inspections) or a symbol removal (unused-member

findings), apply it via `rename_refactoring` / `safe_delete` so references are updated across the solution

Do not use `mcp__ide__getDiagnostics` (limited to files open in editor tabs) or the Unity compiler output (does not reflect `.editorconfig` severity settings).

Step 3: Reformat

Call `reformat_file` once with the full list of files resolved in Input (not one call per file), passing `rootFolder` as the project/solution root.

Step 4: Run Tests

If any file was modified in Step 2 — a fix or a suppression — load the `run-tests` skill (do not rely on automatic skill triggering) and run the tests for the affected assemblies, then confirm they still pass. Step 3's reformatting alone does not change behavior, so skip this step when Step 2 applied no changes.

Step 5: Report Suppressions and Known-Issue Items

If any diagnostic was suppressed rather than fixed, list each one for the user together with its reason. The suppression site itself already carries a "why not" comment per the Step 1 criteria.

Also list any files skipped in Step 2 as not analyzed, together with the reason given.

Also list any diagnostics handled under the Gotchas below, each with the user-verification request described there.

Gotchas

Suppression comment format:

  • The `// ReSharper disable once <InspectionName>` form works only for ReSharper's built-in

inspections (e.g., `RedundantEmptySwitchSection`) — it has no effect on Roslyn analyzer diagnostics. To suppress an analyzer diagnostic, wrap the code in `#pragma warning disable <ID>` / `#pragma warning restore <ID>` using the analyzer's diagnostic ID (e.g., `NUnit2007`).

Known issues in `lint_files` / `get_file_problems` as of Rider 2026.2.1:

  • [RIDER-142275](https://youtrack.jetbrains.com/issue/RIDER-142275): inspections from ReSharper

plugins are returned with an empty description. Do not guess what such a diagnostic means or attempt a fix — leave it as is, and in Step 5 ask the user to open the file in the editor and check what the inspection actually reports (e.g., whether it is a complexity finding).

  • [RIDER-142276](https://youtrack.jetbrains.com/issue/RIDER-142276): Roslyn analyzer diagnostics

that are already suppressed in source are still reported. Once a `#pragma warning disable` for the diagnostic is in place, treat it as resolved and move on even if the tools keep reporting it — do not re-fix or re-suppress. In Step 5, ask the user to confirm the suppression is effective in the editor.

Read more
@nowsprinting
Ships withunity-coding-skills

A Claude Code plugin for Unity development that enables coding agents to work autonomously through a test-first workflow — writing reliable, maintainable tests before production code, then iterating to completion without constant oversight.

2010 skills3 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
20
Star history of nowsprinting/unity-coding-skills on GitHub, a chart by star-history.com

Other skills on unity-coding-skills.

More skills from other plugins.

api-review

api-review

Produce the "Playwright 1.xx API Review" artifact for a range of commits - the public API additions and the breaking or behavior…

@microsoft@microsoftInstall Skill
add-e2e-selectors

add-e2e-selectors

Add reliable @grafana/e2e-selectors to interactive elements and key containers in the Grafana frontend. Use when adding e2e…

grafana5d78k
@grafana@grafanaInstall Skill
promptfoo-evals

promptfoo-evals

Write, refine, run, and QA promptfoo evaluation suites: promptfooconfig.yaml, prompts, providers, vars, tests, assertions,…

promptfoo13d27k
@promptfoo@promptfooInstall Skill
deepeval

deepeval

DeepEval evaluation workflow for AI agents and LLM applications. TRIGGER when the user wants to evaluate or improve an AI agent,…

@confident-ai@confident-aiInstall Skill

Questions about resolve-diagnostics.

Which coding agents can use resolve-diagnostics?
resolve-diagnostics installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.