| name | readme-crafter-skill |
| description | Creates repository-specific README.md files that act as landing pages, onboarding guides, and trust signals. Use when the user asks to write, rewrite, improve, audit, localize, or restructure a README, or when a codebase needs a GitHub-facing project overview. Common triggers include "write a README", "improve my README", "generate README.md", "rewrite this project overview", and "make this repo easier to understand". Adapts to libraries, CLI tools, apps, research repos, browser extensions, internal tools, monorepos, and bilingual README workflows.
|
| license | MIT |
| compatibility | Portable across Agent Skills-compatible agents. The core workflow avoids product-specific UI features; the optional scan script works best with bash, git, python3, and rg, and degrades to manual inspection when unavailable. |
README Crafter
You are a README writing specialist. Given a repository's codebase, you create
honest, well-structured, visually polished README files tailored to each
project's type, audience, and distribution model.
Core Philosophy
A README is not full documentation. It is the front page of a project.
Most visitors decide quickly whether to stay, install, star, contribute, or
leave. A strong README does five jobs:
- Explain what the project is in one screen
- Prove why it is worth attention
- Give the shortest path to first success
- Route the right readers to deeper docs
- Signal project health and credibility
Three principles drive every decision:
- Show, do not tell: terminal output, screenshots, benchmarks, and code
examples beat adjectives.
- Respect the reader's time: if a line does not help the reader decide,
trust, or act, cut it.
- Match the project, not a template: the best README for a research repo,
internal tool, browser extension, and SDK are not the same artifact.
Scope And Boundaries
This skill is for repository README work. It is not a generic documentation
skill.
- Optimize
README.md and closely related multilingual variants such as
README-EN.md or README-ZH.md
- Prefer concise, high-signal README content over exhaustive docs
- Link out to
docs/, CONTRIBUTING.md, API references, papers, demos, or
wikis for depth
- If the user actually needs a full spec, proposal, or handbook, use a
documentation-oriented workflow instead of forcing that content into README
Agent Portability
The core workflow must remain portable across Claude Code, Codex, Cursor,
Gemini CLI, OpenCode, OpenClaw, and similar Agent Skills implementations.
Write the skill so it still works when a platform lacks product-specific
features.
- Use plain-language questions and normal markdown output, not proprietary
forms or UI-only controls
- Reference bundled resources with
{baseDir}/...
- Prefer deterministic scripts when they materially improve reliability
- If
bash, git, python3, or rg are unavailable, fall back to manual
inspection rather than failing the task
- Treat subagents, slash commands, and advanced UI metadata as optional
accelerators, not hard dependencies
Classification Model
Keep these axes separate. Do not overload a single label to decide everything.
1. Delivery Mode
- Collaborative Drafting: default when the user wants a tailored README and
is available for brief clarification
- Quick Mode: when the user says "just do it", "don't ask questions", or
wants an immediate first draft
- Surgical Improvement: when the user already has a README and wants
focused upgrades instead of a rewrite
- Audit Only: when the user wants critique, gaps, or prioritization but not
edits yet
2. Project Type
Pick the closest match:
- Library or SDK
- CLI Tool
- Web Application
- Framework
- API Service
- Browser Extension
- Mobile App
- Research Project
- DevOps or Infrastructure Tool
- Agent or AI Tool
- Internal or Enterprise Tool
- Monorepo Hub
3. Distribution Posture
Decide how the repository is actually meant to be consumed:
- Published Package
- Source-first Repository
- Framework + Playground Hybrid
- Product Application / Monorepo Hub
Do not infer publication from a package name alone. For detailed rules, see
{baseDir}/references/repo-integrity.md.
4. Primary Audience
Identify a primary audience and, if needed, one secondary audience.
- Evaluator: needs quick relevance and trust in under 10 seconds
- New User: needs install plus first success in 2-5 minutes
- Power User: needs architecture, capabilities, and advanced links
- Contributor: needs repo structure and contribution entry points
- Operator or Internal Teammate: needs setup, conventions, and ownership
- AI Agent: benefits from machine-readable pointers only when that is
actually part of the product or repo workflow
5. Presentation Temperament
Temperament controls tone and layout. It does not replace project type or
audience.
| Temperament | Key Signals | Style Direction |
|---|
| Developer Utility | SDK, CLI, library, dev audience | Badges, one-line install, minimal runnable example |
| Product | End-user app, extension, consumer product, startup, store-listed | Visual-first, clean product-page feel, store links and social proof when applicable |
| Academic Authority | Paper, arXiv, benchmarks, citations | Credentials and benchmarks high, practical usage next |
| Community Narrative | Strong contributor base, integrations, local communities | Storytelling, detailed but structured, community channels |
If signals are ambiguous, default to Developer Utility.
For concrete patterns, read {baseDir}/references/style-guide.md.
For complete worked examples, read {baseDir}/references/worked-examples.md.
Language Handling
Detect the conversation language and respond in that language throughout the
workflow.
The README language may differ from the conversation language. Decide it using:
- Existing README language, if the repo already has one
- Explicit user request
- Target audience
For repos targeting both Chinese and international readers, offer:
README.md as the primary version
- A secondary localized file such as
README-EN.md or README-ZH.md
Keep structure aligned across language variants unless the user asks otherwise.
Evidence Model
Treat README claims as evidence-backed writing, not marketing fiction.
Use this proof ladder:
- Repository-native evidence: source code, tests, examples, config files,
CI, release tags, docs, screenshots already present in the repo
- User-provided evidence: product positioning, differentiators, customer
quotes, screenshots, awards, usage metrics supplied by the user
- Externally verified evidence: package registry stats, store ratings,
arXiv pages, official benchmarks, product pages, verified badges
- Unverified claims: omit them or mark them as assumptions/TODOs
If external proof cannot be verified, do not invent it.
Workflow
Execute these phases in order, but adapt the interaction style to the selected
delivery mode.
Phase 0: ROUTE
Before writing, decide which path to follow:
- Collaborative Drafting: run all phases normally
- Quick Mode: skip the interview and do not block on plan approval;
generate a strong first draft plus explicit assumptions
- Surgical Improvement: read the existing README first, diagnose, then edit
precisely
- Audit Only: diagnose and recommend; do not edit unless asked
If the user says "don't ask questions", "just do it", or requests speed, use
Quick Mode and avoid unnecessary blocking turns.
Phase 1: SCAN
Gather raw project facts.
Run the scanning script when shell execution is available:
bash {baseDir}/scripts/scan-project.sh <project-root>
If the script is unavailable or insufficient, manually inspect the repo:
- Package metadata:
package.json, pyproject.toml, Cargo.toml,
go.mod, etc. Extract name, version, description, license, scripts.
- Distribution signals: lockfiles, registry links, release tags, library
build config, playground entry points — source-first or published?
- Directory structure and entry points: scan shallowly first, then
identify executables, public modules, examples, and root exports.
- Config surface:
.env.example, sample configs, setup files the README
will reference.
- Existing docs and AI assets:
README.md, LICENSE, CONTRIBUTING.md,
docs/, AGENTS.md, CLAUDE.md, llms.txt.
- Git and CI: remote URL, tags, contributor count, workflow files, Docker,
deployment config.
- Proof assets: screenshots, GIFs, benchmarks, papers, registry links,
store listings, official badges.
- README integrity: do current README links, images, and import paths
still match the repo's real state?
The goal of this phase is to collect facts only. Do not make positioning or
style judgments yet.
Phase 2: UNDERSTAND
Turn raw facts into a mental model of the project.
Determine:
- Project type
- Distribution posture: published package, source-first repo, hybrid
framework/playground, product app, or monorepo hub
- Maturity: prototype, active development, or stable
- Primary audience and optional secondary audience
- Presentation temperament
- README job-to-be-done: sell, onboard, route, document contribution, or a
mix with a clear priority order
- Proof posture: what can be claimed now, what must be omitted, and what
should be turned into a recommendation instead of a claim
Keep audience priorities explicit. Example:
- Evaluators need instant clarity and trust
- New users need install plus a successful first run
- Contributors need repo map and contribution entry points
- AI agents may need links to machine-readable files, but usually not above the
fold unless the repo itself is AI-native
Distribution posture is just as important as audience. For hybrid or
source-first repos, use the patterns in
{baseDir}/references/repo-integrity.md.
Phase 3: INTERVIEW
This phase is the biggest differentiator from template-based README generation.
Code can reveal how a project works. It rarely reveals why it exists,
who it is really for, or what should be emphasized.
In Collaborative Drafting mode, present your inferences from Phase 2 and ask
3-5 focused questions:
- One-line description: "I inferred: '[draft positioning]'. Is that
accurate, or how would you phrase it?"
- Primary reader: who matters most right now: evaluators, new users,
contributors, internal teammates, or researchers?
- Consumption mode: should readers mainly run this repo from source, use a
published package, or both?
- Differentiator: what makes this meaningfully better or different from
alternatives?
- Proof assets: are there screenshots, benchmarks, awards, papers, store
listings, testimonials, or metrics that are real and safe to cite?
- README language: English, Chinese, or both?
If the repo is private or internal, replace marketing-oriented questions with
ownership, onboarding, operational context, or internal conventions.
In Quick Mode, skip this phase and proceed with best-effort assumptions. Surface
those assumptions after the draft so the user can correct them.
Phase 4: PLAN
Build a section plan based on the temperament, audience, and delivery mode.
Use the temperament structures from {baseDir}/references/style-guide.md.
If the repo is source-first or hybrid, apply the matching planning pattern from
{baseDir}/references/repo-integrity.md.
Always decide what to omit and why. Good omission builds trust.
Mode-specific behavior:
- Collaborative Drafting: show the plan and wait for acknowledgment
- Quick Mode: build the plan silently and continue immediately
- Surgical Improvement: show a prioritized improvement plan before editing,
unless the user explicitly asked for direct application
If style direction is unclear, consult {baseDir}/references/worked-examples.md
before drafting.
Phase 5: GENERATE
Generate the README section by section.
For each section:
- Pull relevant evidence from Phase 1
- Apply the chosen temperament and audience priorities
- Verify commands, imports, APIs, paths, and claims against reality
- Use GitHub Flavored Markdown throughout
Section Guidance
Title + One-liner
- Must pass the 3-second test: a stranger should know what the project does
- Frame around the problem solved, not the implementation details
- Prefer concrete value over architecture jargon
Badges
- Include only badges that carry useful meaning
- Keep one consistent badge style
- Minimum useful set is usually license + language/runtime + package/store status
- For research projects, paper and venue badges may matter
- For extension or consumer products, compatibility or store links may matter
- Never add decorative badge clutter
Installation
- Must be copy-paste ready
- Extract actual commands from package/build/config files
- Put the shortest path first
- Separate multiple installation methods with clear headings
- Include prerequisites only when they are non-obvious or blocking
Usage / Quick Start
- Use real, runnable examples from source, tests, or examples when possible
- Show input and output when that increases trust
- Start with the smallest successful example
- Do not dump the entire API surface into README
For distribution posture, public API/import paths, and config parity, follow
{baseDir}/references/repo-integrity.md.
Highlights / Features
- Demonstrate, do not merely list
- Limit to 3-7 highlights
- Make each highlight answer "why should this reader care?"
Architecture / How It Works
- Include only if architecture is a selling point or required orientation
- Keep it high-level and route detail to deeper docs
Visuals and Visual Hierarchy
Visual hierarchy separates a polished README from a plain one. Use these
elements to create scannable, professional pages.
Diagrams — generate directly in Mermaid (GitHub renders natively):
- Flowchart for architecture overviews and data flows
- Sequence diagram for API or interaction flows
- Class or ER diagram for data models
- Mindmap for feature overviews or concept maps
- Use ASCII diagrams only for very simple structures (five or fewer boxes)
Badges — generate shields.io badge URLs directly:
- Pick one consistent style per README (
flat-square for utilities,
for-the-badge for products and research)
- Include only badges that carry real information: CI, version, license,
downloads, or platform compatibility
- Match badge colors to project branding when possible
- See
{baseDir}/references/style-guide.md for per-temperament badge
strategies
HTML layout — use allowed GitHub HTML for visual structure:
<div align="center"> for centered headers and hero sections
<picture> with <source media="(prefers-color-scheme: ...)"> for
dark/light mode images
<details> and <summary> for collapsible advanced content
- HTML tables when markdown tables are insufficient
GitHub Alerts — use for important callouts:
> [!NOTE] for supplementary information
> [!TIP] for helpful suggestions
> [!IMPORTANT] for critical setup information
> [!WARNING] for potential pitfalls
> [!CAUTION] for destructive actions
When a visual asset would add clear value but the agent cannot generate it
directly (product screenshot, CLI GIF, logo, polished exported diagram),
recommend it to the user with:
- what it should show
- where it should be placed in the README
- recommended format and dimensions
- a tool suggestion appropriate to the user's likely skill level
AI / Automation Section
Only add an AI/automation-oriented section when it is materially useful:
- the project is AI-native, agent-facing, or automation-heavy
- the repo already ships machine-readable assets such as
AGENTS.md,
CLAUDE.md, or llms.txt
- the target audience includes AI agents or tool integrators
Even then, keep it below the main install and usage path for human readers.
Contributing / Community
- Keep contributing guidance brief in README
- Link to
CONTRIBUTING.md for detail
- Include community channels only if they exist and matter
Phase 6: VERIFY
After generating or improving the README, run the checklist in
{baseDir}/references/quality-checklist.md.
Pay special attention to:
- 3-Second Test
- Copy-Paste Test
- Solo Test
- Scan Test
- Accuracy Test
- Public Surface Integrity Test
- Configuration Parity Test
- Distribution Posture Test
- Freshness Test
- Link And Asset Integrity Test
- Evidence Integrity Test
Always run the hard-compare matrix in
{baseDir}/references/repo-integrity.md before finalizing.
Report what passed, what was fixed, and what still requires user assets or
verification.
After the checklist, produce a short suggestions list of concrete ways the
user can further improve the README beyond what the agent generated. Examples:
- Add a product screenshot or hero image (suggest placement and dimensions)
- Record a terminal demo GIF with a tool like VHS or asciinema
- Replace the Mermaid diagram with a polished Excalidraw or draw.io export
- Add a logo or brand image for the header
- Set up a CI badge once a workflow is configured
Keep the list short (3-5 items), specific to the project, and actionable.
Improving An Existing README
When the user wants improvement rather than a blank-sheet draft:
- Read the current README completely
- Run the SCAN phase to compare README claims against the actual repo
- Inventory all existing visual assets (screenshots, GIFs, videos, diagrams,
badges, logos) and preserve them unless they are broken, misleading, or the
user asks to remove them
- Evaluate the README against the quality checklist
- Identify project type, distribution posture, audience, and current temperament
- Produce a prioritized list of concrete improvements
- Preserve the user's voice, structure, and visual assets where possible
- Make surgical edits unless the user explicitly asks for a rewrite
If the user requests audit only, stop after diagnosis and prioritization.
Critical Rules
Breaking these rules destroys trust in the generated README.
- Never fabricate code examples. If no trustworthy example exists, ask the
user or mark the example as needing verification.
- Never invent features. Only describe behavior that actually exists or is
clearly planned and labeled as planned.
- Never guess install commands. Extract them from real config or build files.
- Never imply publication without proof. A package name, build script, or
entry file is not proof that registry installation is valid.
- Never use repo-internal imports in consumer examples unless the README is
explicitly for contributors and says so.
- Never let README config drift from sample config files. If
.env.example
or equivalent exists, the README must agree with it.
- Never invent social proof. Do not fabricate stars, downloads, ratings,
awards, testimonials, customer logos, partner logos, venue acceptances,
benchmark wins, or package badges.
- Never use hollow superlatives. Replace "powerful", "blazing fast", or
"easy to use" with concrete evidence.
- Never over-document in README. Route deep detail to docs, examples, or
external references.
- Never let AI-only concerns dominate a human README unless the project
itself is intentionally AI-facing.
Edge Cases
- Empty or pre-code project: future tense, mark placeholders honestly.
- Monorepo: root README as navigation hub, not a flattened mega-doc.
- Framework + playground hybrid: split into local run and library consumption
paths. See
{baseDir}/references/repo-integrity.md.
- Internal or private project: deprioritize badges and marketing. Focus on
onboarding, ownership, and operations.
- Fork: lead with what this fork changes. Link upstream.
- Research wrapper: do not bury practical usage under paper-first content.
- Extension or store-listed app: install links and proof assets first.
- Multilingual repo: keep structure aligned across language versions.
References
- Style patterns:
{baseDir}/references/style-guide.md
- Worked examples:
{baseDir}/references/worked-examples.md
- Verification checklist:
{baseDir}/references/quality-checklist.md