{
 "schema": "aiblocks-page/1",
 "id": "monthly-developer-docs-keeper",
 "type": "agent",
 "name": "Developer documentation reviewer",
 "summary": "Check project docs against code and recent releases. Get broken setup steps, stale claims and proposed fixes.",
 "headline": "Developer documentation reviewer",
 "subhead": "Share the repository, docs, history and release tags. It checks setup steps in the available environment, compares changed code with related docs and drafts the needed updates. You get test evidence, docs fixes and a release-limited changelog. Missing tools or release evidence stay visible; nothing is merged or published by the review.",
 "job": {
  "id": "document-work",
  "name": "Write down how work gets done"
 },
 "level": "intermediate",
 "thinking": "high",
 "tested": true,
 "updated": "2026-11-03",
 "first_published": "2026-10-21",
 "inputs": [
  {
   "type": "codebase",
   "required": true,
   "label": "Codebase",
   "what": "a project's code, in a folder or repo the AI can open"
  },
  {
   "type": "document",
   "required": false,
   "label": "Document",
   "what": "a finished document, such as a Word file, a PDF or a page of notes"
  },
  {
   "type": "api_spec",
   "required": false,
   "label": "Api spec",
   "what": "an API's spec, such as an OpenAPI file: the endpoints, data shapes, sign-in method and errors"
  },
  {
   "type": "question",
   "required": true,
   "label": "Question",
   "what": "the problem, decision or piece of work you want help with, and what a good outcome looks like"
  }
 ],
 "outputs": [
  {
   "type": "audit_report",
   "required": true,
   "label": "Audit report",
   "what": "findings with evidence, severity, missing inputs and next actions"
  },
  {
   "type": "test_report",
   "required": true,
   "label": "Test report",
   "what": "what was tested, what passed, what failed and why"
  },
  {
   "type": "document",
   "required": true,
   "label": "Document",
   "what": "a finished document, such as a Word file, a PDF or a page of notes"
  }
 ],
 "you_give": [
  "Your repo with its README, docs, changelog, API spec and the month's git history",
  "Docs that live outside the repo, such as a wiki page (optional)",
  "The release tags for the month (advised)",
  "Last month's keeper file, once it exists"
 ],
 "you_get": [
  "Each README step marked working or broken, with proof and the edit",
  "Every doc that disagrees with the code, with file and line",
  "New modules and endpoints with no doc",
  "A changelog draft for the month's releases, grouped into added, changed and fixed",
  "Proposed rewrites for docstrings, the API spec and the glossary",
  "A map of which doc covers which code, kept current"
 ],
 "use_when": [
  "Other people build on or install your code and keep hitting the same broken step.",
  "Your changelog stopped months ago and the spec does not match the API.",
  "You want docs checked on a schedule instead of when someone complains."
 ],
 "skip_when": [
  "You want a one-off review of a single release: ask the Software release verification coordinator, or read that release's notes yourself.",
  "Nobody installs or builds on your repo: a short note in the README is enough, so skip a monthly check.",
  "You want the docs published or merged for you: this agent only proposes changes, so a person must commit them."
 ],
 "output_sample": {
  "input": [
   "Your repo with its README, docs, changelog and API spec",
   "The month's git history and release tags",
   "Docs that live outside the repo, such as a wiki page (optional)",
   "Last month's keeper file, once it exists (optional)"
  ],
  "prerequisites": [
   "An AI that can read your repo and run commands, such as Claude Code",
   "A clean virtual machine or container to run the README install steps in"
  ],
  "output": [
   {
    "name": "This month in one line",
    "contains": "README steps passed and broken, docs drifted, endpoints out of spec, compared with last month."
   },
   {
    "name": "Broken first",
    "contains": "Each README step that failed, with the proof and the edit that fixes it."
   },
   {
    "name": "Drifted docs",
    "contains": "Each false claim, with the doc, the code file and line, and the fix."
   },
   {
    "name": "Undocumented",
    "contains": "New modules or endpoints that have no doc yet."
   },
   {
    "name": "Changelog draft",
    "contains": "The month's released changes grouped into added, changed and fixed, in plain words."
   },
   {
    "name": "Proposed rewrites",
    "contains": "Docstring, usage guide, API spec and glossary changes, each as a diff or a file."
   },
   {
    "name": "The map",
    "contains": "Which doc covers which code, kept current."
   },
   {
    "name": "Files and missing",
    "contains": "Each step's file, every MISSING line, and a CHECKS MISSED line."
   }
  ]
 },
 "output_shape": "THIS MONTH\n  README <n> passed, <n> broken (last <n>) | docs drifted <n> | endpoints out of spec <n> | undocumented <n>\n\nBROKEN FIRST\n  step <n>: \"<command>\" | failed: <error> | proof: <output> | edit: <what>\n\nDRIFTED DOCS\n  <doc> | says: \"<claim>\" | code: <file>:<line> says <what> | fix: <what>\n\nUNDOCUMENTED\n  <module or endpoint> | added <date> | no doc\n\nCHANGELOG DRAFT (<version>, <date>)\n  Added: <item> | Changed: <item> | Fixed: <item>\n\nPROPOSED REWRITES\n  <file> | <docstrings | usage guide | spec | glossary> | diff below\n\nTHE MAP\n  <doc> -> <code paths>\n\nFILES AND MISSING\n  <each step's file> | MISSING: <every line>",
 "how_to_use": [
  "Start a chat with the agent. In Claude Code, add it as a skill or save it in .claude/agents, then point it at the repo.",
  "Tell it which releases shipped this month, or let it read the tags.",
  "Read the broken README steps first. Fix those before anything else.",
  "Review the proposed rewrites and the changelog draft. Commit and publish what you approve yourself.",
  "Run it again on the first Tuesday of next month. It re-tests what you fixed."
 ],
 "checks": [
  "Every README step has a mark and proof.",
  "Every drifted doc names the code file and line.",
  "The changelog covers only released work.",
  "The spec was matched to the code, not to a bug.",
  "Nothing was committed or published."
 ],
 "steps": [
  {
   "position": 1,
   "id": "readme-first-run-tester",
   "name": "README first-run tester",
   "summary": "Check your README first-run steps against your repo. See each step marked working or broken, with proof and the edits that fix it.",
   "url": "https://useaiblocks.com/skills/readme-first-run-tester"
  },
  {
   "position": 2,
   "id": "documentation-checker",
   "name": "Documentation accuracy reviewer",
   "summary": "Check documentation claims against the actual code. Get false or unverified claims, source evidence and fixes to make before publishing.",
   "url": "https://useaiblocks.com/skills/documentation-checker"
  },
  {
   "position": 3,
   "id": "changelog-entry-writer",
   "name": "Changelog entry writer",
   "summary": "Share a commit range or pull request. Get a release entry grouped by what changed.",
   "url": "https://useaiblocks.com/skills/changelog-entry-writer"
  },
  {
   "position": 4,
   "id": "code-documentation-writer",
   "name": "Code documentation writer",
   "summary": "Turn source files and tests into docstrings, README files, and usage examples in your project's style.",
   "url": "https://useaiblocks.com/skills/code-documentation-writer"
  },
  {
   "position": 5,
   "id": "api-spec-writer",
   "name": "API spec writer",
   "summary": "Share routes, code or an API description. Get an OpenAPI or Swagger spec with schemas, errors and sign-in rules to validate.",
   "url": "https://useaiblocks.com/skills/api-spec-writer"
  },
  {
   "position": 6,
   "id": "project-glossary-writer",
   "name": "Project glossary writer",
   "summary": "Build a project glossary by talking through your terms. Your AI flags clashing words and writes down the agreed ones, plus short decision records.",
   "url": "https://useaiblocks.com/skills/project-glossary-writer"
  }
 ],
 "next": [
  {
   "name": "Developer docs writer",
   "url": "https://useaiblocks.com/skills/developer-docs-writer",
   "why": "Developer docs writer"
  },
  {
   "name": "SOP and runbook checker",
   "url": "https://useaiblocks.com/skills/sop-and-runbook-checker",
   "why": "SOP and runbook checker"
  },
  {
   "name": "Process guide revision reviewer",
   "url": "https://useaiblocks.com/skills/process-doc-freshness-keeper",
   "why": "Process guide revision reviewer"
  }
 ],
 "source": null,
 "credits": [],
 "files": [],
 "links": {
  "page": "https://useaiblocks.com/agents/monthly-developer-docs-keeper",
  "markdown": "https://useaiblocks.com/agents/monthly-developer-docs-keeper.md",
  "json": "https://useaiblocks.com/agents/monthly-developer-docs-keeper.json",
  "instructions": "https://useaiblocks.com/skills/monthly-developer-docs-keeper/SKILL.md",
  "api_item": "https://useaiblocks.com/api/v1/items/monthly-developer-docs-keeper",
  "api_document": "https://useaiblocks.com/api/v1/documents/agent/monthly-developer-docs-keeper",
  "mcp": "https://useaiblocks.com/mcp"
 }
}
