agentsclimarketplace

Documenting changes

Skill cloudfieldcz/cf-powers/skills/documenting-changes

Use when implementation of a feature, fix, or refactor is finished, before claiming work complete or starting merge/PR — any change that may affect docs/, README, CHANGELOG, or inline docstrings/JSDocFrom its SKILL.md

Install
npx -y skills add cloudfieldcz/cf-powers --skill documenting-changes

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 7 stars7 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

6.1 KB, as published. Nobody here has run it

Documenting Changes

Overview

Code without matching documentation rots into "what does this do?" within weeks. Catch drift the moment implementation finishes, while the change is still in your head.

Core principle: When code changes, the docs that describe it must change too — or you must say why not.

This is a soft gate. It surfaces affected docs and prompts the user. It does not block completion. The user decides: update now, defer, or skip.

Announce at start: "I'm using the documenting-changes skill to keep docs in sync."

When to Use

Always run before:

  • Claiming a feature/fix is "done"
  • Step 1.5 of finishing-a-development-branch
  • Creating a PR for a feature, refactor, or bugfix

Skip only when:

  • Pure cosmetic changes (formatting, whitespace, comment typos)
  • The user has explicitly said "no docs needed for this"

The Process

Step 1: Inventory the Change

git diff <base>...HEAD --stat
git diff <base>...HEAD -- '*.md'   # what's already covered

Answer:

  • Public surface changed? — API, CLI flags, config keys, env vars, schemas, slash commands, hooks, plugin manifest
  • Workflow/behavior changed? — install steps, defaults, error messages, ordering
  • New things appeared? — new feature, module, command, skill, script

Step 2: Map Each Change to Doc Locations

For each change identified, walk all five layers:

LayerWhat to check
docs/Architecture, guides, references, ADRs, plans
README.mdOverview, install, quick-start, feature list (root + subdirectory READMEs)
CHANGELOG.md / release notesEntry under current/next version
Inline (JSDoc, TSDoc, docstrings, Go doc comments)Signatures, parameter docs, examples at definition sites
Plugin/skill metadata.claude-plugin/*, skills/*/SKILL.md description fields, version fields

Step 3: Decide per Change

Each change resolves to exactly one of:

  1. UPDATE — touches user-visible surface or modifies existing documented behavior → write the update
  2. CREATE — entirely new feature with no existing doc home → create new file (and link from index/README)
  3. SKIP — internal-only change → must give a one-line justification naming the specific module and confirming no public surface changed

"Internal" alone is not a justification. "Refactored cache eviction in src/internal/cache.ts; no exported API, config, or behavior changed" is.

Step 4: Present to User (Soft Gate)

Documentation review for this work:

UPDATES NEEDED:
- docs/architecture.md — describe new event flow
- README.md — add "MyFeature" to feature list
- CHANGELOG.md — entry for v1.6.0

NEW DOCS:
- docs/guides/myfeature.md — usage guide for new MyFeature

INLINE:
- src/api/handler.ts — JSDoc on handleRequest() reflects new param

SKIPPED (internal-only):
- src/internal/cache.ts refactor — no public surface or behavior change

Update docs now (recommended), defer, or skip?

Wait for the user's choice.

  • Now → apply updates, then re-run verification (lint/build/test) since docs changes can include code samples.
  • Defer → record the gap explicitly: file an issue, add a TODO(docs) comment at the change site, or note "docs pending" in the CHANGELOG/PR body. Don't let it disappear.
  • Skip → fine for internal-only work; the justification you produced in Step 3 stays in your reply for the record.

Quick Reference

Change typeLikely doc actions
New public API/CLI flagUPDATE README + CHANGELOG + inline docstring; consider docs/ guide
New feature (user-facing)CREATE docs/guides/<name>.md + UPDATE README feature list + CHANGELOG
Behavior change of existing featureUPDATE relevant docs/ page + CHANGELOG; check README quick-start
Renamed/removed exportUPDATE inline docs at new site + CHANGELOG (breaking?) + grep docs/ for old name
Bugfix (no behavior change beyond fix)CHANGELOG entry; SKIP rest with justification
Internal refactorSKIP all with one-line justification per affected module
New skill / plugin commandCREATE SKILL.md or command doc + UPDATE plugin manifest + CHANGELOG

Common Mistakes

Skipping inline docs

  • Problem: Function signature changed but docstring still describes old params
  • Fix: grep for the symbol you changed and check the doc comment at its definition

"I'll update docs in a follow-up PR"

  • Problem: Follow-up PRs for docs rarely happen; drift compounds
  • Fix: Update in same change. If truly impossible, file an issue with a deadline before merging.

Updating only docs/

  • Problem: README.md and inline docs still show old usage; users hit them first
  • Fix: Walk all five layers every time, even if most resolve to SKIP

Vague justification for skip

  • Problem: "internal change" is a label, not a reason
  • Fix: Name the file/module and the surface that did NOT change

New feature with no doc home

  • Problem: Adding a feature but updating only CHANGELOG — no place a user can learn how to use it
  • Fix: CREATE a docs/guides/<name>.md and link from README, even if short

Red Flags

  • About to claim "done" without having looked at docs/
  • Edited a function but didn't open its docstring
  • Added a new feature with no entry in README or docs/
  • "The code is self-documenting" (often true at unit level, almost never true for user-facing features or workflows)
  • Skipping with no justification, or justification that just repeats "internal"

Integration

Called by:

  • finishing-a-development-branch (Step 1.5) — between test verification and presenting merge/PR options
  • verification-before-completion — completion claims include "docs reviewed"

Independent invocation: Any time after a non-trivial change, even mid-work, to keep drift from accumulating.

Keep looking

Skills are one crate of 627,801. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.