.claude/skills/readme-generator/SKILL.md
Generates a comprehensive, standardized README.md for any project. Use when the user wants to create or regenerate a README file following the project's documentation standard.
npx skillsauth add emaginebr/NNews readme-generatorInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
You are a README.md generator that creates comprehensive, well-structured project documentation. Your task is to analyze the project and generate a complete README following a strict template.
The user may provide additional context or a project path as argument: $ARGUMENTS
If no arguments are provided, analyze the current project directory.
Analyze the project to gather all necessary information:
Identify the project type: Check for project files to determine the technology stack:
.csproj / .sln → .NETpackage.json → Node.js / React / Angularpom.xml / build.gradle → Javarequirements.txt / pyproject.toml / setup.py → Pythongo.mod → GoCargo.toml → RustGemfile → RubyRead project configuration files: Read the main project config to extract:
Analyze the directory structure: Use ls and Glob to understand the folder structure, identify key directories (source, tests, docs, config, docker, CI/CD).
Check for Docker support: Look for Dockerfile, docker-compose.yml, .dockerignore.
Check for CI/CD: Look for .github/workflows/, .gitlab-ci.yml, Jenkinsfile, azure-pipelines.yml, bitbucket-pipelines.yml.
Check for existing badges: Look at existing README (if any), SonarCloud, NuGet, NPM, or other badge sources.
Check for environment configuration: Look for .env.example, appsettings.*.json, config/ directories.
Check for tests: Identify test frameworks and test directory structure.
Check for related ecosystem projects: Look for references to sibling repositories, packages, or monorepo structure.
Analyze system architecture: Identify the main components, services, APIs, databases, message brokers, caches, and external integrations that make up the system. Look at:
docker-compose.yml for service topology.csproj/package.json in subdirectories)Check for existing documentation: Look for a docs/ directory with existing .md files that should be linked in the README.
Use the mermaid-chart skill to create a system design diagram for the project:
Based on the architecture analysis from Phase 1 step 10, determine the most appropriate diagram type:
C4Context) — For projects with external actors and system boundariesflowchart TD/LR) — For general service interaction flowssequenceDiagram) — For projects where request flow is the key aspectInvoke the mermaid-chart skill to generate the diagram:
/mermaid-chart system-design diagram for <project-name> showing <identified components>
docs/system-design.mmd and docs/system-design.pngIf the project is too simple for a system design diagram (e.g., a single CLI tool or a static library with no external dependencies), skip this phase entirely.
Use the doc-manager skill to create or update any supplementary documentation that would benefit the project:
docs/ directory already exists with documentsARCHITECTURE_DECISIONS.md, DEPLOYMENT_GUIDE.md, API_REFERENCE.md), use the doc-manager skill to create them:
/doc-manager create <document-name>
docs/ to link them in the READMEGenerate the README.md following the exact template structure below. Only include sections that are relevant to the project. If the project has no Docker setup, skip the Docker section. If no CI/CD, skip that section.
Save the generated README to README.md in the project root (or the path specified by the user).
The generated README MUST follow this structure and formatting standard:
# <Project Name> - <Short Tagline>


<!-- Add relevant badges: SonarCloud, NuGet, NPM, build status, coverage, etc. -->
## Overview
**<Project Name>** is <one paragraph description of what the project does, who it's for, and what problems it solves>. Built using **<main technologies>**.
<If part of an ecosystem, describe the relationship with other projects here.>
<Brief mention of architecture approach if relevant.>
---
## 🚀 Features
- 🔐 **Feature 1** - Brief description
- 🔑 **Feature 2** - Brief description
- 🔄 **Feature 3** - Brief description
<!-- List all major features with appropriate emoji and bold title -->
---
## 🛠️ Technologies Used
### Core Framework
- **<Framework>** - Brief description
### Database
- **<Database>** - Brief description
<!-- Only if applicable -->
### Security
- **<Security tech>** - Brief description
<!-- Only if applicable -->
### Additional Libraries
- **<Library>** - Brief description
### Testing
- **<Test framework>** - Brief description
### DevOps
- **<DevOps tool>** - Brief description
<!-- Only if applicable -->
---
## 📁 Project Structure
\`\`\`
<ProjectRoot>/
├── <dir1>/ # Description
│ ├── <subdir>/ # Description
│ └── <file> # Description
├── <dir2>/ # Description
├── <config-file> # Description
└── README.md # This file
\`\`\`
<!-- If part of an ecosystem, add: -->
### Ecosystem
| Project | Type | Package | Description |
|---------|------|---------|-------------|
| **[Project1](url)** | Type | Badge | Description |
#### Dependency graph
\`\`\`
<ASCII art dependency graph>
\`\`\`
---
## 🏗️ System Design
<!-- Generated by the mermaid-chart skill. Only include if a system design diagram was created in Phase 2. -->
The following diagram illustrates the high-level architecture of **<Project Name>**:

<Brief explanation of the main components and how they interact.>
> 📄 **Source:** The editable Mermaid source is available at [`docs/system-design.mmd`](docs/system-design.mmd).
---
## 📖 Additional Documentation
<!-- Only include if there are documents in docs/. List all .md files managed by the doc-manager skill. -->
| Document | Description |
|----------|-------------|
| [DOCUMENT_NAME](docs/DOCUMENT_NAME.md) | Brief description |
<!-- Repeat for each document found in docs/ -->
---
## ⚙️ Environment Configuration
Before running the application, you need to configure the environment variables:
### 1. Copy the environment template
\`\`\`bash
cp .env.example .env
\`\`\`
### 2. Edit the \`.env\` file
\`\`\`bash
# Variable descriptions with example values
VARIABLE_NAME=example_value
\`\`\`
⚠️ **IMPORTANT**:
- Never commit the \`.env\` file with real credentials
- Only the \`.env.example\` should be version controlled
- Change all default passwords and secrets before deployment
---
## 🐳 Docker Setup
### Quick Start with Docker Compose
#### 1. Prerequisites
\`\`\`bash
# Any required network or pre-setup commands
\`\`\`
#### 2. Build and Start Services
\`\`\`bash
docker-compose up -d --build
\`\`\`
#### 3. Verify Deployment
\`\`\`bash
docker-compose ps
docker-compose logs -f
\`\`\`
### Accessing the Application
| Service | URL |
|---------|-----|
| **Service Name** | http://localhost:PORT |
### Docker Compose Commands
| Action | Command |
|--------|---------|
| Start services | \`docker-compose up -d\` |
| Start with rebuild | \`docker-compose up -d --build\` |
| Stop services | \`docker-compose stop\` |
| View status | \`docker-compose ps\` |
| View logs | \`docker-compose logs -f\` |
| Remove containers | \`docker-compose down\` |
| Remove containers and volumes (⚠️) | \`docker-compose down -v\` |
---
## 🔧 Manual Setup (Without Docker)
### Prerequisites
- <Prerequisite 1>
- <Prerequisite 2>
### Setup Steps
#### 1. <Step Title>
\`\`\`bash
<commands>
\`\`\`
#### 2. <Step Title>
\`\`\`bash
<commands>
\`\`\`
---
## 🧪 Testing
### Running Tests
**All Tests:**
\`\`\`bash
<test command>
\`\`\`
**With Coverage:**
\`\`\`bash
<coverage command>
\`\`\`
### Test Structure
\`\`\`
<TestDir>/
├── <category1>/ # Description
├── <category2>/ # Description
└── <category3>/ # Description
\`\`\`
---
## 📚 API Documentation
<!-- Only for API projects. Include authentication flow, endpoint summary, key examples. -->
### Authentication Flow
\`\`\`
1. Step 1 → 2. Step 2 → 3. Step 3
\`\`\`
### Key Endpoints
| Method | Endpoint | Description | Auth |
|--------|----------|-------------|------|
| POST | \`/endpoint\` | Description | No |
| GET | \`/endpoint/{id}\` | Description | Yes |
---
## 🔒 Security Features
### <Security Category>
- **Feature** - Description
---
## 💾 Backup and Restore
<!-- Only for projects with databases -->
### Backup
\`\`\`bash
<backup command>
\`\`\`
### Restore
\`\`\`bash
<restore command>
\`\`\`
---
## 🔍 Troubleshooting
### Common Issues
#### <Issue Title>
**Check:**
\`\`\`bash
<diagnostic command>
\`\`\`
**Common causes:**
- Cause 1
- Cause 2
**Solutions:**
- Solution 1
- Solution 2
---
## 📦 Integration
### Using <Project> in Your Application
#### Option 1: <Integration Method>
\`\`\`<language>
// Example code
\`\`\`
---
## 🚀 Deployment
### Development Environment
\`\`\`bash
<dev command>
\`\`\`
### Production Environment
\`\`\`bash
<prod command>
\`\`\`
### Cloud Deployment
<!-- Only if relevant. Include examples for major cloud providers. -->
---
## 🔄 CI/CD
### <CI/CD Platform>
**Workflow triggers:**
- Trigger 1
- Trigger 2
**Workflow steps:**
1. Step 1
2. Step 2
---
## 🧩 Roadmap
### Planned Features
- [ ] **Feature 1** - Description
- [ ] **Feature 2** - Description
---
## 🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
### Development Setup
1. Fork the repository
2. Create a feature branch (\`git checkout -b feature/AmazingFeature\`)
3. Make your changes
4. Run tests (\`<test command>\`)
5. Commit your changes (\`git commit -m 'Add some AmazingFeature'\`)
6. Push to the branch (\`git push origin feature/AmazingFeature\`)
7. Open a Pull Request
### Coding Standards
- <Standard 1>
- <Standard 2>
---
## 👨💻 Author
Developed by **[Author Name](GitHub URL)**
---
## 📄 License
This project is licensed under the **<License Name>** - see the LICENSE file for details.
---
## 🙏 Acknowledgments
- Built with [Technology 1](URL)
- Powered by [Technology 2](URL)
---
## 📞 Support
- **Issues**: [GitHub Issues](<issues URL>)
- **Discussions**: [GitHub Discussions](<discussions URL>)
---
**⭐ If you find this project useful, please consider giving it a star!**
Only include relevant sections: If the project has no Docker, skip the Docker section. If no database, skip Backup/Restore. If not an API, skip API Documentation. The template above shows ALL possible sections — only use the ones that apply.
Accurate information only: Every piece of information in the README must come from actual project files. Do NOT invent features, dependencies, or configurations that don't exist.
Realistic badge URLs: Only add badges for services that are actually configured (SonarCloud, NuGet, NPM, etc.). Check for existing badge configurations in CI/CD files or existing README.
Complete project structure: Show the actual directory tree, not a made-up one. Use ls and Glob to verify what exists.
Correct commands: All build, test, run, and Docker commands must be verified against actual project configuration files (package.json scripts, .csproj settings, Makefile, etc.).
Preserve existing content: If the user has an existing README with custom content (like a specific roadmap or acknowledgments), ask whether to preserve it or regenerate.
Emoji consistency: Use the emoji style shown in the template for section headers. Each feature in the Features list should have a contextually appropriate emoji.
Horizontal rules: Use --- between major sections for visual separation.
Tables for structured data: Use markdown tables for Docker commands, endpoints, ecosystem packages, and other structured data.
Code blocks with language hints: Always specify the language in fenced code blocks (bash, json, csharp, javascript, etc.).
Environment variables: Never include real secrets or passwords in examples. Always use placeholder values like your_secure_password_here_change_this.
Git remote detection: Try to detect the GitHub/GitLab repository URL from .git/config to generate correct links for Issues, Discussions, and related projects.
System Design diagram is mandatory: Always attempt to generate a system design diagram using the mermaid-chart skill. Only skip if the project is trivially simple (single-file script, static library with no dependencies). The diagram must reflect real architecture discovered during analysis — never fabricate components.
Use doc-manager for additional documents: Any supplementary documentation (architecture decisions, deployment guides, API references, etc.) MUST be created and managed through the doc-manager skill, which ensures proper naming (UPPER_SNAKE_CASE) and storage in docs/. Always link these documents in the README's "Additional Documentation" section.
Image references: When embedding the system design PNG in the README, use a relative path (docs/system-design.png). Always include the Mermaid source file link as well for editability.
docs/ directory consistency: All generated artifacts (diagrams, images, additional documents) must be saved in docs/. Create the directory if it does not exist.
After creating the README, inform the user:
docs/system-design.mmd and docs/system-design.png), or why it was skippeddocs/ via the doc-manager skilltools
Guides how to integrate the zTools package for ChatGPT, DALL-E image generation, file upload (S3), slug generation, email sending, and document validation in a .NET 8 project. Use when the user wants to use AI features, upload files, generate slugs, send emails, or understand zTools integration.
development
Guides how to integrate the NNews NuGet package for consuming the NNews CMS API in a .NET 8 project. Use when the user wants to consume articles, categories, tags, images, or AI-powered content generation from the NNews API.
tools
Guides how to integrate the NAuth package for user authentication in a .NET 8 project. Use when the user wants to add authentication, configure NAuth, use IUserClient, or understand the NAuth authentication flow.
data-ai
Creates Mermaid diagrams (.mmd) and generates PNG images from them. Use when the user wants to create flowcharts, sequence diagrams, class diagrams, ER diagrams, Gantt charts, or any other Mermaid-supported diagram.