hallmark-readme
Skill1 starsChanged 3 months agoMITView on GitHub
Use when a user asks for a project README, wants an existing README that reads as AI-generated fixed, or you are about to write a README for any project.
In this repository58 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- api-test-suiteSkill
- ascii-artSkill
- caddy-reverse-proxySkill
- changelog-generatorSkill
- color-palette-generatorSkill
- cron-taskSkill
- csv-toolkitSkill
- discord-bot-buildSkill
- docker-umbrellaSkill
- dotfiles-manageSkill
- email-sendSkill
- env-config-managerSkill
- excalidraw-diagramSkill
- file-organizerSkill
- forgejo-self-hostSkill
- frontend-design-toolkitSkill
- generate-dockerfileSkill
- gif-searchSkill
- git-backupSkill
- github-actions-ciSkill
- http-api-testerSkill
- invoice-generatorSkill
- json-formatterSkill
- log-analyzerSkill
- markdown-linterSkill
- markdown-to-pdfSkill
- markdown-to-slidesSkill
- mcp-server-buildSkill
- media-id-mappingSkill
- movie-catalogue-siteSkill
- movie-night-calendarSkill
- ntfy-notifierSkill
- ocr-documentsSkill
- ollama-localSkill
- openapi-generatorSkill
- password-generatorSkill
- pdf-extractSkill
- portfolio-upkeepSkill
- qr-code-generatorSkill
- regex-testerSkill
- resume-builderSkill
- rss-monitorSkill
- searxng-self-hostSkill
- skill-publishSkill
- skill-registry-catalogSkill
- skills-portfolio-scaffoldSkill
- snippet-managerSkill
- sqlite-dashboardSkill
- streaming-provider-embedsSkill
- tailscale-deploySkill
- telegram-bot-buildSkill
- tmdb-metadataSkill
- uptime-kuma-self-hostSkill
- watchlist-syncSkill
- webhook-receiverSkill
- youtube-transcriptSkill
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
- Distinctive: line 47
Never fabricate numbers. If the user didn't supply a metric, don't invent one.
- Distinctive: line 56
If a section needs a metric and you don't have one, use a different structure.
- Distinctive: line 91
Write in first person or direct second person.
- Distinctive: line 101
Every README must have at least one concrete, runnable example.
- Distinctive: line 122
Before writing anything, read:
- Distinctive: line 154
Only add sections that carry real information:
- Distinctive: line 167
Read the README aloud. If any sentence sounds like it could appear in any other project's README, rewrite it.
- Distinctive: line 175
Invented limitations: Don't write "None known" in the limitations section.
≈ “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.
Files
hallmark-readme
Overview
Write a README that doesn't read like it was generated by an LLM. Most AI-written READMEs share the same tells: generic headings, filler phrases, invented metrics, templated structure, no voice. This skill encodes the rules that produce READMEs which sound like a person wrote them.
When to Use
- The user asks for a README for their project.
- The user wants to improve an existing README that reads as AI-generated.
- The user says "write a readme", "make my readme better", or "this readme sounds like AI wrote it".
- Any time you're about to write a README — default to this skill.
Rules
1. No filler phrases
Banned words and phrases (never use these):
| Banned | Use instead |
| empower, empowering | (delete — the verb does the work) |
| seamless | (delete — nothing is seamless) |
| leverage | use |
| robust | (delete — show it with specifics) |
| cutting-edge, state-of-the-art | (delete — let the reader judge) |
| comprehensive | (delete — the structure shows comprehensiveness) |
| powerful | (delete — show power with specifics) |
| "built with love" | (delete) |
| "designed for developers" | (delete — who else would it be for?) |
| "in today's fast-paced world" | (delete — always) |
2. No invented metrics
Never fabricate numbers. If the user didn't supply a metric, don't invent one.
| Wrong | Right |
| "Trusted by 50,000+ developers" | (omit — or use the real number if the user provided it) |
| "10x faster than alternatives" | (omit — or cite a real benchmark) |
| "Used by teams at Google, Meta, Stripe" | (omit — unless the user confirmed these) |
| "Increases productivity by 47%" | (omit — or cite the study) |
If a section needs a metric and you don't have one, use a different structure. A feature list doesn't need a metric. A comparison table doesn't need a metric. Skip it.
3. No templated structure
AI READMEs all follow the same shape: Title → Badges → Tagline → Features → Installation → Usage → Contributing → License. Break this pattern.
Real READMEs vary:
- A CLI tool README leads with installation and a one-line example, not features.
- A library README leads with the problem it solves, not badges.
- A skill README leads with what the agent + skill delivers, not a tagline.
- A small project README can be 20 lines. Don't pad it to 200.
4. Honest about limitations
Name what the project doesn't do. This is the single most reliable signal that a human wrote the README — LLMs avoid limitations.
| Wrong | Right |
| "Works with any framework" | "Works with React and Vue. Svelte support is planned." |
| "Production-ready" | "Used in production by the author. Not yet tested at scale." |
| (no limitations section) | A "Limitations" or "Known Issues" section with real items |
5. Real structure, not generic headings
| Generic (AI tell) | Specific (human signal) |
| ## Features | ## What it does |
| ## Getting Started | ## Install |
| ## Usage | ## How to use (with a concrete example) |
| ## Contributing | ## For contributors (only if the project accepts contributions) |
| ## FAQ | (only if there are actually frequently asked questions) |
6. Voice
Write in first person or direct second person. Not corporate third person.
| Wrong | Right |
| "This project enables developers to..." | "You get a running service on your tailnet." |
| "The tool provides functionality for..." | "The agent deploys your app and gives you a URL." |
| "It is recommended that users..." | "Run this before you start." |
7. Examples are concrete
Every README must have at least one concrete, runnable example. Not a placeholder. Not a "TODO: add example". A real command or code block the reader can copy and run.
| Wrong | Right |
my-tool --input <file> --output <file> | my-tool --input data.csv --output cleaned.json |
| "See the docs for usage examples" | A 5-line code block that does something real |
| "TODO: add example" | (write the example) |
8. No badge spam
Badges are fine in moderation. AI READMEs pile on 8-12 badges (CI, coverage, npm, downloads, stars, license, contributions welcome, good-first-issues, Discord, Twitter). Use at most 3, and only if they carry real information:
- License badge: yes (MIT/Apache/etc.)
- CI badge: yes (if CI exists and passes)
- Version badge: yes (if published to a registry)
- Everything else: skip unless it adds real signal
Workflow
Step 1: Read the project
Before writing anything, read:
- The project's
package.json,pyproject.toml, or equivalent (name, description, dependencies) - The source code's entry point (what does it actually do?)
- Any existing README (what needs fixing?)
- The license file
Step 2: Identify the audience
Who reads this README? A stranger on GitHub. They have 10 seconds to decide if this project is worth their time. The first 3 lines must tell them what it does and whether it's relevant.
Step 3: Write the first 3 lines
Title (the project name). One-sentence description (what it does, not what it is). One-sentence "who is this for" or "what you get".
# tailscale-deploy
Deploy a service on your Tailscale tailnet so it's privately accessible from any of your devices.
## What it does
The agent deploys a web service onto your Tailscale tailnet. The service becomes reachable
from your laptop, phone, and any other device on your tailnet. No public exposure, no port
forwarding, no cloud relay.Step 4: Add install + one example
Install instructions. One concrete example. These go near the top — not buried after features.
Step 5: Add the rest
Only add sections that carry real information:
- What it does (2-3 sentences)
- Install (code block)
- How to use (concrete example)
- Prerequisites (if any)
- What you get (table or list, if useful)
- Limitations (always — what doesn't it do?)
- License
Skip sections that would be empty or filler. A README with 5 useful sections is better than one with 10 sections where 5 are filler.
Step 6: Run the slop check
Read the README aloud. If any sentence sounds like it could appear in any other project's README, rewrite it. If any section could be deleted without losing information, delete it.
Common Pitfalls
- Leading with badges, not content. Badges are decorative. The first thing the reader sees should be what the project does, not a row of SVG badges.
- Describing what it is, not what it does. "A Python library for..." tells the reader nothing. "You get a running service on your tailnet" tells them what they get.
- Overlong READMEs. A README is not documentation. Link to docs for deep content. Keep the README scannable in under 2 minutes.
- No example. A README without a runnable example forces the reader to read the source to understand the project. Always include one.
- Invented limitations. Don't write "None known" in the limitations section. If you can't name a real limitation, you don't understand the project well enough to write the README.
Verification Checklist
- No banned filler words (empower, seamless, leverage, robust, cutting-edge, comprehensive, powerful) appear anywhere in the README
- Every number or metric in the README was supplied by the user or is independently verifiable — none invented
- At least one concrete, runnable example (real command or code, not a placeholder) is present
- A "Limitations" or equivalent section names at least one real limitation
- The structure isn't the generic Title → Badges → Tagline → Features → Installation → Usage → Contributing → License template
- Read aloud: no sentence could be copy-pasted unchanged into another project's README
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
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.

