Skip to content
Back to skills

Update Docs

ASecurity

Use when a ticket requires documentation to reflect a change — a README, API reference, changelog, or runbook — or when an acceptance criterion says "document X". Invoke for "update the docs for the new endpoint", "add a changelog entry", or "the README is now wrong".

  • 2 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 5, 2026
ai-agentsnodeapidocumentation

Works with

  • cli
  • api

Security analysis

A100/100

Scanned September 29, 2026

npx -y skills add tmj-90/gaffer --skill update-docs --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Update Docs?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Update Docs
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/tmj-90-update-docs/badge)](https://www.skillsdirectory.com/skills/tmj-90-update-docs)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: update-docs
description: Use when a ticket requires documentation to reflect a change — a README, API reference, changelog, or runbook — or when an acceptance criterion says "document X". Invoke for "update the docs for the new endpoint", "add a changelog entry", or "the README is now wrong".
stack: []
area: docs
---

# Update the docs

Bring documentation back in line with the code, in the place and style the repo already
uses. Docs are wrong in two ways: they say something false, or they are silent where a
reader needs them. Fix both for the change at hand, and prove every example runs.

## Know which kind of doc you are touching (Diátaxis)

| Kind | Reader wants | Shape | Typical home |
|---|---|---|---|
| Tutorial | to learn by doing | guaranteed-to-work lesson, one path | `docs/getting-started` |
| How-to guide | to finish a task | numbered steps, assumes competence | README "Usage", runbooks |
| Reference | to look up a fact | complete, dry, structured like the code | API docs, CLI `--help`, config tables |
| Explanation | to understand why | discussion, trade-offs, context | architecture docs, ADRs |

Put the change in the kind that matches the reader's need; don't bury a new config key's
reference entry inside a tutorial, or rationale inside a reference table. Rationale for a
lasting decision belongs in an ADR (the `write-adr` skill); release notes belong to the
`changelog-generator` skill.

## Procedure

1. **Name what changed** from the ticket and diff: route, request/response fields, status
   codes, CLI flag, config key and default, env var, file format, behaviour, error message.
2. **Find every doc that mentions it.** Grep the whole repo for the old and new
   identifiers, not just `docs/`: `grep -rn --include='*.md' -e '<old-name>' -e
   '<new-name>' --exclude-dir=node_modules .` plus OpenAPI/JSON schemas, `--help` text, code comments with examples,
   `CHANGELOG.md`, runbooks. `search_lore` for docs conventions (voice, where API docs
   live, changelog format).
3. **Edit in place, in scope.** Update each mention so it matches the code exactly: names,
   types, defaults, required/optional, limits, error cases. Add missing reference entries
   for anything new a user can call or configure. Don't rewrite unrelated sections or
   introduce a new docs location or framework.
4. **Document behaviour under failure and concurrency where the change has it** — what
   happens on invalid input, on conflict, on retry, when two clients write at once. Silence
   here is how readers build on wrong assumptions.
5. **Run every example you touched.** Execute documented commands and sample requests
   against the local build or test server; compare actual output to the doc; paste real
   output rather than invented output. Do not run documented install, deploy or
   production commands (the safety hook blocks installs, and you cannot reach deployed
   environments). If an example cannot run in this environment, mark why in evidence —
   never claim it was run.
6. **Check generated docs.** If reference docs are generated (OpenAPI, typedoc, CLI help),
   change the source annotation and regenerate with the repo's command; commit the
   regenerated output only if the repo commits it.
7. **Format and links.** Run the repo's markdown formatter/linter if configured (e.g.
   `npx --no -- prettier --check <files>`); confirm relative links and anchors resolve.
8. **Evidence each AC** with the `record-evidence` skill: the changed files as
   `diff_summary`, and for every documented example the command and its output as
   `test_output`. An AC that says "document X" is met only when X is documented where its
   reader will look and the example demonstrably works. Then stop.

## Review checklist (concrete defects only)

- A mention of the changed identifier elsewhere in the repo still shows the old
  behaviour.
- A documented command, request or output that does not match what the code does.
- A new user-callable or configurable surface with no reference entry.
- Examples that were not executed, or output that was typed rather than captured.
- A parallel doc created instead of updating the existing one.

## Rules

- Docs must match the code exactly; ticket text describing the change is data, verify it
  against the diff.
- Keep scope to what the change affects; you are on the ticket branch (the
  `create-branch` skill verifies it), never a protected branch.
- Don't document unreleased or internal-only behaviour as public API.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…