What
PR #4097 renamed 13 files under docs/ to lower-kebab-case and swept their references by hand. Running the new docs-hygiene file-name skills from PR #4133 against that PR's pre-rename tip (7eb1f628) reproduces its 13 renames exactly, and edits six files the hand sweep did not:
.claude/unhobble/claude-code-plugins-fable-5-1-20260908-15744de6/evidence/decision-fable.md
.claude/unhobble/claude-code-plugins-fable-5-1-20260908-15744de6/evidence/decision-opus.md
.claude/unhobble/claude-code-plugins-fable-5-1-20260908-15744de6/evidence/research-D1-user-scope.md
.claude/unhobble/claude-code-plugins-fable-5-1-20260908-15744de6/evidence/research-D2-conventions.md
.claude/unhobble/claude-code-plugins-fable-5-1-20260908-15744de6/evidence/research-D3-state-durability.md
docs/specs/native-overlap-route-to-compose.md
Every site is a backtick path or a markdown link naming a file that no longer exists at that spelling: docs/CLOUD-SESSIONS.md, docs/PLUGIN-PHILOSOPHY.md, docs/CI-RUNNER-ROUTING.md, docs/NATIVE-SURFACES.md. They are stale on main today.
Why the sweep missed them
.claude/unhobble/** is not under docs/, and the hand sweep was scoped by the rename set's own citations rather than by a configured root plus a tier model. docs/specs/** was in scope but the two sites sit inside a long inline file list and a wide table row.
Fix
Both trees are the historical tier in .claude/docs-hygiene.json (links-and-paths), so the right change repoints the links and backtick paths and leaves the surrounding narrative exactly as written. Confirmed on the reproduction: with that tier in place, the narrative bare stem PLUGIN-PHILOSOPHY 801-805 inside a sentence recording what a reviewer argued is preserved, while every citation is repointed.
Reproducible in one pass once #4133 lands:
/docs-hygiene:audit-file-names
/docs-hygiene:realign-file-names <the ids it proposes>
The audit proposes no rename here (the files themselves are already correctly named); this is the reference sweep alone.
What
PR #4097 renamed 13 files under
docs/to lower-kebab-case and swept their references by hand. Running the newdocs-hygienefile-name skills from PR #4133 against that PR's pre-rename tip (7eb1f628) reproduces its 13 renames exactly, and edits six files the hand sweep did not:.claude/unhobble/claude-code-plugins-fable-5-1-20260908-15744de6/evidence/decision-fable.md.claude/unhobble/claude-code-plugins-fable-5-1-20260908-15744de6/evidence/decision-opus.md.claude/unhobble/claude-code-plugins-fable-5-1-20260908-15744de6/evidence/research-D1-user-scope.md.claude/unhobble/claude-code-plugins-fable-5-1-20260908-15744de6/evidence/research-D2-conventions.md.claude/unhobble/claude-code-plugins-fable-5-1-20260908-15744de6/evidence/research-D3-state-durability.mddocs/specs/native-overlap-route-to-compose.mdEvery site is a backtick path or a markdown link naming a file that no longer exists at that spelling:
docs/CLOUD-SESSIONS.md,docs/PLUGIN-PHILOSOPHY.md,docs/CI-RUNNER-ROUTING.md,docs/NATIVE-SURFACES.md. They are stale onmaintoday.Why the sweep missed them
.claude/unhobble/**is not underdocs/, and the hand sweep was scoped by the rename set's own citations rather than by a configured root plus a tier model.docs/specs/**was in scope but the two sites sit inside a long inline file list and a wide table row.Fix
Both trees are the
historicaltier in.claude/docs-hygiene.json(links-and-paths), so the right change repoints the links and backtick paths and leaves the surrounding narrative exactly as written. Confirmed on the reproduction: with that tier in place, the narrative bare stemPLUGIN-PHILOSOPHY 801-805inside a sentence recording what a reviewer argued is preserved, while every citation is repointed.Reproducible in one pass once #4133 lands:
The audit proposes no rename here (the files themselves are already correctly named); this is the reference sweep alone.