Agent skill · writing content · github

csharp-docs

Ensure that C# types are documented with XML comments and follow best practices for documentation.

Why this skill is useful

Codifies best practices for documenting C# types with XML comments, which the AI could infer but now has clear standards.

What it needs

About 3k tokens when loaded. Last updated 2026-08-07. 37,534 stars on the source repository.

What this skill does

C# Documentation Best Practices Public members should be documented with XML comments. It is encouraged to document internal members as well, especially if they are complex or not self-explanatory. Guidance for all APIs Use <summary> to provide a brief, one sentence, description of what the type or member does. Start the summary with a present-tense, third-person verb. Use <remarks> for additional information, which can include implementation details, usage notes, or any other relevant context. Use <see langword> for language-specific keywords like null, true, false, int, bool, etc. Use <c> for inline code snippets. Use <example> for usage examples on how to use the member. Use <code> for code blocks. <code> tags should be placed within an <example> tag. Add the language of the code example using the language attribute, for example, <code language="csharp">. Use <see cref> to reference other types or members inline (in a sentence). Use <seealso> for standalone (not in a sentence) references to other types or members in the "See also" section of the online docs. Use <inheritdoc/> to inherit documentation from base classes or interfaces. Unless there is major behavior change, in which case you should document the differences. Methods Use <param> to describe method parameters. The description should be a noun phrase that doesn't specify the data type. Begin with an introductory article. If the parameter is a flag enum, start the description with "A bitwise combination of the enumeration values that specifies...". If the parameter is a non-flag enum, start the description with "One of the enumeration values that specifies...". If the parameter is a Boolean, the wording should be of the form "<see langword="true" /> to ...; otherwise, <see langword="false" />.". If the parameter is an "out" parameter, the wording should be of the form "When this method returns, contains .... This parameter is treated as uninitialized.". …

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills github/csharp-docs

View the source on GitHub

Browse the @skills marketplace