readme-doctor
README Doctor
Diagnose README problems, analyze reference styles, and prescribe improvements.
Diagnosis Process
Patient (README) Intake → Diagnosis → Prescription → Treatment
Mode 1: Diagnose & Treat (Default)
Diagnose current project's README and prescribe improvements.
Step 1: Intake
# Check current README
[ -f README.md ] && cat README.md
# Gather project info
[ -f package.json ] && cat package.json | jq '{name, description, version}'
[ -f pyproject.toml ] && grep -E "^(name|version|description)" pyproject.toml
Step 2: Diagnosis Checklist
| Item | Diagnosis Criteria |
|---|---|
| Title | Is the project name clear? |
| Description | Does it explain "what & why" in 1-2 sentences? |
| Installation | Can anyone follow it? |
| Usage | Is there a runnable example? |
| Context | Is necessary background provided? |
| Structure | Does it follow cognitive funneling (broad → specific)? |
| Freshness | Does content match current project state? |
Step 3: Prescription Output
## Diagnosis Results
### Healthy
- [x] Installation section exists
- [x] License stated
### Needs Attention
- ⚠️ Description too long (3 lines → 1-2 recommended)
- ⚠️ No usage example
### Needs Treatment
- ❌ Title only says "Project" → Change to actual name
- ❌ Install command outdated (npm install → npm i recommended)
## Prescription
### 1. Fix Title
- Current: `# Project`
- Recommended: `# my-awesome-tool`
### 2. Shorten Description
- Current: "This project is... (3 lines)"
- Recommended: "CLI tool for X. One-liner."
### 3. Add Usage Example
\`\`\`bash
my-tool --input file.txt --output result.json
\`\`\`
Mode 2: Reference Analysis
Analyze style from user-provided reference READMEs.
Input Formats
# GitHub URL
"Analyze https://github.com/vercel/next.js/blob/canary/README.md"
# Local file
"Analyze ~/projects/example/README.md"
# Direct paste
"Analyze this README style: [paste content]"
Analysis Items
| Category | What to Analyze |
|---|---|
| Structure | Section order, hierarchy |
| Style | Badges, emojis, code blocks |
| Tone | Formal/casual, concise/verbose |
| Format | Tables, lists, blockquotes usage |
Analysis Result Example
{
"structure": ["Title", "Badges", "Description", "Features", "Install", "Usage", "Contributing", "License"],
"styles": {
"badges": true,
"emoji_in_headers": false,
"code_blocks": ["bash", "typescript"],
"images": false,
"toc": false
},
"tone": "professional-concise",
"avg_section_length": "short"
}
Mode 3: GitHub Pattern Analysis
Extract README patterns from user's GitHub repositories.
# Analyze user repos
gh repo list <username> --limit 10 --json name,url
# Fetch README
gh api /repos/<owner>/<repo>/readme --jq '.content' | base64 -d
Extract common patterns from at least 3 READMEs.
Mode 4: Best Practices Check
Evaluate README quality based on references/best-practices.md.
Required Checks
- Title + one-liner description
- Installation method
- Usage example
- License
Recommended Checks
- Badges (npm version, license, etc.)
- Contributing guide
- Changelog link
Using References
When user provides a reference:
- Analyze Reference → Extract style/structure
- Diagnose Current Project → Identify issues
- Prescribe → Suggest improvements in reference style
User: "Make my README like Vercel's style. Reference: https://github.com/vercel/next.js"
Process:
1. Fetch Vercel's README
2. Analyze: badges at top, concise sections, professional tone
3. Diagnose current README
4. Prescribe: "Add badges section", "Shorten description to 1 line", "Add Features table"
Templates
Project type templates in templates/ folder:
| Template | Use For |
|---|---|
templates/oss.md |
Open source |
templates/personal.md |
Personal projects |
templates/internal.md |
Internal tools |
templates/xdg-config.md |
Config files |
References
| File | Content |
|---|---|
references/best-practices.md |
README best practices |
references/section-checklist.md |
Section checklist |
references/templates.md |
Language-specific patterns |
Usage Examples
# Diagnosis request
"Fix my README"
"Diagnose this README"
# Reference-based
"Make README like this: https://github.com/facebook/react"
"Change to this style: [README content]"
# GitHub pattern
"Create README based on my GitHub style"
"Make README matching my other projects"
# New project
"I need a README for a new CLI tool"
Prerequisites
ghCLI (for GitHub pattern analysis)jq(for JSON processing)- Python 3.6+ (for running scripts)
More from junghoonghae/skills
openkakao-cli
Work with OpenKakao CLI (`openkakao-rs`) for KakaoTalk on macOS. Use whenever the user asks to authenticate, inspect chats, read messages, send messages, watch real-time traffic, automate from chat data, build hooks or webhooks, verify webhook signing, manage tokens, inspect auth recovery state, search cached messages, view chat analytics/stats, or operate unattended KakaoTalk workflows from the terminal. This should also trigger when the user mentions `watch`, `hook`, `webhook`, `LOCO`, `chat_id`, `auth-status`, `doctor`, `launchd`, `cache`, `stats`, `analytics`, `local-chats`, `local-read`, `local-search`, `dry-run`, `allow_loco_write`, or wants to wire OpenKakao into local scripts, agents, SQLite, cron, or launchd.
28x-composer
Compose and post to X.com using browser automation. Use when user asks to "post to X", "tweet", "draft a tweet", "share on X", or "write a thread". Supports Playwright MCP (recommended), CDP, and clipboard fallback.
21ships-with-steipete
IMPERSONATE steipete (Peter Steinberger) to coach on project ideas, tech decisions, and shipping strategy. Trigger when user: (1) describes an idea/project and wants steipete's feedback, (2) asks 'what would steipete think about X', (3) needs help choosing between CLI/MCP/UI approach, (4) wants advice on shipping faster or simplifying, (5) asks about AI coding workflow, agent setup, or model selection, (6) mentions steipete by name, (7) wants to validate a startup/side-project idea. Responds IN CHARACTER as steipete - direct, opinionated, challenges assumptions, asks 'would YOU use this?'. Based on 168 GitHub repos and 107 blog posts (2012-2026).
17discord-admin-py
Discord server administration via inference.sh - Multi-function app for channel, role, member management, messages, and more. Use for Discord bot operations, server management, channel creation, role assignment, and message handling.
16oh-my-lilys
CLI tool for lilys.ai - Summarize YouTube, PDF, websites, and audio. Manage sessions, generate reports, search, export, and organize collections directly from the terminal. Use when user wants to summarize content from URLs, list/search/delete sessions, generate or fetch AI reports with note types, export reports as PDF or Markdown, manage collections, share sessions publicly, check usage/quota, chat with AI about sessions, extract video thumbnails, translate reports, or authenticate with lilys.ai. Triggers: summarize URL, generate report, get sessions, lilys, YouTube summary, search sessions, export PDF, collections, chat, thumbnail, translate.
14capx
>
7