chore(development-productivity): rename /update-claude-md command to /sync-claude-md - #554
chore(development-productivity): rename /update-claude-md command to /sync-claude-md#554dylanschmittle-uniswap wants to merge 1 commit into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
📚 Documentation Check ❌Verdict: Failed Files in packages/plugins/development-productivity/ were modified (command renamed from update-claude-md.md to sync-claude-md.md, plugin.json commands array updated) but the plugin version in .claude-plugin/plugin.json was not bumped from 2.4.1. Per repo CLAUDE.md, renaming a command is an explicit Major-bump trigger, and fail_on_missing_version is true. SummaryThis PR renames the Blocking issue: All actual plugin-component changes (command file rename, Non-blocking: The version table in root No issues found with the CLAUDE.md cross-references elsewhere in the repo — they consistently and correctly reflect the new Missing Updates
Suggestions (3)
🤖 Generated by Claude Documentation Validator | Mode: |
ab799b8 to
9f9cfae
Compare
|
Closing per author request — the 22-file breaking rename isn't wanted. The commands-vs-skills audit finding that motivated it is captured in #553; the naming ambiguity between the three CLAUDE.md-maintenance entry points remains open and unaddressed. |
What
Renames the
development-productivitycommand/update-claude-md→/sync-claude-md, updating all 22 references including two live hook scripts and the plugin manifest.Why
Three different things were named some variant of "update claude md", and one name was shared outright:
/update-claude-mdcommand (this plugin)update-claude-docsskill (this plugin)update-claude-mdskill (Uniswap backend repo)The first and third shared a name while doing unrelated work. Plugin namespacing (
development-productivity:update-claude-md) mitigated it at the call site, but not for model-side selection — with three same-named entries, picking the right one came down to guessing.sync-claude-mdalso describes what the command actually does, which the old name did not.Surfaced by a commands-vs-skills audit of the toolkit (see #553 for the other finding).
The part worth reviewing carefully
The rename is mechanical but it reaches two live hook scripts, either of which would have broken silently:
scripts/lefthook/update-claude-docs.sh— shells out toclaude -p "/update-claude-md"from a git hookpackages/plugins/development-productivity/hooks/claude-md-maintenance.sh— Stop hook whose reminder text tells Claude which command to runAnd the plugin manifest lists commands explicitly:
Missing that would have unregistered the command entirely — a rename that "worked" everywhere except actually loading. It's updated and
plugin.jsonre-validates as JSON.Changes
git mv commands/update-claude-md.md → commands/sync-claude-md.md, withname:frontmatter updated/update-claude-mdupdated to/sync-claude-md— mostly the boilerplate CLAUDE.md footer ("Claude Code MUST run /sync-claude-md before presenting results"), pluslefthook.yml,docs/guides/claude-integration.md, the pluginREADME.mdandCLAUDE.md, andcommands/claude-init-plus.md's cross-referenceconstraint, or workflow decision.appeared twice)Deliberately not renamed: two references in
skill-management/skills/skill-doctor/SKILL.mdthat say "a standing rule → anupdate-claude-mdskill". Those point at the backend skill (entry 3 above), not this command, and are now more accurate rather than less.Blast radius
22 files, all markdown / shell / JSON. No TypeScript, no tests, no CI workflow logic. Behaviour of the command itself is unchanged — same frontmatter contract, same
$ARGUMENTS, same workflow.Breaking for callers, which is the whole point: anyone with
/update-claude-mdin muscle memory, a personal alias, or an external script gets "command not found" and needs to switch to/sync-claude-md. Both in-repo callers are updated here. Worth a heads-up in whatever channel announces toolkit changes.Validation
grep -rn '/update-claude-md'→ 0 remaining across*.md,*.sh,*.ymlgrep -rn 'update-claude-md'in the plugin → 0 remaining (only the intentional skill-doctor references elsewhere)plugin.jsonparses and lists./commands/sync-claude-md.mdgit mvused, so history follows the file/sync-claude-mdonce and letting the lefthook path fire before mergeLeft as a draft for review; happy to drop the rename and keep only the disambiguation table if the breaking change isn't wanted.