Help us improve
Share bugs, ideas, or general feedback.
From rust-agents
Generates and improves README files for Rust crates (libraries, CLIs, services), TypeScript/JavaScript npm packages, and Python PyPI packages using ecosystem conventions like badges, MSRV, feature flags, and installation tabs.
npx claudepluginhub bug-ops/claude-plugins --plugin rust-agentsHow this skill is triggered — by the user, by Claude, or both
Slash command
/rust-agents:readme-generatorThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Generate professional README files or improve existing ones. Applies ecosystem-specific best practices from 90+ curated examples.
Generates professional README.md for projects by scanning manifests like package.json/pyproject.toml, interviewing on type/language/depth/license, adding badges/sections.
Provides README.md templates and standards for generating, improving, or checking project documentation compliance. Activates on README creation, audits, or best practices mentions.
Generates human-focused README files for projects. Activates on 'write README', 'create README', 'update README'.
Share bugs, ideas, or general feedback.
Generate professional README files or improve existing ones. Applies ecosystem-specific best practices from 90+ curated examples.
[!IMPORTANT] Always detect project type FIRST before generating. Wrong template = wrong conventions.
| Project Type | Detection | Key Requirements |
|---|---|---|
| Rust library | Cargo.toml + src/lib.rs | crates.io badge, docs.rs, MSRV, feature flags |
| Rust CLI | Cargo.toml + src/main.rs | Multi-platform install (cargo, brew, apt, etc.) |
| TypeScript | package.json + tsconfig.json | npm/yarn/pnpm/bun tabs, bundle size badge |
| Python | pyproject.toml or setup.py | pip/poetry/conda, Python versions badge |
[!IMPORTANT] Use GitHub callouts in generated READMEs to highlight critical information. They render beautifully on GitHub. Note: callouts are GitHub-specific — see ecosystem reference files for per-platform restrictions.
Use these callout blocks in generated README files:
> [!NOTE]
> Useful information that users should know, even when skimming content.
> [!TIP]
> Helpful advice for doing things better or more easily.
> [!IMPORTANT]
> Key information users need to know to achieve their goal.
> [!WARNING]
> Urgent info that needs immediate user attention to avoid problems.
> [!CAUTION]
> Advises about risks or negative outcomes of certain actions.
| Callout | Use For | Example |
|---|---|---|
[!NOTE] | Additional context, FYI | "This crate re-exports types from X" |
[!TIP] | Best practices, recommendations | "Use --release for production builds" |
[!IMPORTANT] | Breaking changes, requirements | "Requires Rust 1.70+" |
[!WARNING] | Potential issues, deprecations | "This API will change in v2.0" |
[!CAUTION] | Dangerous operations, data loss | "This command deletes all data" |
Place callouts strategically:
Rust library with MSRV:
## Installation
\`\`\`toml
[dependencies]
my-crate = "1.0"
\`\`\`
> [!IMPORTANT]
> Requires Rust 1.70 or later. See [MSRV policy](#msrv-policy).
CLI tool with destructive command:
## Usage
\`\`\`bash
my-tool clean --all
\`\`\`
> [!CAUTION]
> The `--all` flag removes ALL cached data including user preferences. This cannot be undone.
Library with async feature:
## Features
> [!TIP]
> Enable the `async` feature for non-blocking I/O. Recommended for high-throughput applications.
\`\`\`toml
my-crate = { version = "1.0", features = ["async"] }
\`\`\`
Python package with version requirement:
## Installation
\`\`\`bash
pip install my-package
\`\`\`
> [!WARNING]
> Python 3.8 reaches end-of-life in October 2024. Consider upgrading to Python 3.10+.
# Check for project markers
ls -la Cargo.toml package.json pyproject.toml setup.py tsconfig.json 2>/dev/null
Decision tree:
Cargo.toml exists → Rust project
[[bin]] or src/main.rs → CLI tool (use references/rust-cli.md)references/rust-library.md)package.json exists → JavaScript/TypeScript
tsconfig.json exists → TypeScript (use references/typescript.md)references/typescript.md)pyproject.toml or setup.py → Python (use references/python.md)[!TIP] Extract metadata from project files — don't ask the user for info that's already in Cargo.toml/package.json.
Extract from project files:
Rust:
# Get package info
grep -E "^name|^version|^description|^license|^rust-version" Cargo.toml
# Get features
grep -A 50 "^\[features\]" Cargo.toml | head -50
# Check for binary
grep -E "^\[\[bin\]\]" Cargo.toml || ls src/main.rs 2>/dev/null
TypeScript/JavaScript:
# Get package info
cat package.json | jq '{name, version, description, license, keywords}'
# Check for types
ls src/*.ts tsconfig.json 2>/dev/null
Python:
# From pyproject.toml
grep -E "^name|^version|^description|^license" pyproject.toml
# Or from setup.py
grep -E "name=|version=|description=" setup.py
After detecting project type, read the appropriate reference file:
references/rust-library.mdreferences/rust-cli.mdreferences/typescript.mdreferences/python.md[!WARNING] Never use placeholder text like
[TODO]or<description>in final output. Extract real values or ask user.
Apply the template structure. Essential sections in order:
Hero section (required)
Visual hook (highly recommended)
assets/, docs/, or images/Installation (required)
Usage/Examples (required)
Features (recommended)
API/Configuration (if applicable)
Contributing (recommended)
License (required)
[!NOTE] When improving, preserve existing custom sections and contribution acknowledgments. Don't overwrite user's content.
When improving an existing README:
Audit current state:
cat README.md
Check against requirements:
Common improvements:
Preserve existing content:
See references/badges.md for complete badge syntax by ecosystem.
Quick reference:
<!-- Rust -->
[](https://crates.io/crates/CRATE)
[](https://docs.rs/CRATE)
<!-- TypeScript/npm -->
[](https://www.npmjs.com/package/PACKAGE)
[](https://bundlephobia.com/package/PACKAGE)
<!-- Python -->
[](https://pypi.org/project/PACKAGE)
[](https://pypi.org/project/PACKAGE)
Before completing, verify:
[!CAUTION] These mistakes make READMEs significantly worse. Check against this list before completing.