agentleFS
SubliminalCodingSubliminalCoding/bilbroswagginz-skills/skills/readme-real/SKILL.md

readme-real

Skill0 starsChanged 46 days agoMITView on GitHub

Write or revise READMEs that sound like a human wrote them and that don't ship promises the code can't back. Bans AI-tell phrasing, hype words, "coming soon" sections, and feature claims without a repro command. Use when creating a README, rewriting one that reads as AI slop, deciding what features to list on a landing page, or reviewing someone else's doc for credibility.

The file

We split this skill into the rules it gives an agent

8 rules. About 0 are common, 8 are distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈8

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Every feature claim in a README must be followed by a way for the reader to verify it.

    line 38
  2. Distinctive:

    Configuration: Only if configurable. Defaults named.

    line 65
  3. Distinctive:

    Contributing: Only if contributions are actually accepted.

    line 68
  4. Distinctive:

    No quotes from the team. No "what people are saying." No testimonials.

    line 95
  5. Distinctive:

    Before a README ships, read it once looking for these and cut each one:

    line 99
  6. Distinctive:

    If the count of cut candidates is zero, the reviewer isn't looking hard enough.

    line 111
  7. Distinctive:

    Before adding a "coming soon" section: Stop. Ship it first or move it to a separate roadmap file.

    line 117
  8. Distinctive:

    Before accepting LLM-drafted README text unedited: Stop. Run the anti-checklist.

    line 118

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Readme Real

A README does two jobs: it tells a reader what the thing is and how to run it. Everything else (hype, personality, announcement energy, roadmap aspirations) either pays its way by advancing those two jobs or it gets cut. This skill holds the line.

The default output of most LLMs when asked to "write a README" violates this standard in predictable ways. This skill names those violations and forbids them.

Banned phrasing

These constructions are forbidden in any README produced or reviewed under this skill. They do not get softer with context. They do not "sometimes fit." They get cut.

The em-dash decoration pattern. Em-dashes used as rhythmic decoration, the kind where every third sentence has one, inflate prose without adding structure. Use commas, periods, or parentheses instead. A README should have at most one or two em-dashes, total, and each should carry weight.

The "it's not just X, it's Y" construction. A dead giveaway of machine-generated prose. Every variant ("more than just a tool — a platform," "not merely a library, but a framework") is a dressed-up version of the same tell. Cut.

Hype words without referents. Robust, powerful, seamless, world-class, best-in-class, blazingly fast, lightning-quick, cutting-edge, revolutionary, game-changing, next-generation, comprehensive, sophisticated, elegant. These words do no work. If the thing is fast, show a number. If it's reliable, show the test suite or the uptime. Adjectives without evidence are decoration.

Announcement energy. "We're excited to announce." "We're thrilled to share." "Proud to present." A README is not a press release. Delete.

AI-tell verbs. Delve, unlock, leverage, empower, boast, showcase, embark, navigate. Each has a plain-English alternative that's shorter and truer. Use the alternative.

"Simply" as a reassurance. "Simply run npm install." If it's simple, it doesn't need the word. If it isn't simple, the word is a lie. Cut.

Journey metaphors. "Your journey to X starts here." "Embark on your first project." The reader is installing a library, not crossing a continent.

The adjective stack. "A fast, reliable, scalable, type-safe, developer-friendly..." More than two adjectives in a row means none of them are load-bearing. Pick the one that matters and cut the rest.

Emoji headers. Decorative emoji in section titles (✨ Features, 🚀 Getting Started, 📦 Installation) signal "a language model wrote this README." Headers should be words, structured by a table of contents if the README is long enough to need one.

"Coming soon" sections. Either it ships or it doesn't exist in the README. Roadmap aspirations belong in a separate ROADMAP.md or an issue tracker, not in the README where they read as promises.

The repro rule

Every feature claim in a README must be followed by a way for the reader to verify it. "Feature claim" means any sentence that says the software does something.

Good:

Supports JSON output via `--json`:

    $ tool --json foo
    {"result": "bar"}

Bad:

Supports a variety of output formats for maximum flexibility.

The first one is falsifiable. The second is decoration.

This applies to install, usage, configuration, and features. If the claim can't be demonstrated with a shell command, a config snippet, or a screenshot showing the actual output, the claim doesn't belong in the README yet.

Structure

A README has these sections, in this order. Sections not on this list require a reason to include.

  1. What it is. One sentence. Reader knows whether to keep reading by the end of the first line.
  2. Install. Commands that actually work on a fresh machine. If prereqs exist, name them or include a one-liner that installs them.
  3. Quick start. Shortest path from install to a visible result. Commands plus the expected output.
  4. Usage or Features. Each item has a repro per the rule above.
  5. Configuration. Only if configurable. Defaults named. Each option has a reason to change it.
  6. Limitations. Named, not hidden. What it doesn't do, what it doesn't scale to, what it won't fix for you.
  7. License. One line if using a standard license. Link to LICENSE for the full text.
  8. Contributing. Only if contributions are actually accepted. If they're not, leave this out rather than writing a dishonest "contributions welcome."

Skip the "About the author" section, the "Star history" embed, the "Sponsors" collage, the "Star us on GitHub" call to action. None of them help a reader decide whether to install the thing.

Badges

Badges earn their place by affecting a reader's decision. Keep:

  • Build status. Does the current code actually build?
  • Version. What version does install fetch?
  • License. Decision-relevant for legal/commercial use.

Remove:

  • Star counts. Popularity is not a quality signal for this reader.
  • Visit counters.
  • "Made with [language]" badges. The install commands already tell them.
  • Shields that link to the project's own contributors page.

Two or three badges maximum. A header strip of eight badges is decoration.

Voice

Present tense. Active voice. Second person when addressing the reader directly ("you pass --json to enable..."). First person plural ("we," "our") is fine when describing what the project does as a collective action; it is not fine as a stand-in for hype ("we're excited to...", see above).

Short sentences. A README is read fast, often on mobile, often by someone deciding in twenty seconds whether to bookmark or close the tab. Long paragraphs signal that the author didn't cut.

No quotes from the team. No "what people are saying." No testimonials. If the project has users whose endorsement matters, they can write their own blog post linking to the project.

Anti-checklist

Before a README ships, read it once looking for these and cut each one:

  • Any sentence containing "robust," "powerful," "seamless," or any banned word above.
  • Any claim that isn't followed by a repro.
  • Any emoji in a header.
  • Any "coming soon."
  • Any em-dash used for emphasis rather than necessity.
  • Any paragraph longer than four sentences.
  • Any adjective stack of three or more.
  • Any "we're excited" or equivalent.
  • Any section the reader doesn't need to decide whether to install.

If the count of cut candidates is zero, the reviewer isn't looking hard enough. Look again.

When this skill should say no

  • Before shipping a README that calls the project "robust," "powerful," or "world-class." Stop. Either delete the word or replace it with evidence.
  • Before publishing a feature list where the features aren't demonstrated. Stop. Add repro commands or cut the claims.
  • Before adding a "coming soon" section. Stop. Ship it first or move it to a separate roadmap file.
  • Before accepting LLM-drafted README text unedited. Stop. Run the anti-checklist. Default LLM output will fail most of the bans above on the first draft.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.