# Csharp Docs

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

- **Type:** Skill
- **Install:** `agentstack add skill-harmeet10000-skills-csharp-docs`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [Harmeet10000](https://agentstack.voostack.com/s/harmeet10000)
- **Installs:** 0
- **Category:** [Cloud & Infrastructure](https://agentstack.voostack.com/c/cloud-infrastructure)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [Harmeet10000](https://github.com/Harmeet10000)
- **Source:** https://github.com/Harmeet10000/skills/tree/main/skills/backend/C#_dotnet/csharp-docs

## Install

```sh
agentstack add skill-harmeet10000-skills-csharp-docs
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# 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 `` 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 `` for additional information, which can include implementation details, usage notes, or any other relevant context.
- Use `` for language-specific keywords like `null`, `true`, `false`, `int`, `bool`, etc.
- Use `` for inline code snippets.
- Use `` for usage examples on how to use the member.
  - Use `` for code blocks. `` tags should be placed within an `` tag. Add the language of the code example using the `language` attribute, for example, ``.
- Use `` to reference other types or members inline (in a sentence).
- Use `` for standalone (not in a sentence) references to other types or members in the "See also" section of the online docs.
- Use `` to inherit documentation from base classes or interfaces.
  - Unless there is major behavior change, in which case you should document the differences.

## Methods

- Use `` 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 "`` to ...; otherwise, ``.".
  - 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.".
- Use `` to reference parameter names in documentation.
- Use `` to describe type parameters in generic types or methods.
- Use `` to reference type parameters in documentation.
- Use `` to describe what the method returns.
  - The description should be a noun phrase that doesn't specify the data type.
  - Begin with an introductory article.
  - If the return type is Boolean, the wording should be of the form "`` if ...; otherwise, ``.".

## Constructors

- The summary wording should be "Initializes a new instance of the  class [or struct].".

## Properties

- The `` should start with:
  - "Gets or sets..." for a read-write property.
  - "Gets..." for a read-only property.
  - "Gets [or sets] a value that indicates whether..." for properties that return a Boolean value.
- Use `` to describe the value of the property.
  - The description should be a noun phrase that doesn't specify the data type.
  - If the property has a default value, add it in a separate sentence, for example, "The default is ``".
  - If the value type is Boolean, the wording should be of the form "`` if ...; otherwise, ``. The default is ...".

## Exceptions

- Use `` to document exceptions thrown by constructors, properties, indexers, methods, operators, and events.
- Document all exceptions thrown directly by the member.
- For exceptions thrown by nested members, document only the exceptions users are most likely to encounter.
- The description of the exception describes the condition under which it's thrown.
  - Omit "Thrown if ..." or "If ..." at the beginning of the sentence. Just state the condition directly, for example "An error occurred when accessing a Message Queuing API."

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [Harmeet10000](https://github.com/Harmeet10000)
- **Source:** [Harmeet10000/skills](https://github.com/Harmeet10000/skills)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-harmeet10000-skills-csharp-docs
- Seller: https://agentstack.voostack.com/s/harmeet10000
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
