Use when bumping any @mysten/* SDK version, adding a new SDK-using skill, or diagnosing version-drift errors across the plugin. Defines the canonical compat matrix, banner spec, and SDK-bump audit SOP. Triggers on "@mysten upgrade", "SDK bump", "version drift", "banner format", "compat matrix".
Installation
Mit Codex oder Claude installieren Kopieren Sie diesen Prompt, fügen Sie ihn in Codex, Claude oder einen anderen Assistant ein und lassen Sie die Skill-Seite prüfen und installieren.
Use when bumping any @mysten/* SDK version, adding a new SDK-using skill, or diagnosing version-drift errors across the plugin. Defines the canonical compat matrix, banner spec, and SDK-bump audit SOP. Triggers on "@mysten upgrade", "SDK bump", "version drift", "banner format", "compat matrix".
SUI Compat Matrix
This skill defines the single source-of-truth for @mysten/* SDK versions across the plugin and the SOP for upgrading them safely.
Quick map
references/sdk-compat-matrix.md — canonical table (one row per skill × package)
scripts/ci/compat-scope.txt — allowlist of skills that must carry a banner
scripts/ci/check-compat-matrix.mjs — CI verifier (banner ↔ matrix ↔ snippets/package.json)
scripts/ci/snippets/package.json — the actually-installed versions used by check-snippets.sh
Banner spec
Every in-scope skill must have, in the first 30 lines of SKILL.md, a single line of the form:
<X.Y.Z> = exact semver; must equal the version in scripts/ci/snippets/package.json for primary kind
<range> = ^X[.Y[.Z]] or ~X[.Y[.Z]]
No trailing prose on the line. Anything else CI rejects.
Immediately below, an optional **Compatibility notes:** paragraph holds peer / sub-export / deprecation / known-incompat prose. CI does not parse this section, so it can hold any warning the agent needs.
cd /tmp && rm -rf old new && mkdir old new
npm pack @mysten/X@A.B.C @mysten/X@A.B.D
tar -xzf mysten-X-A.B.C.tgz -C old/
tar -xzf mysten-X-A.B.D.tgz -C new/
diff -r old/package/dist new/package/dist | grep -E '\.d\.mts'
Look for: (a) added/removed exports, (b) signature changes, (c) type-union changes (the kiosk-grpc gap was caught this way).
Find affected skills (in-scope only):
for d in $(cat scripts/ci/compat-scope.txt); do
grep -l "@mysten/X""$d/SKILL.md" 2>/dev/null
done
Bump installed version:
cd scripts/ci/snippets
npm install @mysten/X@A.B.D
npm ls @mysten/sui # verify no dual install
git diff package-lock.json # verify nothing else moved
Re-run snippet type-check: bash scripts/ci/check-snippets.sh — if new failures, fix the skill's code/prose first, do NOT bump the banner to hide them.
Update banner: Tested: version + date in each affected skill. If breaking changes exist, update the Compatibility notes: prose.
Update matrix: edit the corresponding rows in references/sdk-compat-matrix.md (Tested + Last verified).
Update README header: the alignment line at the top of README.md states CLI version / protocol / @mysten/sui minor — keep it in sync when those move (not CI-checked; this is the step that gets forgotten).
Verify: node scripts/ci/check-compat-matrix.mjs — must exit 0.
Commit.
Adding a new SDK-using skill
Add skills/<new-name> to scripts/ci/compat-scope.txt
Add the SDK to scripts/ci/snippets/package.json and npm install
Add row(s) to references/sdk-compat-matrix.md
Write the Targets: line in the new skill's SKILL.md
Run node scripts/ci/check-compat-matrix.mjs until green