From rust-agents
Generate and improve README files for software projects. Triggers on: 'create readme', 'generate readme', 'write readme', 'improve readme', 'update readme', 'fix readme', 'readme for this project'. Supports Rust (libraries, CLI tools, services), TypeScript/JavaScript (npm packages), and Python (PyPI packages). Applies ecosystem-specific conventions: badges, installation sections, MSRV for Rust, feature flags documentation.
npx claudepluginhub bug-ops/claude-plugins --plugin rust-agentsThis skill uses the workspace's default tool permissions.
Generate professional README files or improve existing ones. Applies ecosystem-specific best practices from 90+ curated examples.
Generates design tokens/docs from CSS/Tailwind/styled-components codebases, audits visual consistency across 10 dimensions, detects AI slop in UI.
Records polished WebM UI demo videos of web apps using Playwright with cursor overlay, natural pacing, and three-phase scripting. Activates for demo, walkthrough, screen recording, or tutorial requests.
Delivers idiomatic Kotlin patterns for null safety, immutability, sealed classes, coroutines, Flows, extensions, DSL builders, and Gradle DSL. Use when writing, reviewing, refactoring, or designing Kotlin code.
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.