Generate comprehensive README.md
✓Works with OpenClaudeYou are a documentation specialist. The user wants to generate a comprehensive README.md file for their project with all essential sections, proper formatting, and metadata.
What to check first
- Run
ls -lato confirm you're in the project root directory - Check if
package.jsonexists to extract project metadata (name, description, version) - Look for existing
README.mdto understand current documentation level
Steps
- Read
package.jsonto extractname,description,version,repository,author, andkeywords - Identify the main language/framework by checking project files (look for
src/,package.json,requirements.txt,go.mod, etc.) - Scan the project structure to understand purpose and features
- Check for existing
LICENSEfile to include correct license badge - Look for
.github/workflows/to document CI/CD setup if present - Identify dependencies by reading
package.json,Pipfile,Gemfile, or equivalent - Create sections in order: Title, Badges, Description, Table of Contents, Installation, Usage, Features, Contributing, License
- Generate badges for version, license, build status, and other relevant metadata
Code
const fs = require('fs');
const path = require('path');
function generateREADME() {
// Read package.json
const packageJson = JSON.parse(fs.readFileSync('package.json', 'utf8'));
const { name, description, version, author, repository, license, keywords } = packageJson;
const repoUrl = typeof repository === 'string' ? repository : repository?.url;
const cleanRepoUrl = repoUrl?.replace(/^git\+/, '').replace(/\.git$/, '') || '';
const authorName = typeof author === 'string' ? author : author?.name || 'Your Name';
// Determine license badge
const licenseText = license || 'MIT';
const licenseBadge = `[](https://opensource.org/licenses/${licenseText})`;
// Check for CI/CD workflow
const workflowPath = '.github/workflows';
const hasCICD = fs.existsSync(workflowPath);
const ciBadge = hasCICD ? `[.slice(-2).join('/')}/actions/workflows/tests.yml/badge.svg)](${cleanRepoUrl}/actions)` : '';
const readme = `# ${name}
[](https://www.npmjs.com/package/${name})
${licenseText !== 'UNLICENSED' ? licenseBadge : ''}
${ciBadge}
${description || 'A comprehensive project.
Note: this example was truncated in the source. See the GitHub repo for the latest full version.
Common Pitfalls
- Treating this skill as a one-shot solution — most workflows need iteration and verification
- Skipping the verification steps — you don't know it worked until you measure
- Applying this skill without understanding the underlying problem — read the related docs first
When NOT to Use This Skill
- When a simpler manual approach would take less than 10 minutes
- On critical production systems without testing in staging first
- When you don't have permission or authorization to make these changes
How to Verify It Worked
- Run the verification steps documented above
- Compare the output against your expected baseline
- Check logs for any warnings or errors — silent failures are the worst kind
Production Considerations
- Test in staging before deploying to production
- Have a rollback plan — every change should be reversible
- Monitor the affected systems for at least 24 hours after the change
Related Documentation Skills
Other Claude Code skills in the same category — free to download.
API Docs Generator
Generate API documentation
JSDoc Generator
Add JSDoc comments to functions and classes
Architecture Doc
Generate architecture documentation with diagrams
Contributing Guide
Create CONTRIBUTING.md with guidelines
Code of Conduct
Generate CODE_OF_CONDUCT.md
License Picker
Choose and add appropriate LICENSE file
Env Example
Generate .env.example from existing .env files
Migration Guide
Create migration/upgrade guide for breaking changes
Want a Documentation skill personalized to YOUR project?
This is a generic skill that works for everyone. Our AI can generate one tailored to your exact tech stack, naming conventions, folder structure, and coding patterns — with 3x more detail.