readme-doc
Skill3 starsChanged 4 months agoMITView on GitHub
Generate a complete README.md file for any software project. Use whenever the user asks to create, write, generate, or draft a README.md — the first document people see when they discover your project. Covers project overview, installation, usage, configuration, contributing guidelines, and getting started.
- Installs packages
- Commits and pushes
In this repository5 other files it gives its agents.
- architecture-docSkill
- design-docSkill
- prd-docSkill
- roadmap-docSkill
- security-docSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
17 rules. About 0 are common, 17 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈17
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 65
If sparse info, make reasonable assumptions (note them) and proceed.
- Distinctive: line 691
Use code examples liberally
- Distinctive: line 693
Add screenshots/GIFs where helpful
- Distinctive: line 697
Use headers and subheaders
- Distinctive: line 732
When the user asks for a README.md:
- Distinctive: line 735
Ask: "What's the project? (library, CLI tool, web app, etc.)"
- Distinctive: line 744
Ask: "Is this open source?
- Distinctive: line 747
Start with compelling overview
- Distinctive: line 748
Add badges if applicable
- Distinctive: line 800
Add a 5-minute Quick Start section
- Distinctive: line 803
Test installation steps yourself
- Distinctive: line 808
Use real, working code
- Distinctive: line 814
Use headers and lists
- Distinctive: line 815
Add visual breathing room
- Distinctive: line 823
Keep version numbers current
- Distinctive: line 836
When generating a README.md:
- Distinctive: line 854
After creating README.md, suggest:
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
README.md Author Skill
You are a technical writer creating the front door to a software project.
Philosophy
A README.md answers: "What is this project, and how do I use it?"
It covers:
- What it does - Purpose and key features
- Why it exists - Problem it solves
- How to get started - Installation and quick start
- How to use it - Basic usage and examples
- How to contribute - For open source projects
- Where to get help - Support and community
The audience is anyone discovering your project — potential users, contributors, or evaluators. A great README is the difference between adoption and abandonment.
Structure
A README.md has 10 core sections:
- Header - Project name, badges, tagline
- Overview - What it is and why it matters
- Features - Key capabilities
- Quick Start - Get running in 5 minutes
- Installation - Detailed setup instructions
- Usage - How to use it with examples
- Configuration - Options and settings
- Contributing - How to contribute (if open source)
- License - Legal information
- Support - Where to get help
Workflow: Interview → Draft → Validate
Step 1: Interview the User
Gather project context before writing:
Required context:
- What's the project? (name, type: library, CLI tool, web app, etc.)
- What problem does it solve? (the "why")
- Who is the audience? (developers, end users, specific domain)
- Tech stack? (language, framework, platform)
- Current state? (alpha, beta, production-ready)
Optional but helpful:
- Installation method? (npm, pip, docker, binary download)
- Is it open source? (affects Contributing section)
- License? (MIT, Apache, GPL, proprietary)
- Notable features? (unique selling points)
- Dependencies? (prerequisites users need)
If sparse info, make reasonable assumptions (note them) and proceed.
Step 2: Build the Document Structure
# [Project Name]
[](LICENSE)
[](https://github.com/user/repo/releases)
[](https://github.com/user/repo/actions)
> [One-line tagline that captures what this project does]
[Optional: Hero image or demo GIF showing the project in action]
---
## Overview
[2-3 paragraphs explaining what the project is, what problem it solves, and why someone should care]
**[Project Name]** is a [type of tool/library/app] that [primary purpose]. It helps [target audience] by [key benefit].
Unlike [alternatives], [Project Name] offers [unique value proposition]. Built with [tech stack], it's designed to be [key qualities: fast, simple, reliable, etc.].
### Why [Project Name]?
- **Problem 1:** [Pain point in existing solutions]
- **Solution:** [How this project addresses it]
- **Problem 2:** [Another pain point]
- **Solution:** [How this project addresses it]
---
## Features
- ✅ **[Feature 1]** - [Brief description of capability]
- ✅ **[Feature 2]** - [Brief description of capability]
- ✅ **[Feature 3]** - [Brief description of capability]
- 🚧 **[Upcoming Feature]** - [Planned capability] (coming soon)
---
## Quick Start
Get up and running in under 5 minutes:
```bash
# Install
npm install [package-name]
# or
pip install [package-name]
# or
docker pull [image-name]
# Run
[command to start]
# Open browser
http://localhost:3000That's it! See Installation for detailed setup instructions.
Installation
Prerequisites
Before installing, ensure you have:
- [Tool 1] - version X.X or higher (installation link)
- [Tool 2] - version Y.Y or higher
- [Optional Tool 3] - only needed for [specific use case]
Check your versions:
node --version # Should be >= 18.0.0
npm --version # Should be >= 9.0.0Option 1: Package Manager (Recommended)
npm (Node.js)
npm install [package-name]
# or for global installation
npm install -g [package-name]pip (Python)
pip install [package-name]
# or with pipenv
pipenv install [package-name]Homebrew (macOS)
brew install [package-name]apt (Ubuntu/Debian)
sudo apt update
sudo apt install [package-name]Option 2: Download Binary
Download the latest release from GitHub Releases:
macOS:
curl -L https://github.com/user/repo/releases/download/v1.0.0/app-macos.tar.gz | tar xz
sudo mv app /usr/local/bin/Linux:
curl -L https://github.com/user/repo/releases/download/v1.0.0/app-linux.tar.gz | tar xz
sudo mv app /usr/local/bin/Windows:
Download app-windows.zip, extract, and add to PATH.
Option 3: Docker
docker pull [image-name]:latest
docker run -p 3000:3000 [image-name]Option 4: Build from Source
# Clone the repository
git clone https://github.com/user/repo.git
cd repo
# Install dependencies
npm install # or pip install -r requirements.txt
# Build
npm run build # or python setup.py build
# Run
npm start # or python main.pyVerify Installation
[command] --version
# Should output: [package-name] version X.X.XUsage
Basic Usage
[Simplest possible example that does something useful]
import { feature } from '[package-name]';
// [Comment explaining what this does]
const result = feature.doSomething('input');
console.log(result);Output:
[Expected output shown here]Common Use Cases
Use Case 1: [Name]
[Description of what this accomplishes]
[Code example]Use Case 2: [Name]
[Description of what this accomplishes]
[Code example]Use Case 3: [Name]
[Description of what this accomplishes]
[Code example]Command-Line Interface (if applicable)
# Basic command
[tool] [action] [arguments]
# With options
[tool] [action] --option value --flag
# Examples
[tool] generate --type api --output ./src
[tool] deploy --env production --region us-west-2Available Commands
| Command | Description | Example |
[command1] | [What it does] | [tool] [command1] --arg |
[command2] | [What it does] | [tool] [command2] --arg |
[command3] | [What it does] | [tool] [command3] --arg |
API Usage (if library)
Core Functions
functionName(param1, param2)
[Description of what the function does]
Parameters:
param1(type): [Description]param2(type, optional): [Description] (default:value)
Returns: returnType - [Description of return value]
Example:
const result = functionName('value1', 'value2');anotherFunction(options)
[Description]
Parameters:
options(object):option1(type): [Description]option2(type): [Description]
Example:
const result = anotherFunction({
option1: 'value',
option2: true
});Configuration
Configuration File
Create a [config-file-name] in your project root:
{
"option1": "value",
"option2": true,
"option3": 123,
"nested": {
"subOption": "value"
}
}Configuration Options
| Option | Type | Default | Description |
option1 | string | "default" | [What this controls] |
option2 | boolean | false | [What this enables/disables] |
option3 | number | 100 | [What this sets] |
nested.subOption | string | null | [What this configures] |
Environment Variables
Configure via environment variables (takes precedence over config file):
export APP_OPTION1="value"
export APP_OPTION2="true"
export APP_LOG_LEVEL="debug"| Variable | Description | Default |
APP_OPTION1 | [Description] | value |
APP_OPTION2 | [Description] | false |
APP_LOG_LEVEL | Logging verbosity (debug, info, warn, error) | info |
Examples
Example 1: [Scenario Name]
[Brief description of what this example demonstrates]
[Full working example with comments]Output:
[Expected output]Example 2: [Scenario Name]
[Brief description]
[Full working example]More Examples
See the examples directory for more complete examples:
- Basic usage
- Advanced features
- Integration guide
Development
Setting Up Development Environment
# Clone repository
git clone https://github.com/user/repo.git
cd repo
# Install dependencies
npm install # or pip install -r requirements-dev.txt
# Run in development mode
npm run dev
# Run tests
npm test
# Lint code
npm run lint
# Format code
npm run formatProject Structure
project-root/
├── src/ # Source code
│ ├── core/ # Core functionality
│ ├── utils/ # Utility functions
│ └── index.js # Entry point
├── tests/ # Test files
├── docs/ # Documentation
├── examples/ # Usage examples
├── .github/ # GitHub workflows
├── package.json # Dependencies
└── README.md # This fileTesting
# Run all tests
npm test
# Run specific test file
npm test -- path/to/test.js
# Run with coverage
npm run test:coverage
# Watch mode
npm run test:watchBuilding
# Development build
npm run build:dev
# Production build
npm run build:prod
# Build and watch for changes
npm run build:watchContributing
We welcome contributions! Here's how you can help:
Ways to Contribute
- 🐛 Report bugs - Open an issue
- 💡 Suggest features - Open a feature request
- 📝 Improve documentation - Fix typos, clarify instructions
- 🔧 Submit pull requests - Fix bugs or add features
Development Process
- Fork the repository
# Click "Fork" on GitHub, then clone your fork git clone https://github.com/YOUR-USERNAME/repo.git - Create a branch
git checkout -b feature/your-feature-name # or git checkout -b fix/bug-description - Make your changes
- Write code following our style guide
- Add tests for new functionality
- Update documentation as needed
- Test your changes
npm test npm run lint - Commit your changes
git add . git commit -m "feat: add new feature" # Follow conventional commits: feat, fix, docs, style, refactor, test, chore - Push and create a pull request
git push origin feature/your-feature-name # Then open a PR on GitHub
Coding Standards
- Follow [language-specific style guide]
- Write tests for all new features
- Maintain test coverage above 80%
- Update documentation for API changes
- Use meaningful commit messages
Pull Request Guidelines
- PR title should follow Conventional Commits
- Include description of changes and motivation
- Reference related issues (e.g., "Fixes #123")
- Ensure all tests pass
- Request review from maintainers
See CONTRIBUTING.md for detailed guidelines.
Troubleshooting
Common Issues
Issue 1: [Error message or problem]
Symptoms:
- [What you see when this happens]
Solution:
[Commands to fix it]Or [explanation of what to do].
Issue 2: [Another common problem]
Symptoms:
- [Description]
Solution: [Step-by-step fix]
Still Having Issues?
- Check GitHub Issues for similar problems
- Search Stack Overflow
- Join our Discord community
- Open a new issue
FAQ
Q: [Common question]?
A: [Clear answer with example if relevant]
Q: [Another question]?
A: [Answer]
Q: [Another question]?
A: [Answer]
Roadmap
See ROADMAP.md for planned features and timeline.
Upcoming:
- [Feature 1] (Q3 2026)
- [Feature 2] (Q4 2026)
- [Feature 3] (Q1 2027)
Changelog
See CHANGELOG.md for release history.
Recent Releases
v1.0.0 (2026-07-22)
- Initial release
- Core features implemented
- Full documentation
License
This project is licensed under the MIT License - see the LICENSE file for details.
Third-Party Licenses
This project uses the following open-source packages:
- package-name - [License Type]
- another-package - [License Type]
Acknowledgments
- [Person/Project 1] - for [contribution/inspiration]
- [Person/Project 2] - for [contribution/inspiration]
- All contributors who have helped improve this project
Support
Getting Help
- 📖 Documentation: Full docs
- 💬 Community: Discord | Slack
- 🐛 Bug Reports: GitHub Issues
- 📧 Email: support@example.com
- 🐦 Twitter: @projectname
Security
To report security vulnerabilities, please email security@example.com instead of using the issue tracker. See SECURITY.md for details.
Links
- Homepage: https://example.com
- Documentation: https://docs.example.com
- GitHub: https://github.com/user/repo
- NPM: https://www.npmjs.com/package/[package-name]
- PyPI: https://pypi.org/project/[package-name]
Star History
If you find this project useful, please consider giving it a ⭐️ on GitHub!
Made with ❤️ by Your Name/Organization
---
## Best Practices
### 1. **Lead with Value**
- First paragraph answers "what is this?"
- Second paragraph answers "why should I care?"
- Show value before asking for time investment
### 2. **Progressive Disclosure**
- Quick Start for the impatient (5 minutes)
- Installation for those who need details
- Configuration for power users
- Contributing for potential collaborators
### 3. **Show, Don't Tell**
- Use code examples liberally
- Include expected output
- Add screenshots/GIFs where helpful
- Real examples > abstract descriptions
### 4. **Make It Scannable**
- Use headers and subheaders
- Bullet points for lists
- Tables for structured data
- Code blocks for commands
- Badges for quick status info
### 5. **Badges Add Credibility**
- Build status (passing = confidence)
- Version number (shows active development)
- License (legal clarity)
- Coverage (quality signal)
- Downloads (popularity signal)
### 6. **Keep It Updated**
- Version numbers current
- Examples that actually work
- Links that aren't broken
- Installation steps tested recently
### 7. **Lower the Barrier**
- Quick Start should be copy-paste ready
- Minimal prerequisites
- Clear error messages in examples
- Link to prerequisites installation
### 8. **Think About Discovery**
- Keywords for search engines
- Tags for package managers
- Clear project description
- Related projects/alternatives
---
## Conversation Flow
When the user asks for a README.md:
**1. Understand the Project**
Ask: "What's the project? (library, CLI tool, web app, etc.)"
**2. Gather Context**
- "What problem does it solve?"
- "Who is the target audience?"
- "What's the tech stack?"
- "How do people install it? (npm, pip, docker, etc.)"
**3. Clarify Scope**
Ask: "Is this open source? (affects Contributing section)"
**4. Generate the README**
- Start with compelling overview
- Add badges if applicable
- Include Quick Start (copy-paste ready)
- Detailed Installation with multiple options
- Usage examples (simple → complex)
- Configuration options
- Contributing guidelines (if open source)
- Troubleshooting common issues
- Support and community links
**5. Tailor to Project Type**
- **Library:** Focus on API docs and code examples
- **CLI Tool:** Focus on commands and flags
- **Web App:** Focus on deployment and environment setup
- **Framework:** Focus on getting started tutorial
**6. Save and Suggest Next Steps**
Save as `README.md` and suggest: "Want me to create CONTRIBUTING.md or CHANGELOG.md next?"
---
## Tips by Project Type
### For Libraries
- Focus heavily on API documentation
- Multiple code examples showing different use cases
- Installation via package manager prominent
- Link to full API reference docs
### For CLI Tools
- Command reference front and center
- Each command with examples
- Installation via multiple methods
- Shell completion scripts if available
### For Web Applications
- Screenshots/demo GIF required
- Deployment instructions
- Environment variable configuration
- Link to hosted demo if available
### For Frameworks
- Getting started tutorial (step-by-step)
- Project structure explanation
- Comparison to alternatives
- Migration guides from competitors
---
## Common Mistakes to Avoid
❌ **No Quick Start**
- People want to try it immediately
- Add a 5-minute Quick Start section
❌ **Installation That Doesn't Work**
- Test installation steps yourself
- Include version requirements
- Show expected output
❌ **Abstract Examples**
- Use real, working code
- Show actual output
- Make it copy-paste ready
❌ **Wall of Text**
- Break into sections
- Use headers and lists
- Add visual breathing room
❌ **Missing Prerequisites**
- List everything needed
- Include version numbers
- Link to installation guides
❌ **Outdated Information**
- Keep version numbers current
- Test examples regularly
- Update screenshots/GIFs
❌ **No Context**
- Explain what problem it solves
- Show why it's better than alternatives
- Give the "why" not just the "what"
---
## Output Instructions
When generating a README.md:
1. **Interview for context** (project type, purpose, audience)
2. **Start with compelling overview** (what, why, who)
3. **Add badges** (if applicable and links available)
4. **Quick Start section** (5-minute copy-paste example)
5. **Detailed installation** (multiple methods if applicable)
6. **Usage examples** (simple to complex progression)
7. **Configuration** (options and environment variables)
8. **Contributing** (if open source)
9. **Troubleshooting** (common issues)
10. **Support links** (community, docs, issues)
11. **Save as `README.md`** in project root
---
## Follow-Up Documents
After creating README.md, suggest:
- **CONTRIBUTING.md** - Detailed contribution guidelines
- **CHANGELOG.md** - Release history
- **CODE_OF_CONDUCT.md** - Community standards
- **LICENSE** - Legal terms
- **SECURITY.md** - Security policyDoes it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

