Skip to content

feat: register solana-program-upgrade skill#22

Open
mitgajera wants to merge 1 commit into
solanabr:mainfrom
mitgajera:feat/skill-program-upgrade-20-06-2026
Open

feat: register solana-program-upgrade skill#22
mitgajera wants to merge 1 commit into
solanabr:mainfrom
mitgajera:feat/skill-program-upgrade-20-06-2026

Conversation

@mitgajera

Copy link
Copy Markdown

What this adds

Registers solana-program-upgrade as an ext/ submodule skill: an addon to solana-dev that owns the program-upgrade + on-chain account-migration lifecycle, the most catastrophic and under-tooled step in the Solana dev lifecycle.

  • Submodule at .claude/skills/ext/program-upgrade -> mitgajera/solana-program-upgrade-skill (MIT)
  • .claude/skills/skill-registry.json entry (domain solana-infra, install.method: submodule)
  • Routing block in .claude/skills/SKILL.md under "Infrastructure & Deployment"
  • README External Skill Submodules table row + count (18 -> 19), QUICK-START count

Problem it solves

When a team changes an #[account] struct and redeploys, the new code misreads existing accounts: AccountDidNotDeserialize, wrong values, or silent corruption of user funds. No existing kit skill covers program upgrade plus account-data migration (distinct from /migrate-web3 client migration and the basic /deploy). This fills that gap with version-aware, simulate-first guidance:

  • account versioning (discriminator vs in-data version, safe vs breaking layout changes)
  • in-place realloc/resize migration (lazy migrate-on-touch, idempotency, the 10 KB cap, native equivalent)
  • the Anchor Migration<From, To> type, flagged verify-before-use with the manual pattern as the portable default
  • upgrade-authority hygiene (Squads v4 multisig, timelock, immutability)
  • Surfpool fork simulation + LiteSVM/Mollusk tests with byte-diff corruption proofs
  • rollback and half-migration recovery

Fit

  • 9 focused skill files, 2 agents, 3 commands, 1 path-scoped rule.
  • Accuracy-first: every solana CLI flag verified against the installed binary; the realloc migration snippet compiled (Anchor 0.31, with Anchor 1.0 notes for CpiContext/discriminator); all resource links resolve; Migration type treated as verify-before-use.
  • MIT licensed, shell-only installers, examples default to devnet/localnet and never auto-target mainnet.

@vercel

vercel Bot commented Jun 20, 2026

Copy link
Copy Markdown

@mitgajera is attempting to deploy a commit to the STBR TRUE Team on Vercel.

A member of the Team first needs to authorize it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant