
generating-readmes
by meirm
SKILL.md
name: generating-readmes description: Generate comprehensive README files for projects. Use when the user asks to create, generate, or write a README, readme file, or project documentation. allowed-tools: read_file, write_file, list_directory
README Generator
Instructions
Generate a comprehensive, professional README.md file for the project. Follow this structured approach:
Step 1: Analyze Project Structure
First, understand what kind of project this is:
-
Explore the project directory using
list_directoryto understand the structure -
Identify the project type by looking for key files:
- Python:
setup.py,pyproject.toml,requirements.txt,Pipfile - Node.js:
package.json,package-lock.json,yarn.lock - Rust:
Cargo.toml,Cargo.lock - Go:
go.mod,go.sum - Java:
pom.xml,build.gradle - Other: Look for configuration files, main entry points
- Python:
-
Read configuration files using
read_fileto extract:- Project name and description
- Version information
- Dependencies and requirements
- Scripts and commands
- License information
- Author/maintainer information
Step 2: Identify Key Components
-
Find the main entry point:
- Look for
main.py,index.js,src/main.rs,main.go, etc. - Use
grep_searchto find executable scripts or entry points - Check package.json "bin" field, setup.py entry_points, etc.
- Look for
-
Discover project features:
- Read source files to understand what the project does
- Look for
__init__.py,index.js, or main modules - Check for example files, demo scripts, or test files
-
Identify usage patterns:
- Look for CLI commands defined in package.json, setup.py, or Cargo.toml
- Check for configuration files (
.env.example,config.yaml, etc.) - Find example usage in code comments or test files
Step 3: Generate README Sections
Create a well-structured README.md with these sections (include only relevant ones):
Required Sections:
-
Project Title - Clear, descriptive title
- Use the project name from config files (package.json, setup.py, etc.)
- Add a brief one-line description if available
-
Description - What the project does
- Extract from config files (package.json "description", setup.py "long_description")
- If not found, analyze source code to write a clear description
- Explain the purpose and main features
-
Installation - How to install
- Python:
pip install,pip install -e ., orpip install -r requirements.txt - Node.js:
npm installoryarn install - Rust: Installation from crates.io or
cargo install - Go:
go installorgo get - Include prerequisites if needed (Python version, Node version, etc.)
- Python:
-
Usage - How to use the project
- Basic usage examples
- CLI commands if applicable (from package.json scripts, setup.py entry_points)
- Code examples showing key functionality
- Configuration options if there's a config file
Optional Sections (include if relevant):
-
Features - Key features and capabilities
- List main features discovered from code analysis
- Highlight unique or important capabilities
-
Configuration - Setup and configuration
- Environment variables (check for
.env.exampleor.env) - Configuration files (describe structure and options)
- Default settings
- Environment variables (check for
-
Development - For contributors
- How to set up development environment
- How to run tests (
npm test,pytest,cargo test, etc.) - How to build/compile if applicable
- Development dependencies
-
Requirements/Dependencies - What's needed
- List key dependencies (from requirements.txt, package.json, etc.)
- System requirements
- Version constraints if critical
-
Contributing - How to contribute
- Link to contributing guidelines if CONTRIBUTING.md exists
- Or provide basic contribution instructions
-
License - Project license
- Extract from LICENSE file if present
- Or from config files (package.json "license", setup.py "license")
- Include license badge if applicable
-
Author/Credits - Who made it
- From package.json "author", setup.py "author", etc.
-
Badges - Status badges (optional)
- Add badges if repository info suggests GitHub/GitLab (CI/CD, coverage, etc.)
Step 4: Write the README
-
Use markdown formatting:
- Headers for sections
- Code blocks with language tags for examples
- Lists for features, requirements, etc.
- Links for external resources
- Tables if appropriate (for configuration options, etc.)
-
Make it scannable:
- Use clear section headers
- Include table of contents for long READMEs (if > 5 sections)
- Use consistent formatting
- Add emoji sparingly for visual interest (🚀 for getting started, ⚙️ for configuration, etc.)
-
Include actual examples:
- Copy relevant code snippets from the project
- Use real function names and API patterns from the codebase
- Show actual CLI commands from the project
-
Check for existing README:
- If README.md exists, read it first to preserve important information
- Enhance and update rather than completely replace
- Merge new sections with existing valuable content
Step 5: Verify and Complete
-
Read the generated README back to ensure:
- All sections are properly formatted
- No placeholder text remains
- Examples are accurate and work
- Links are correct (if any)
-
Ensure completeness:
- Installation instructions are clear
- Usage examples are practical
- All necessary information is included
Examples
Example 1: Python Package
User: "Generate a README for this Python project"
- Read
setup.pyorpyproject.tomlfor metadata - Check
requirements.txtfor dependencies - Find main module or entry point
- Generate README with pip install instructions
Example 2: Node.js Application
User: "Create a README file"
- Read
package.jsonfor project info - Extract scripts and commands
- Check for
.env.examplefor configuration - Generate README with npm/yarn commands
Example 3: Existing README Update
User: "Update the README"
- Read existing README.md
- Analyze project changes
- Enhance with new sections or update existing ones
- Preserve valuable existing content
Best Practices
- Be specific: Use actual project information, not generic placeholders
- Match style: Follow existing code style and naming conventions in the project
- Practical examples: Show real usage patterns from the codebase
- Complete: Include all necessary information for someone new to the project
- Accurate: Verify all commands and examples work with the actual project setup
Notes
- Always analyze the actual project before generating the README
- Don't guess - read configuration files and source code
- Adapt the README structure to the project's complexity
- Simple projects need simpler READMEs, complex projects need more detail
Score
Total Score
Based on repository quality metrics
SKILL.mdファイルが含まれている
ライセンスが設定されている
100文字以上の説明がある
GitHub Stars 100以上
3ヶ月以内に更新がある
10回以上フォークされている
オープンIssueが50未満
プログラミング言語が設定されている
1つ以上のタグが設定されている
Reviews
Reviews coming soon