home / skills / steveclarke / dotfiles / readme-writer

readme-writer skill

/ai/skills/readme-writer

This skill helps you craft clear, user-friendly READMEs by outlining sections, tone, and structure for easy onboarding and maintenance.

npx playbooks add skill steveclarke/dotfiles --skill readme-writer

Review the files below or copy the command above to add this skill to your agents.

Files (4)
SKILL.md
2.6 KB
---
name: readme-writer
description: Write READMEs for software projects. The skill should be used when writing or revising a README or README.md file.
license: MIT
---

The general flow of a README:

1. A section describing what the package does and why it's important (i.e. "what's in it for me" for the user)
2. A section on how to install and use the package
3. A section on common configuration options and methods
4. A section on how to contribute or pointer to CONTRIBUTING.md, notes on the developer's build environment and potential portability problems.
5. a brief explanation of any unusual top-level directories or files, or other hints for readers to find their way around the source;

### Github-flavored markdown

Since most all of my projects are Github, you have have some neat markdown block extensions available:

> [!CAUTION]
> [!IMPORTANT]
> [!NOTE]
> [!TIP]
> [!WARNING]

Use these to call out any semantic sections.

### Reading level

I prefer a Fleisch-Kincaid reading level of 9th grade or below. Revise the README until it is below a 9th grade level. Use `scripts/flesch_kincaid.rb`.

### ESL audience

Many of the people reading a software project README are not native speakers of English.

`scripts/top1000.txt` is available for profiling what % of a text's words are in the top 1000 most common in English. Aim to increase this number.

DO use active voice where possible.
DON'T assume passive constructions are easy just because the words are simple.
DO keep noun phrases short and direct.
DON'T stack multiple modifiers before nouns ("the recently revised standardized testing protocol").
DO limit embedded clauses—one level of nesting is usually manageable.
DON'T assume simple vocabulary guarantees comprehension; "The man who the dog that bit the cat chased ran away" uses basic words but is notoriously hard to parse.
DO use conditionals sparingly, favoring simple "if/then" structures.
DON'T rely heavily on mixed or inverted conditionals ("Had she known...").
DO make logical connections explicit with transition words (however, therefore, because).
DON'T expect readers to infer relationships between ideas.
DO spread information across multiple sentences when needed.
DON'T pack too many new concepts into a single sentence.
DO explain or gloss cultural references.
DON'T assume shared background knowledge about idioms, historical events, or cultural touchstones.

### Bibliography

— GNU Coding Standards, https://www.gnu.org/prep/standards/html_node/Releases.html#i... (July 1, 2021)
— Software Release Practice HOWTO, https://tldp.org/HOWTO/Software-Release-Practice-HOWTO/distp... (Revision 4.1)

Overview

This skill writes clear, purposeful README files for software projects. It focuses on what the project does, how to install and use it, and where contributors should start. The output targets a ninth-grade reading level and is friendly to non-native English readers. It also highlights unusual files and portability notes for multi-machine setups.

How this skill works

The skill inspects project metadata, language, and top-level files to build a structured README. It produces sections for purpose, installation, usage, configuration, contribution, and a short tour of the repository layout. It emphasizes active voice, short sentences, and common English vocabulary to aid comprehension. It can add GitHub-flavored callouts for warnings, tips, and notes.

When to use it

  • Creating a README for a new project or template
  • Rewriting an existing README to improve clarity and accessibility
  • Preparing a README before an open-source release
  • When onboarding contributors or new team members
  • When standardizing READMEs across multiple machines or repos

Best practices

  • Start with a one-paragraph summary that answers 'what' and 'why'.
  • Show quick install and a minimal example near the top.
  • Document common config options and default paths clearly.
  • Add a CONTRIBUTING pointer plus build and portability notes.
  • List and explain unusual top-level files and folders.
  • Keep sentences short and prefer common vocabulary for ESL readers.

Example use cases

  • Write a README for a set of shell scripts that sync dotfiles across machines.
  • Revise an existing README to meet a project style guide and reading-level target.
  • Generate a quick-start section for a utilities repo used by colleagues.
  • Add clear contributor instructions and a build environment note for a cross-platform tool.

FAQ

Can the skill enforce a reading-level target?

Yes. It aims for a ninth-grade or lower reading level and can iterate text until it meets the target.

Will the README include installation commands?

Yes. It adds concrete install steps and a minimal usage example tailored to the project's language and tooling.