format
Installation
SKILL.md
dotnet format
Use the formatter already shipped with the selected .NET SDK. Preserve the repository's formatter ownership, existing changes, and configured style instead of introducing new preferences.
Workflow
- Read the nearest
AGENTS.md,global.json, solution/project files,.editorconfig, and current Git status. - Confirm the exact trusted workspace to load.
dotnet formatmay restore, compile, and run analyzers from that workspace. - Determine whether the request is read-only verification or permission to apply fixes. Do not run a mutating command for a review, explanation, or diagnosis request.
- Preserve the current diff before formatting. When scope is uncertain, begin with
--verify-no-changesor a narrow--includelist. - Choose the smallest formatter surface that matches the request:
whitespacefor indentation, spacing, and line-ending rules;stylefor built-in .NET code-style diagnostics;analyzersfor fixable non-style analyzer diagnostics;- the command without a subcommand only when all applicable surfaces are intended.
- Treat
--includeand--excludevalues as workspace-relative file or directory paths, not shell globs. Use--diagnosticsto narrow style or analyzer fixes by rule ID. - After a mutating run, inspect
git diff --stat, representative diffs, line endings, and every changed file. If scope is unexpectedly broad, stop and narrow the command; never discard pre-existing user changes. - Rerun the matching command with
--verify-no-changes. When analyzer fixes were applied, also build and run the tests relevant to the changed behavior.