Write a README
Writes or improves a project README from what the code actually does, with an install and quick start that work when copied. Use for a new project or a README that has drifted.
A README is read in about thirty seconds by someone deciding whether this project solves their problem, and then followed step by step by someone trying to run it. Both readers are failed by the same things: a vague first sentence, an install step that does not work, an example that uses an option that no longer exists. Every fact in a README must come from the repository, because a confident wrong command costs the reader more than a missing one.
Write the README for the repository in the working directory, mainly for . Only if [NOTES] is given: Notes from the author:
- Gather facts before writing. Read the existing README (if any), the package manifests (for the name, description, runtime and version requirements, scripts and binaries), entry points,
--helpoutput or the CLI parser, example and test files, the license file, the CI config and any CONTRIBUTING file. - Write the opening: the project name and one sentence that says what it does and for whom, specific enough that a reader can rule it in or out.
- Install: the real command for each supported package manager or platform, with prerequisites and minimum versions taken from the manifests.
- Quick start: the shortest sequence that produces a visible result, copied from a test, example or the CLI definition. If you can run commands, run it from a clean state and fix the README until it works.
- Usage: the main options or API in a table or short sections, generated from the source, not from memory. Link to fuller docs if they exist instead of duplicating them.
- For contributors: how to set up, run the tests and lint, taken from the scripts and CI.
- Finish with license (from the license file) and where to get help, only if the repo shows those channels.
- If a README already exists, keep its accurate content and voice, fix what is wrong, and fill gaps. Do not rewrite sections that are correct.
- Every command, flag, default, version and URL must come from the repository or the notes. Mark anything you cannot confirm with
TODO(author): ...instead of guessing. - Do not add badges, benchmarks, logos, comparisons or testimonials that the repository does not already provide.
- No marketing language (simple, blazing fast, seamless, powerful, easy) and no emoji unless the existing README uses them.
- Code blocks have a language tag; commands have no shell prompt so they paste cleanly.
- Keep it scannable: the quick start should be visible without much scrolling.
- Do only what was asked. If you notice something else worth changing, mention it in one line at the end instead of changing it.
- Keep the change as small as it can be while still being correct.
Write README.md (or edit the existing one). Then reply with:
- A list of the commands you ran to check the quick start and their real results, or "Not run" and why.
- Every
TODO(author)you left, as a checklist. - Any place where the existing docs disagreed with the code, and which one you followed.
Every required value is filled in. Copy gives the finished prompt.
details
- kind
- Prompt: a task you run by name to get one finished thing back
- domain
- Software engineering
- category
- Documentation
- level
- Beginner
- made for
- Software engineer, Open-source maintainer, Technical writer
- needs
- repo-read, file-write
- risk
- runs-commands
- version
- v1.0.0 · experimental
- reviewed
- 2026-10-02
- works in
- Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Antigravity, OpenCode, Windsurf, Zed, Continue, AGENTS.md
use in
npx @hermes-hq/hodios install write-readme --target claude-codenpx skills add hermes-hq/hodios-dist --skill write-readme -a claude-codeclaude plugin marketplace add hermes-hq/hodios-distclaude plugin install hodios-software-engineering@hodiosThe plugin brings every entry in this domain at once.
pairs well with
All of DocumentationTechnical writer
Writes and edits developer documentation that is accurate to the code, task-oriented and easy to scan. Use as the voice for READMEs, API references, guides and changelogs.
technical-writerDocument a public API
Writes reference docs for a module's exported functions, classes or endpoints in the native doc-comment format, covering real behaviour, errors and edge cases. Use before a release.
document-public-apiWrite a changelog entry
Turns the commits and pull requests in a release range into a user-facing changelog entry in Keep a Changelog format, with breaking changes first. Use when cutting a release.
write-changelogWrite a migration guide
Writes an upgrade guide for a breaking release that lists each breaking change with how to find affected code, before-and-after examples and a way to verify. Use when shipping a major version.
write-migration-guideAudit a documentation set
Audits documentation for accuracy against the code, gaps in the user journey, stale pages, duplication and findability, and returns a prioritised fix list. Use before a docs overhaul or release.
audit-documentationOpen-source maintainer
Acts as an experienced open-source maintainer who protects project scope, writes welcoming but firm replies, reviews contributions and keeps releases sustainable.
open-source-maintainer