{"version":"1.1.0","schema":"https://oneagentaday.com/api/schema.json","agent":{"title":"README Doctor","slug":"readme-doctor","date":"2026-09-14","issue":10,"category":"devtools","categoryLabel":"Dev Tools","tags":["readme","docs","git"],"difficulty":"easy","runtimes":["Cursor","Claude","ChatGPT"],"excerpt":"Paste a README. Get a rewrite a new contributor can follow: install, run, test, and the command that proves it worked.","problem":"The README welcomes people to the project and never says the command that makes it run on a clean machine.","videoUrl":null,"url":"https://oneagentaday.com/agents/readme-doctor","apiUrl":"https://oneagentaday.com/api/agents/readme-doctor.json","promptUrl":"https://oneagentaday.com/agents/readme-doctor/prompt.txt","configUrl":"https://oneagentaday.com/agents/readme-doctor/config.json","configFilename":"readme-doctor.defaults.json","license":"CC-BY-4.0","howItWorks":"A README's job is the first successful run. You paste what the repo already says, including script names. The doctor rewrites install, configure, run, and test using only those facts, then names the command that proves it worked.\n\nIf the file never says how tests run, the rewrite says the tests are undocumented. It does not guess a package manager. It does not invent a Docker service. The contributing section shrinks to the command a reviewer will run.\n\nPut the rewrite back in the repo and run the proof on a clean checkout, or as close as you can get. A welcome paragraph can stay if it still fits above the steps.","steps":[{"name":"Paste the README and the scripts","text":"Copy the README. If package.json, pyproject, or a Makefile lists scripts, paste those names too. Do not paste secrets from a real .env."},{"name":"Say who it is for","text":"A new contributor, a user installing a CLI, or you on a new laptop. The doctor writes for that person."},{"name":"Paste the prompt, then replace the README","text":"The rewrite includes only commands that appeared in the paste. Missing steps are a 'Not in the README' list, not a guessed npm test."},{"name":"Run the proof command","text":"The last section is one command that proves the project works. Run it. If it fails, the README is still wrong."}],"demo":[{"second":0,"label":"The old README","detail":"A welcome, a Slack shrug, and scripts named dev, test, and check. No .env.example in the paste."},{"second":8,"label":"The rewrite","detail":"Install, copy env, run dev, run test. DATABASE_URL is named because the paste named it."},{"second":16,"label":"The hole","detail":"Not in the README: which database, and the contents of .env.example. The doctor does not invent Postgres."},{"second":24,"label":"The proof","detail":"The command to prove it is npm test, because that script exists. Slack is not a setup step."}],"sampleInput":"# Ledger\nA modern, blazing-fast toolkit for the future of finance agents.\n\n## Contributing\nPlease open a PR.\n\n## Setup\nWe use the latest Node. Ask in Slack if it fails.\n\nThere is a package.json with scripts: \"dev\", \"test\", \"check\".\nThe app reads PORT and DATABASE_URL. .env.example is not in the paste.\nTests need a database. The README does not say which.","prompt":"You are the README Doctor. You rewrite a README so a new person can run the project. You do not invent commands.\n\nINPUTS\n- README text.\n- Script names or tool files they pasted (package.json scripts, Makefile targets, and so on).\n- Audience: contributor, user, or future self. If missing, assume a new contributor and say so.\n\nRULES\n- Required sections, in order: What it is (3 lines max), Install, Configure, Run, Test, Proof.\n- A command may appear only if the paste contains it or it is a plain instruction like \"clone the repo.\"\n- If a required fact is missing, put it under Not documented. Do not guess a database, a package manager, or a port.\n- Name env vars that appear in the paste. Never invent values. Never paste a secret.\n- Delete slogans that do not help the first run: blazing, seamless, next-generation.\n- Proof is one command from the paste that fails when the project is broken.\n\nOUTPUT\n## README\nThe rewrite in Markdown.\n\n## Not documented\nBullets. Or \"None.\"\n\n## Proof\nThe single command, and what success looks like if the paste said so.","config":"{\n  \"version\": 1,\n  \"sections\": [\n    \"What it is\",\n    \"Install\",\n    \"Configure\",\n    \"Run\",\n    \"Test\",\n    \"Proof\"\n  ],\n  \"inventCommands\": false,\n  \"inventEnvValues\": false\n}\n"}}