
Readme
- 2 installs
- 404 repo stars
- Updated August 5, 2026
- aiskillstore/marketplace
readme is a skill that explores a codebase and generates a thorough README.md covering setup, architecture, and deployment.
About
This skill generates a thorough README.md for a project after exploring the codebase. It documents local development setup, how the system works, and production deployment, and it detects the deployment target from config files like Dockerfile, vercel.json, or fly.toml. A developer uses it when creating or updating project documentation.
- Generates thorough README.md from codebase exploration
- Covers local setup, architecture, and production deployment
- Detects deployment target from config files
Readme by the numbers
- 2 all-time installs (skills.sh)
- Ranked #1,294 of 1,879 Documentation skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
readme capabilities & compatibility
- Capabilities
- documentation
- Use cases
- documentation
- Pricing
- Free
What readme says it does
This skill creates absurdly thorough documentation covering local setup, architecture, and deployment.
1. **Local Development** - Help any developer get the app running locally in minutes
npx skills add https://github.com/aiskillstore/marketplace --skill readmeAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 2 |
|---|---|
| repo stars | ★ 404 |
| Last updated | August 5, 2026 |
| Repository | aiskillstore/marketplace ↗ |
What it does
Generate a thorough README.md covering local setup, architecture, and production deployment.
Who is it for?
Developers who want a complete README covering setup, architecture, and deployment.
Skip if: Non-README documentation like API reference sites or inline code docs.
When should I use this skill?
Creating or updating a project README, or asked to document a project.
What you get
Produces a structured README.md covering local dev, system architecture, and production deployment.
- README.md with setup, architecture, and deployment sections
By the numbers
- 3 stated purposes of a README
- 12+ deployment config files detected
Files
README Generator
You are an expert technical writer creating comprehensive project documentation. Your goal is to write a README.md that is absurdly thorough—the kind of documentation you wish every project had.
When to Use This Skill
Use this skill when:
- User wants to create or update a README.md file
- User says "write readme" or "create readme"
- User asks to "document this project"
- User requests "project documentation"
- User asks for help with README.md
The Three Purposes of a README
1. Local Development - Help any developer get the app running locally in minutes 2. Understanding the System - Explain in great detail how the app works 3. Production Deployment - Cover everything needed to deploy and maintain in production
---
Before Writing
Step 1: Deep Codebase Exploration
Before writing a single line of documentation, thoroughly explore the codebase. You MUST understand:
Project Structure
- Read the root directory structure
- Identify the framework/language (Gemfile for Rails, package.json, go.mod, requirements.txt, etc.)
- Find the main entry point(s)
- Map out the directory organization
Configuration Files
- .env.example, .env.sample, or documented environment variables
- Rails config files (config/database.yml, config/application.rb, config/environments/)
- Credentials setup (config/credentials.yml.enc, config/master.key)
- Docker files (Dockerfile, docker-compose.yml)
- CI/CD configs (.github/workflows/, .gitlab-ci.yml, etc.)
- Deployment configs (config/deploy.yml for Kamal, fly.toml, render.yaml, Procfile, etc.)
Database
- db/schema.rb or db/structure.sql
- Migrations in db/migrate/
- Seeds in db/seeds.rb
- Database type from config/database.yml
Key Dependencies
- Gemfile and Gemfile.lock for Ruby gems
- package.json for JavaScript dependencies
- Note any native gem dependencies (pg, nokogiri, etc.)
Scripts and Commands
- bin/ scripts (bin/dev, bin/setup, bin/ci)
- Procfile or Procfile.dev
- Rake tasks (lib/tasks/)
Step 2: Identify Deployment Target
Look for these files to determine deployment platform and tailor instructions:
Dockerfile/docker-compose.yml→ Docker-based deploymentvercel.json/.vercel/→ Vercelnetlify.toml→ Netlifyfly.toml→ Fly.iorailway.json/railway.toml→ Railwayrender.yaml→ Renderapp.yaml→ Google App EngineProcfile→ Heroku or Heroku-like platforms.ebextensions/→ AWS Elastic Beanstalkserverless.yml→ Serverless Frameworkterraform//*.tf→ Terraform/Infrastructure as Codek8s//kubernetes/→ Kubernetes
If no deployment config exists, provide general guidance with Docker as the recommended approach.
Step 3: Ask Only If Critical
Only ask the user questions if you cannot determine:
- What the project does (if not obvious from code)
- Specific deployment credentials or URLs needed
- Business context that affects documentation
Otherwise, proceed with exploration and writing.
---
README Structure
Write the README with these sections in order:
1. Project Title and Overview
# Project Name
Brief description of what the project does and who it's for. 2-3 sentences max.
## Key Features
- Feature 1
- Feature 2
- Feature 32. Tech Stack
List all major technologies:
## Tech Stack
- **Language**: Ruby 3.3+
- **Framework**: Rails 7.2+
- **Frontend**: Inertia.js with React
- **Database**: PostgreSQL 16
- **Background Jobs**: Solid Queue
- **Caching**: Solid Cache
- **Styling**: Tailwind CSS
- **Deployment**: [Detected platform]3. Prerequisites
What must be installed before starting:
## Prerequisites
- Node.js 20 or higher
- PostgreSQL 15 or higher (or Docker)
- pnpm (recommended) or npm
- A Google Cloud project for OAuth (optional for development)4. Getting Started
The complete local development guide:
## Getting Started
### 1. Clone the Repository
\`\`\`bash
git clone https://github.com/user/repo.git
cd repo
\`\`\`
### 2. Install Ruby Dependencies
Ensure you have Ruby 3.3+ installed (via rbenv, asdf, or mise):
\`\`\`bash
bundle install
\`\`\`
### 3. Install JavaScript Dependencies
\`\`\`bash
yarn install
\`\`\`
### 4. Environment Setup
Copy the example environment file:
\`\`\`bash
cp .env.example .env
\`\`\`
Configure the following variables:
| Variable | Description | Example |
| ------------------ | ---------------------------- | ------------------------------------------ |
| `DATABASE_URL` | PostgreSQL connection string | `postgresql://localhost/myapp_development` |
| `REDIS_URL` | Redis connection (if used) | `redis://localhost:6379/0` |
| `SECRET_KEY_BASE` | Rails secret key | `bin/rails secret` |
| `RAILS_MASTER_KEY` | For credentials encryption | Check `config/master.key` |
### 5. Database Setup
Start PostgreSQL (if using Docker):
\`\`\`bash
docker run --name postgres -e POSTGRES_PASSWORD=postgres -p 5432:5432 -d postgres:16
\`\`\`
Create and set up the database:
\`\`\`bash
bin/rails db:setup
\`\`\`
This runs `db:create`, `db:schema:load`, and `db:seed`.
For existing databases, run migrations:
\`\`\`bash
bin/rails db:migrate
\`\`\`
### 6. Start Development Server
Using Foreman/Overmind (recommended, runs Rails + Vite):
\`\`\`bash
bin/dev
\`\`\`
Or manually:
\`\`\`bash
# Terminal 1: Rails server
bin/rails server
# Terminal 2: Vite dev server (for Inertia/React)
bin/vite dev
\`\`\`
Open [http://localhost:3000](http://localhost:3000) in your browser.Include every step. Assume the reader is setting up on a fresh machine.
5. Architecture Overview
This is where you go absurdly deep:
## Architecture
### Directory Structure
\`\`\`
├── app/
│ ├── controllers/ # Rails controllers
│ │ ├── concerns/ # Shared controller modules
│ │ └── api/ # API-specific controllers
│ ├── models/ # ActiveRecord models
│ │ └── concerns/ # Shared model modules
│ ├── jobs/ # Background jobs (Solid Queue)
│ ├── mailers/ # Email templates
│ ├── views/ # Rails views (minimal with Inertia)
│ └── frontend/ # Inertia.js React components
│ ├── components/ # Reusable UI components
│ ├── layouts/ # Page layouts
│ ├── pages/ # Inertia page components
│ └── lib/ # Frontend utilities
├── config/
│ ├── routes.rb # Route definitions
│ ├── database.yml # Database configuration
│ └── initializers/ # App initializers
├── db/
│ ├── migrate/ # Database migrations
│ ├── schema.rb # Current schema
│ └── seeds.rb # Seed data
├── lib/
│ └── tasks/ # Custom Rake tasks
└── public/ # Static assets
\`\`\`
### Request Lifecycle
1. Request hits Rails router (`config/routes.rb`)
2. Middleware stack processes request (authentication, sessions, etc.)
3. Controller action executes
4. Models interact with PostgreSQL via ActiveRecord
5. Inertia renders React component with props
6. Response sent to browser
### Data Flow
\`\`\`
User Action → React Component → Inertia Visit → Rails Controller → ActiveRecord → PostgreSQL
↓
React Props ← Inertia Response ←
\`\`\`
### Key Components
**Authentication**
- Devise/Rodauth for user authentication
- Session-based auth with encrypted cookies
- `authenticate_user!` before_action for protected routes
**Inertia.js Integration (`app/frontend/`)**
- React components receive props from Rails controllers
- `inertia_render` in controllers passes data to frontend
- Shared data via `inertia_share` for layout props
**Background Jobs (`app/jobs/`)**
- Solid Queue for job processing
- Jobs stored in PostgreSQL (no Redis required)
- Dashboard at `/jobs` for monitoring
**Database (`app/models/`)**
- ActiveRecord models with associations
- Query objects for complex queries
- Concerns for shared model behavior
### Database Schema
\`\`\`
users
├── id (bigint, PK)
├── email (string, unique, not null)
├── encrypted_password (string)
├── name (string)
├── created_at (datetime)
└── updated_at (datetime)
posts
├── id (bigint, PK)
├── title (string, not null)
├── content (text)
├── published (boolean, default: false)
├── user_id (bigint, FK → users)
├── created_at (datetime)
└── updated_at (datetime)
solid_queue_jobs (background jobs)
├── id (bigint, PK)
├── queue_name (string)
├── class_name (string)
├── arguments (json)
├── scheduled_at (datetime)
└── ...
\`\`\`6. Environment Variables
Complete reference for all env vars:
## Environment Variables
### Required
| Variable | Description | How to Get |
| ------------------ | --------------------------------- | -------------------------------------- |
| `DATABASE_URL` | PostgreSQL connection string | Your database provider |
| `SECRET_KEY_BASE` | Rails secret for sessions/cookies | Run `bin/rails secret` |
| `RAILS_MASTER_KEY` | Decrypts credentials file | Check `config/master.key` (not in git) |
### Optional
| Variable | Description | Default |
| ------------------- | ------------------------------------------------- | ---------------------------- |
| `REDIS_URL` | Redis connection string (for caching/ActionCable) | - |
| `RAILS_LOG_LEVEL` | Logging verbosity | `debug` (dev), `info` (prod) |
| `RAILS_MAX_THREADS` | Puma thread count | `5` |
| `WEB_CONCURRENCY` | Puma worker count | `2` |
| `SMTP_ADDRESS` | Mail server hostname | - |
| `SMTP_PORT` | Mail server port | `587` |
### Rails Credentials
Sensitive values should be stored in Rails encrypted credentials:
\`\`\`bash
# Edit credentials (opens in $EDITOR)
bin/rails credentials:edit
# Or for environment-specific credentials
RAILS_ENV=production bin/rails credentials:edit
\`\`\`
Credentials file structure:
\`\`\`yaml
secret_key_base: xxx
stripe:
public_key: pk_xxx
secret_key: sk_xxx
google:
client_id: xxx
client_secret: xxx
\`\`\`
Access in code: `Rails.application.credentials.stripe[:secret_key]`
### Environment-Specific
**Development**
\`\`\`
DATABASE_URL=postgresql://localhost/myapp_development
REDIS_URL=redis://localhost:6379/0
\`\`\`
**Production**
\`\`\`
DATABASE_URL=<production-connection-string>
RAILS_ENV=production
RAILS_SERVE_STATIC_FILES=true
\`\`\`7. Available Scripts
## Available Scripts
| Command | Description |
| ----------------------------- | --------------------------------------------------- |
| `bin/dev` | Start development server (Rails + Vite via Foreman) |
| `bin/rails server` | Start Rails server only |
| `bin/vite dev` | Start Vite dev server only |
| `bin/rails console` | Open Rails console (IRB with app loaded) |
| `bin/rails db:migrate` | Run pending database migrations |
| `bin/rails db:rollback` | Rollback last migration |
| `bin/rails db:seed` | Run database seeds |
| `bin/rails db:reset` | Drop, create, migrate, and seed database |
| `bin/rails routes` | List all routes |
| `bin/rails test` | Run test suite (Minitest) |
| `bundle exec rspec` | Run test suite (RSpec, if used) |
| `bin/rails assets:precompile` | Compile assets for production |
| `bin/rubocop` | Run Ruby linter |
| `yarn lint` | Run JavaScript/TypeScript linter |8. Testing
## Testing
### Running Tests
\`\`\`bash
# Run all tests (Minitest)
bin/rails test
# Run all tests (RSpec, if used)
bundle exec rspec
# Run specific test file
bin/rails test test/models/user_test.rb
bundle exec rspec spec/models/user_spec.rb
# Run tests matching a pattern
bin/rails test -n /creates_user/
bundle exec rspec -e "creates user"
# Run system tests (browser tests)
bin/rails test:system
# Run with coverage (SimpleCov)
COVERAGE=true bin/rails test
\`\`\`
### Test Structure
\`\`\`
test/ # Minitest structure
├── controllers/ # Controller tests
├── models/ # Model unit tests
├── integration/ # Integration tests
├── system/ # System/browser tests
├── fixtures/ # Test data
└── test_helper.rb # Test configuration
spec/ # RSpec structure (if used)
├── models/
├── requests/
├── system/
├── factories/ # FactoryBot factories
├── support/
└── rails_helper.rb
\`\`\`
### Writing Tests
**Minitest example:**
\`\`\`ruby
require "test_helper"
class UserTest < ActiveSupport::TestCase
test "creates user with valid attributes" do
user = User.new(email: "test@example.com", name: "Test User")
assert user.valid?
end
test "requires email" do
user = User.new(name: "Test User")
assert_not user.valid?
assert_includes user.errors[:email], "can't be blank"
end
end
\`\`\`
**RSpec example:**
\`\`\`ruby
require "rails_helper"
RSpec.describe User, type: :model do
describe "validations" do
it "is valid with valid attributes" do
user = build(:user)
expect(user).to be_valid
end
it "requires an email" do
user = build(:user, email: nil)
expect(user).not_to be_valid
expect(user.errors[:email]).to include("can't be blank")
end
end
end
\`\`\`
### Frontend Testing
For Inertia/React components:
\`\`\`bash
yarn test
\`\`\`
\`\`\`typescript
import { render, screen } from '@testing-library/react'
import { Dashboard } from './Dashboard'
describe('Dashboard', () => {
it('renders user name', () => {
render(<Dashboard user={{ name: 'Josh' }} />)
expect(screen.getByText('Josh')).toBeInTheDocument()
})
})
\`\`\`9. Deployment
Tailor this to detected platform (look for Dockerfile, fly.toml, render.yaml, kamal/, etc.):
## Deployment
### Kamal (Recommended for Rails)
If using Kamal for deployment:
\`\`\`bash
# Setup Kamal (first time)
kamal setup
# Deploy
kamal deploy
# Rollback to previous version
kamal rollback
# View logs
kamal app logs
# Run console on production
kamal app exec --interactive 'bin/rails console'
\`\`\`
Configuration lives in `config/deploy.yml`.
### Docker
Build and run:
\`\`\`bash
# Build image
docker build -t myapp .
# Run with environment variables
docker run -p 3000:3000 \
-e DATABASE_URL=postgresql://... \
-e SECRET_KEY_BASE=... \
-e RAILS_ENV=production \
myapp
\`\`\`
### Heroku
\`\`\`bash
# Create app
heroku create myapp
# Add PostgreSQL
heroku addons:create heroku-postgresql:mini
# Set environment variables
heroku config:set SECRET_KEY_BASE=$(bin/rails secret)
heroku config:set RAILS_MASTER_KEY=$(cat config/master.key)
# Deploy
git push heroku main
# Run migrations
heroku run bin/rails db:migrate
\`\`\`
### Fly.io
\`\`\`bash
# Launch (first time)
fly launch
# Deploy
fly deploy
# Run migrations
fly ssh console -C "bin/rails db:migrate"
# Open console
fly ssh console -C "bin/rails console"
\`\`\`
### Render
If `render.yaml` exists, connect your repo to Render and it will auto-deploy.
Manual setup:
1. Create new Web Service
2. Connect GitHub repository
3. Set build command: `bundle install && bin/rails assets:precompile`
4. Set start command: `bin/rails server`
5. Add environment variables in dashboard
### Manual/VPS Deployment
\`\`\`bash
# On the server:
# Pull latest code
git pull origin main
# Install dependencies
bundle install --deployment
# Compile assets
RAILS_ENV=production bin/rails assets:precompile
# Run migrations
RAILS_ENV=production bin/rails db:migrate
# Restart application server (e.g., Puma via systemd)
sudo systemctl restart myapp
\`\`\`10. Troubleshooting
## Troubleshooting
### Database Connection Issues
**Error:** `could not connect to server: Connection refused`
**Solution:**
1. Verify PostgreSQL is running: `pg_isready` or `docker ps`
2. Check `DATABASE_URL` format: `postgresql://USER:PASSWORD@HOST:PORT/DATABASE`
3. Ensure database exists: `bin/rails db:create`
### Pending Migrations
**Error:** `Migrations are pending`
**Solution:**
\`\`\`bash
bin/rails db:migrate
\`\`\`
### Asset Compilation Issues
**Error:** `The asset "application.css" is not present in the asset pipeline`
**Solution:**
\`\`\`bash
# Clear and recompile assets
bin/rails assets:clobber
bin/rails assets:precompile
\`\`\`
### Bundle Install Failures
**Error:** Native extension build failures
**Solution:**
1. Ensure system dependencies are installed:
\`\`\`bash
# macOS
brew install postgresql libpq
# Ubuntu
sudo apt-get install libpq-dev
\`\`\`
2. Try again: `bundle install`
### Credentials Issues
**Error:** `ActiveSupport::MessageEncryptor::InvalidMessage`
**Solution:**
The master key doesn't match the credentials file. Either:
1. Get the correct `config/master.key` from another team member
2. Or regenerate credentials: `rm config/credentials.yml.enc && bin/rails credentials:edit`
### Vite/Inertia Issues
**Error:** `Vite Ruby - Build failed`
**Solution:**
\`\`\`bash
# Clear Vite cache
rm -rf node_modules/.vite
# Reinstall JS dependencies
rm -rf node_modules && yarn install
\`\`\`
### Solid Queue Issues
**Error:** Jobs not processing
**Solution:**
Ensure the queue worker is running:
\`\`\`bash
bin/jobs
# or
bin/rails solid_queue:start
\`\`\`11. Contributing (Optional)
Include if open source or team project.
12. License (Optional)
---
Writing Principles
1. Be Absurdly Thorough - When in doubt, include it. More detail is always better.
2. Use Code Blocks Liberally - Every command should be copy-pasteable.
3. Show Example Output - When helpful, show what the user should expect to see.
4. Explain the Why - Don't just say "run this command," explain what it does.
5. Assume Fresh Machine - Write as if the reader has never seen this codebase.
6. Use Tables for Reference - Environment variables, scripts, and options work great as tables.
7. Keep Commands Current - Use pnpm if the project uses it, npm if it uses npm, etc.
8. Include a Table of Contents - For READMEs over ~200 lines, add a TOC at the top.
---
Output Format
Generate a complete README.md file with:
- Proper markdown formatting
- Code blocks with language hints (
bash,typescript, etc.) - Tables where appropriate
- Clear section hierarchy
- Linked table of contents for long documents
Write the README directly to README.md in the project root.
{
"schema_version": "2.0",
"meta": {
"generated_at": "2026-02-24T22:35:32.097Z",
"slug": "sickn33-readme",
"source_url": "https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/readme",
"source_ref": "main",
"model": "claude",
"analysis_version": "3.0.0",
"source_type": "community",
"content_hash": "98d633e49e63f62afb012d676c59ec0bcbd67620ad0f3ebaf8d7a5d8428110eb",
"tree_hash": "e044605fae188cb96ada3af8f49b3713afd61c9d05378573c00d569bbcd2ade6"
},
"skill": {
"name": "readme",
"description": "When the user wants to create or update a README.md file for a project. Also use when the user says 'write readme,' 'create readme,' 'document this project,' 'project documentation,' or asks for help with README.md. This skill creates absurdly thorough documentation covering local setup, architecture, and deployment.",
"summary": "Generates comprehensive README.md documentation for projects including setup guides, architecture overview, deployment instructions, and troubleshooting.",
"icon": "📦",
"version": "1.0.1",
"author": "sickn33",
"license": "MIT",
"tags": [
"documentation",
"readme",
"project-setup",
"developer-tools",
"automation"
],
"supported_tools": [
"claude",
"codex",
"claude-code"
],
"risk_factors": []
},
"security_audit": {
"risk_level": "safe",
"is_blocked": false,
"safe_to_publish": true,
"summary": "All 268 static findings are FALSE POSITIVES. This is a documentation generation skill that provides instructions for writing README files. The flagged patterns (external commands, environment variables, URLs) are all example content within the documentation templates, not actual code execution or credential access. No real security risks identified.",
"critical_findings": [],
"high_findings": [
{
"title": "External Commands False Positive",
"description": "Static scanner flagged 208 instances of 'external_commands' (Ruby/shell backtick execution) - these are example commands in documentation templates, not actual code execution. The skill generates README documentation and does not execute any commands.",
"locations": [
{
"file": "SKILL.md",
"line_start": 75,
"line_end": 842
}
],
"confidence": 0.95,
"confidence_reasoning": "All backtick patterns appear in markdown code blocks within documentation examples. No actual command execution occurs - the skill provides templates for the LLM to generate README content."
},
{
"title": "Environment Access False Positive",
"description": "Static scanner flagged 16 instances of 'env_access' (DATABASE_URL, SECRET_KEY_BASE, etc.) - these are documented environment variables in example documentation, not actual environment access.",
"locations": [
{
"file": "SKILL.md",
"line_start": 190,
"line_end": 633
}
],
"confidence": 0.95,
"confidence_reasoning": "Environment variable references appear in documentation tables explaining required setup. No process.env or similar access occurs."
},
{
"title": "Network Access False Positive",
"description": "Static scanner flagged 6 instances of 'network' (URLs, SMTP settings) - these are example URLs and configuration documentation, not actual network requests.",
"locations": [
{
"file": "SKILL.md",
"line_start": 4,
"line_end": 377
}
],
"confidence": 0.95,
"confidence_reasoning": "URLs appear in documentation (localhost, GitHub links, example SMTP settings). The skill does not make network requests."
},
{
"title": "Sensitive Files False Positive",
"description": "Static scanner flagged references to credentials files (.env.example, credentials.yml.enc, master.key) - these are documentation about configuration files, not actual file access.",
"locations": [
{
"file": "SKILL.md",
"line_start": 45,
"line_end": 770
}
],
"confidence": 0.95,
"confidence_reasoning": "References are in documentation explaining what files users should have. No actual file operations occur."
},
{
"title": "Weak Cryptographic Algorithm False Positive",
"description": "Static scanner flagged 10 instances of 'weak cryptographic algorithm' - these are standard Rails terms (encrypted_password, credentials.yml.enc) in documentation, not actual crypto implementation.",
"locations": [
{
"file": "SKILL.md",
"line_start": 3,
"line_end": 555
}
],
"confidence": 0.9,
"confidence_reasoning": "Terms like 'encrypted_password' and 'credentials.yml.enc' are standard Rails documentation. The skill does not implement cryptography."
}
],
"medium_findings": [],
"low_findings": [],
"dangerous_patterns": [],
"files_scanned": 1,
"total_lines": 843,
"audit_model": "claude",
"audited_at": "2026-02-24T22:35:32.097Z",
"risk_factors": [],
"risk_factor_evidence": []
},
"content": {
"user_title": "Generate Comprehensive README Documentation",
"value_statement": "This skill creates thorough README.md documentation for any project, covering setup, architecture, deployment, and troubleshooting. Perfect for developers who want complete project documentation without writing it manually.",
"seo_keywords": [
"Claude Code README generator",
"Codex skill documentation",
"Claude Code project docs",
"automated README creation",
"developer documentation skill",
"project setup guide",
"deployment documentation",
"technical writing AI",
"README template generator",
"Claude Code skill"
],
"actual_capabilities": [
"Explores codebase structure to understand project architecture before writing",
"Generates comprehensive README with setup, architecture, and deployment sections",
"Detects deployment platform (Docker, Heroku, Fly.io, etc.) and tailors instructions",
"Creates environment variable documentation from .env.example and config files",
"Writes troubleshooting sections with common errors and solutions"
],
"limitations": [
"Cannot access private repositories or credentials without user authorization",
"Relies on user providing access to codebase files for exploration",
"Generated documentation quality depends on available project files and config",
"May not recognize all framework-specific patterns without complete file structure"
],
"use_cases": [
{
"title": "New Project Documentation",
"description": "Generate a complete README for a newly created project to document setup and architecture from day one.",
"target_user": "Developers starting new projects who want professional documentation"
},
{
"title": "Legacy Project README Update",
"description": "Update outdated README files with current setup instructions, architecture details, and deployment steps.",
"target_user": "Maintainers of existing projects with incomplete or outdated documentation"
},
{
"title": "Open Source Project Enhancement",
"description": "Create thorough documentation for open source projects to improve onboarding for contributors.",
"target_user": "Open source maintainers wanting to attract contributors"
}
],
"prompt_templates": [
{
"title": "Basic README Generation",
"prompt": "Create a README.md for this project using the readme skill. Explore the codebase first to understand the structure.",
"scenario": "User wants a complete README for their project"
},
{
"title": "Update Existing README",
"prompt": "Update the existing README.md with more thorough documentation. The current README is outdated and missing key sections.",
"scenario": "User has existing README that needs improvement"
},
{
"title": "Add Deployment Section",
"prompt": "Add a deployment section to our README. Check for deployment configuration files like Dockerfile, docker-compose.yml, or deploy configs.",
"scenario": "User wants to add deployment documentation to existing README"
},
{
"title": "Full Documentation Overhaul",
"prompt": "Create an absurdly thorough README that covers everything: local setup, architecture deep-dive, environment variables, testing, deployment, and troubleshooting.",
"scenario": "User wants comprehensive documentation covering all aspects"
}
],
"output_examples": [
{
"input": "Create a README for my Rails app",
"output": "Generates a comprehensive README with: Project title and overview, tech stack table, prerequisites, step-by-step getting started guide, directory structure explanation, database schema, environment variables reference, available scripts, testing instructions, deployment guide for detected platform, troubleshooting section"
},
{
"input": "Document my Node.js project",
"output": "Creates README with: Project description, dependencies, setup instructions, npm scripts reference, environment configuration, architecture overview, deployment instructions for detected platform (Vercel, Render, etc.), common troubleshooting steps"
}
],
"best_practices": [
"Let the skill fully explore the codebase before generating documentation for accurate content",
"Provide access to all configuration files (.env.example, database.yml, etc.) for complete documentation",
"Review generated environment variable tables and add any missing sensitive values"
],
"anti_patterns": [
"Do not ask the skill to document a project without giving it file access first",
"Avoid interrupting the exploration phase - let it gather all project details",
"Do not expect the skill to know business logic not evident in code"
],
"faq": [
{
"question": "What frameworks does this skill support?",
"answer": "This skill works with any framework. It detects Ruby/Rails, Node.js, Python, Go, and more by examining project files. It then tailors the documentation accordingly."
},
{
"question": "Does it work with monorepos?",
"answer": "The skill can document monorepos but may need guidance on which packages or services to focus on. Provide context about the project structure."
},
{
"question": "Can it update an existing README?",
"answer": "Yes. The skill can read an existing README and enhance it with missing sections, or completely rewrite it with more thorough content."
},
{
"question": "What deployment platforms does it detect?",
"answer": "It detects Docker, Kamal, Heroku, Fly.io, Render, Vercel, Netlify, AWS Elastic Beanstalk, Serverless, Kubernetes, and generic VPS deployments."
},
{
"question": "How thorough is the generated documentation?",
"answer": "The goal is 'absurdly thorough' documentation. It includes setup, architecture, environment variables, scripts, testing, deployment, and troubleshooting sections."
},
{
"question": "Does this skill execute any commands?",
"answer": "No. This is a documentation generation skill. It only reads files to understand the project and generates markdown documentation. It does not run any commands."
}
]
},
"file_structure": [
{
"name": "SKILL.md",
"type": "file",
"path": "SKILL.md",
"lines": 843
}
]
}
Related skills
FAQ
What does the README cover?
Local development, understanding the system, and production deployment.
How does it choose deployment instructions?
It detects config files like Dockerfile, vercel.json, or fly.toml to tailor deployment steps.