csharp-docs
Garante que os tipos em C# sejam documentados com comentários XML. Segue as melhores práticas para que o código seja fácil de entender e manter.
O que ela faz
Este agente ajuda a adicionar comentários de documentação em código C# para torná-lo mais fácil de entender. Ele garante que os comentários sigam as melhores práticas para que outros programadores (ou você mesmo no futuro) possam entender o que o código faz.
Quando usar
- ✓Ao escrever código C# que será compartilhado com outros.
- ✓Ao criar bibliotecas ou APIs que outros desenvolvedores usarão.
- ✓Para melhorar a clareza e a manutenção do seu próprio código C#.
Exemplo do que pedir para a IA
“Adicione documentação XML aos membros públicos e internos do meu código C# seguindo as melhores práticas.”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
O agente analisa seu código C# e insere comentários XML (`///`) em locais apropriados, como antes de classes, métodos e propriedades. Ele usa tags específicas como `<summary>`, `<remarks>` e `<param>` para explicar o propósito, detalhes e parâmetros do código.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add github/awesome-copilot --skill csharp-docsOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/csharp-docs/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Melhores Práticas de Documentação em C#
- Membros públicos devem ser documentados com comentários XML.
- É recomendado documentar membros internos também, especialmente se forem complexos ou não autoexplicativos.
Orientações para todas as APIs
- Use
<summary>para fornecer uma descrição breve, em uma única frase, do que o tipo ou membro faz. Comece o resumo com um verbo no presente e na terceira pessoa. - Use
<remarks>para informações adicionais, que podem incluir detalhes de implementação, notas de uso ou qualquer outro contexto relevante. - Use
<see langword>para palavras-chave específicas da linguagem comonull,true,false,int,bool, etc. - Use
<c>para trechos de código em linha. - Use
<example>para exemplos de uso de como utilizar o membro.- Use
<code>para blocos de código. As tags<code>devem ser colocadas dentro de uma tag<example>. Adicione a linguagem do exemplo de código usando o atributolanguage, por exemplo,<code language="csharp">.
- Use
- Use
<see cref>para referenciar outros tipos ou membros em linha (em uma frase). - Use
<seealso>para referências isoladas (não em uma frase) a outros tipos ou membros na seção "Veja também" da documentação online. - Use
<inheritdoc/>para herdar documentação de classes base ou interfaces.- A menos que haja uma grande mudança de comportamento, caso em que você deve documentar as diferenças.
Métodos
- Use
<param>para descrever parâmetros de métodos.- A descrição deve ser uma frase nominal que não especifica o tipo de dado.
- Comece com um artigo introdutório.
- Se o parâmetro for um enum de flags, comece a descrição com "Uma combinação bit a bit dos valores da enumeração que especifica...".
- Se o parâmetro for um enum sem flags, comece a descrição com "Um dos valores da enumeração que especifica...".
- Se o parâmetro for um Booleano, a redação deve ser do tipo "
<see langword="true" />para ...; caso contrário,<see langword="false" />.". - Se o parâmetro for um parâmetro "out", a redação deve ser do tipo "Quando este método retornar, conterá .... Este parâmetro é tratado como não inicializado.".
- Use
<paramref>para referenciar nomes de parâmetros na documentação. - Use
<typeparam>para descrever parâmetros de tipo em tipos ou métodos genéricos. - Use
<typeparamref>para referenciar parâmetros de tipo na documentação. - Use
<returns>para descrever o que o método retorna.- A descrição deve ser uma frase nominal que não especifica o tipo de dado.
- Comece com um artigo introdutório.
- Se o tipo de retorno for Booleano, a redação deve ser do tipo "
<see langword="true" />se ...; caso contrário,<see langword="false" />.".
Construtores
- A redação do resumo deve ser "Inicializa uma nova instância da classe <Class> [ou struct].".
Propriedades
- O
<summary>deve começar com:- "Obtém ou define..." para uma propriedade de leitura e escrita.
- "Obtém..." para uma propriedade somente leitura.
- "Obtém [ou define] um valor que indica se..." para propriedades que retornam um valor Booleano.
- Use
<value>para descrever o valor da propriedade.- A descrição deve ser uma frase nominal que não especifica o tipo de dado.
- Se a propriedade tiver um valor padrão, adicione-o em uma frase separada, por exemplo, "O padrão é
<see langword="false" />". - Se o tipo de valor for Booleano, a redação deve ser do tipo "
<see langword="true" />se ...; caso contrário,<see langword="false" />. O padrão é ...".
Exceções
- Use
<exception cref>para documentar exceções lançadas por construtores, propriedades, indexadores, métodos, operadores e eventos. - Documente todas as exceções lançadas diretamente pelo membro.
- Para exceções lançadas por membros aninhados, documente apenas as exceções que os usuários têm maior probabilidade de encontrar.
- A descrição da exceção descreve a condição sob a qual ela é lançada.
- Omita "Lançada se ..." ou "Se ..." no início da frase. Apenas declare a condição diretamente, por exemplo, "Ocorreu um erro ao acessar uma API de Filas de Mensagens.".
Perguntas frequentes
O que são comentários XML em C#?
São comentários especiais no código C# que usam tags XML (como `<summary>`) para descrever o que o código faz. Ferramentas podem usar esses comentários para gerar documentação automaticamente.
Por que documentar membros internos?
Embora não seja estritamente obrigatório, documentar membros internos ajuda a explicar partes complexas do código que não são óbvias, facilitando a compreensão para quem mantém o código.
O que é `<inheritdoc/>`?
É uma tag que diz ao compilador para copiar a documentação de um membro pai (como uma classe base ou interface) para o membro atual. Isso evita repetição de código quando o comportamento é o mesmo.
Detalhes
Descrição original do autor
Ensure that C# types are documented with XML comments and follow best practices for documentation.
repo: github/awesome-copilot
Popularidade
- Estrelas no GitHub
- 40 mil
- Posição no ranking
- #5095
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
acquire-codebase-knowledge
Ajuda seu agente a entender e documentar um projeto de código existente. É útil para novas pessoas entrarem no projeto ou para ter uma visão geral da arquitetura.
github/awesome-copilot
acreadiness-assess
Faz seu agente avaliar a prontidão de um projeto para IA e gerar um relatório. É útil para entender o quão bem um projeto está preparado para usar ferramentas de IA.
github/awesome-copilot
acreadiness-generate-instructions
Ajuda seu agente a criar instruções para ferramentas de IA baseadas em uma avaliação. É útil para melhorar a forma como a IA interage com o código e fecha lacunas identificadas.
github/awesome-copilot
acreadiness-policy
Faz seu agente ajudar a definir ou aplicar políticas para avaliação de projetos de IA. É útil para padronizar a forma como os projetos são avaliados e garantir conformidade.
github/awesome-copilot
Skills parecidas
architecture-decision-records
Faz seu agente registrar decisões importantes sobre a estrutura do projeto. Ajuda a entender o porquê das escolhas feitas e a manter um histórico claro das mudanças.
affaan-m/ECC
code-tour
Faz seu agente criar guias passo a passo no código, com locais exatos em arquivos e linhas. É útil para apresentar um projeto, explicar código ou revisar mudanças. Ajuda a entender como um sistema funciona.
affaan-m/ECC
codebase-onboarding
Ajuda seu agente a analisar um código desconhecido e criar um guia de integração. Ele inclui um mapa da arquitetura, pontos de entrada e convenções. Ideal para quem está começando em um novo projeto.
affaan-m/ECC