$npx -y skills add dennisdoomen/CSharpGuidelines --skill csharp-guidelinesApply the C# coding and design guidelines by Dennis Doomen when writing, reviewing, or refactoring C# code. Use this skill whenever you generate or evaluate C# to ensure it follows the established rules for class design, member design, maintainability, naming, performance, testab
| 1 | # C# Coding Guidelines |
| 2 | |
| 3 | Apply these rules whenever writing or reviewing C# code. |
| 4 | |
| 5 | **Severity:** **Must** = always enforce · **Should** = follow unless there is a clear reason not to · **May** = optional good practice. |
| 6 | |
| 7 | Consult the `references/` files for the full set of rules per category: |
| 8 | |
| 9 | - [General (AV0100)](references/general.md) — KISS, YAGNI, DRY, OOP pillars, AI code |
| 10 | - [Class Design (AV1000)](references/class-design.md) — SRP, LSP, LoD, coupling |
| 11 | - [Member Design (AV1100)](references/member-design.md) — properties, methods, parameters, null rules |
| 12 | - [Miscellaneous Design (AV1200)](references/misc-design.md) — exceptions, events, generics, LINQ |
| 13 | - [Maintainability (AV1500)](references/maintainability.md) — method size, var, control flow, naming files |
| 14 | - [Testability (AV1600)](references/testability.md) — test naming, builders, public API testing |
| 15 | - [Naming (AV1700)](references/naming.md) — casing, prefixes, abbreviations, async suffix |
| 16 | - [Performance (AV1800)](references/performance.md) — async/await, Task, ValueTask |
| 17 | - [Framework Usage (AV2200)](references/framework.md) — idiomatic C#, dynamic, LINQ syntax |
| 18 | - [Documentation (AV2300)](references/documentation.md) — XML docs, inline comments |
| 19 | - [Layout (AV2400)](references/layout.md) — indentation, member order, regions |