| name | write-readme |
| description | Use this skill when the user asks to create or update the README.md. Trigger for prompts like "generate the README", "update the README", "write the project documentation". Do not trigger for changelog updates or onboarding checklist generation. |
| allowed-tools | Read, Edit, Write, Glob |
Guardrails
- Escopo restrito ao
README.md ā nunca criar ou alterar outros arquivos de documentação
- Sem exposição de credenciais ā nunca incluir valores reais de variĆ”veis de ambiente; apenas placeholders descritivos
- Sem leitura de
appsettings.Production.json ā apenas appsettings.json e appsettings.Example.json
- Sem alteração de código-fonte ā apenas leitura para extração de informaƧƵes
- Sem desvio do template ā seguir estritamente a estrutura definida em
readme-template.md
Skill: Write README
MCP
1. Coletar informaƧƵes via Filesystem MCP
search_files ā src/ ā "*.sln" (detectar nome da solution)
read_file ā src/[componente].Api/appsettings.Example.json
read_file ā src/[componente].Api/Properties/launchSettings.json
list_directory ā src/ (detectar estrutura de camadas)
2. Verificar README existente via Filesystem MCP
read_file ā README.md (se existir)
3. Escrever README via Filesystem MCP
write_file ā README.md
Objetivo
Gera ou atualiza o README.md do repositório seguindo estritamente o template e padrões definidos em readme.md. As informações do projeto são detectadas automaticamente a partir do código e configurações do repositório.
Contextos NecessƔrios
Entrada
O usuÔrio deve informar a intenção. Se não informado, perguntar:
O que deseja fazer?
1. Gerar ā criar o README.md do zero
2. Atualizar ā atualizar seƧƵes especĆficas do README.md existente
Se atualizar, perguntar quais seƧƵes devem ser atualizadas:
Quais seƧƵes deseja atualizar?
1. Todas
2. Selecionar ā informar quais seƧƵes
Passos
1. Detectar informaƧƵes do projeto
Analisar automaticamente o repositório para coletar:
| Informação | Fonte |
|---|
| Nome do projeto | Nome do repositório |
| Descrição | [componente].sln, comentÔrios no Program.cs ou entrada do usuÔrio |
| PrĆ©-requisitos | .csproj ā versĆ£o do .NET SDK, dependĆŖncias externas |
| Nome da solution | Arquivo .sln em src/ |
| Nome do componente | Namespace raiz dos projetos |
| VariĆ”veis de ambiente | appsettings.Example.json ou appsettings.json ā apenas chaves, nunca valores reais |
| Porta da aplicação | launchSettings.json |
| Estrutura do projeto | Pastas em src/ |
Se alguma informação não puder ser detectada automaticamente, perguntar ao usuÔrio antes de prosseguir.
2. Gerar ou atualizar README
Gerar do zero
Seguindo estritamente o template de readme.md, preencher todas as seƧƵes com as informaƧƵes detectadas:
- TĆtulo e descrição ā nome do projeto e o que ele faz
- Ćndice ā links para todas as seƧƵes
- PrĆ©-requisitos ā .NET 8 SDK e dependĆŖncias detectadas
- Instalação ā comando
git clone e dotnet restore com o caminho correto da solution
- Configuração ā variĆ”veis de ambiente detectadas no
appsettings.Example.json
- Como rodar ā comando
dotnet run com o caminho correto do projeto de API
- Testes ā comandos
dotnet test com o caminho correto da solution
- Estrutura do projeto ā Ć”rvore gerada a partir das pastas detectadas em
src/
- Contribuição ā referĆŖncias ao branching strategy e commit standards
- Changelog ā link para o
CHANGELOG.md
Atualizar seƧƵes especĆficas
Para cada seção selecionada, re-detectar as informações correspondentes e substituir apenas o conteúdo daquela seção, preservando o restante do README existente.
3. Confirmar variƔveis de ambiente
Antes de incluir variƔveis de ambiente no README, confirmar com o usuƔrio:
As seguintes variƔveis foram detectadas no appsettings:
- ConnectionStrings__PostgreSQL
- ConnectionStrings__MongoDB
- Jwt__Secret
- Jwt__ExpiresInSeconds
Deseja adicionar mais alguma variƔvel ou ajustar as descriƧƵes?
1. NĆ£o ā usar as detectadas
2. Sim ā informar ajustes
Output Esperado
[nome-do-projeto]/
āāā README.md ā gerado ou atualizado
Exemplo de estrutura gerada:
# [Nome do Projeto]
> [Descrição detectada]
---
## Ćndice
- [PrƩ-requisitos](#prƩ-requisitos)
- [Instalação](#instalação)
- [Configuração](#configuração)
- [Como rodar](#como-rodar)
- [Testes](#testes)
- [Estrutura do projeto](#estrutura-do-projeto)
- [Contribuição](#contribuição)
- [Changelog](#changelog)
---
## PrƩ-requisitos
...
## Instalação
...
## Configuração
...
Validação
Antes de entregar o output, verificar:
Prompt Examples
- "gera o README do projeto"
- "cria a documentação inicial do repositório"
- "atualiza a seção de instalação do README"
- "o README estĆ” desatualizado, corrige"
- "escreve o README completo"
Error Handling
appsettings.Example.json ausente ā alertar o usuĆ”rio e solicitar que informe as variĆ”veis de ambiente manualmente antes de gerar a seção de configuração
launchSettings.json ausente ā usar porta padrĆ£o 5001 e alertar que a porta pode diferir do ambiente real
- Solution file nĆ£o encontrada ā alertar e solicitar que o usuĆ”rio informe o nome do componente manualmente
- README jĆ” existente ā nunca sobrescrever sem perguntar; sempre oferecer a opção de atualizar seƧƵes especĆficas