You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs(upgrade): warn that v2 → v3 needs the compat plugins first (#135)
Claude Code namespaces commands by the plugin manifest name, so pre-v3
versions shipped /elixir-phoenix:* while /phx:init wrote /phx:* into
CLAUDE.md. v3.0.0 fixed that by renaming the manifest to phx, and in the
same commit declared ecto and lv as dependencies.
Adding a dependency turns out to be a breaking change for installed
users. claude plugin update does not install dependencies a new version
newly declares, and a missing dependency is a hard load failure, so a
plain /plugin update leaves the plugin at "failed to load" with all 36
/phx:* commands gone. Verified on Claude Code 2.1.234, so this is not
the 2.1.76-2.1.109 band found during #130 - it hits every v2 user on
every Claude Code version, and nothing self-heals because auto-update is
off by default for non-Anthropic marketplaces.
The README's staged upgrade block was already correct but called the
failure "a missing-dependency state" and sat below the fold. It now
leads with a warning, states the blast radius in commands lost, declares
the 2.1.110 floor, adds a recovery path for anyone who already updated
in the wrong order, and explains the prefix history.
Also: the release skill gains an Iron Law and template for hoisting
upgrade warnings to the top of the release body, and make validate now
covers all five manifests instead of two - the same gap that let
displayName ship in four manifests while CI checked one.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: .claude/skills/release/SKILL.md
+3-2Lines changed: 3 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -24,6 +24,7 @@ consistent. **Contributor tooling — not shipped in the plugin.**
24
24
6.**ALWAYS leave a fresh empty `## [Unreleased]`** — one `[Unreleased]` becomes one version heading; re-add an empty one on top.
25
25
7.**NEVER force-push** — `git push --force` is hook-blocked here. If history needs rewriting, the user runs it via `!`.
26
26
8.**EVERY release body links the docs site** — append the `https://phxagents.dev` footer. Releases are this project's one measured promotion lever (v3.0.1: 51 → 120 cloners in a day).
27
+
9.**UPGRADE-BREAKING RELEASES LEAD WITH THE WARNING** — if users must do anything beyond `/plugin update`, the release body opens with a `> [!WARNING]` block carrying the exact commands (see #135).
0 commit comments