agentsclimarketplace

Deploy to testnet

Skill pivyme/suiperpower/core/skills/ship/deploy-to-testnet

Deploy a Sui Move package to testnet and capture package id and UpgradeCap. Use when the user wants to deploy to testnet or publish to Sui testnet.From its SKILL.md

Install
npx -y skills add pivyme/suiperpower --skill deploy-to-testnet

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 12 stars12 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

6.3 KB, ~1.6k tokens by cl100k_base, as published. Nobody here has run it

Preamble (run first)

# Suiperpower telemetry. Routes through the CLI so projects.json + Convex stay in sync.
# Silent on failure so the skill never blocks. Opt out: SUIPERPOWER_TELEMETRY=off.
#
# AGENT NOTE: when this skill finishes, run the matching completion command:
#   suiperpower track deploy-to-testnet ship completed
# Or use "failed" / "aborted" if it ended that way.
command -v suiperpower >/dev/null 2>&1 && suiperpower track deploy-to-testnet ship started >/dev/null 2>&1 &
true

If TEL_PROMPTED is no, before doing real work, ask the user:

Help suiperpower get better. We track which skills get used and how long they take. No code, no file paths, no PII. Change anytime in ~/.suiperpower/config.json.

A) Sure, anonymous B) No thanks

Write the answer to ~/.suiperpower/config.json telemetryTier field and create ~/.suiperpower/.telemetry-prompted. Then continue.

What this skill does

Runs the testnet deploy flow end to end: validates prerequisites, runs sui client publish, captures the package id and UpgradeCap from the publish output, writes deploy-context.md with the real artifacts, and points the user at the next step.

The flow follows skills/data/guides/deploy-runbook.md for the publish steps and skills/data/guides/package-id-capture.md for the capture rules. Capability handling is non-trivial; the skill never prints capability ids in shared logs and never hardcodes them into client code.

When to use it

  • After the Move package compiles and tests pass on localnet.
  • Before any frontend work that needs a real on-chain package id.
  • Any time the user wants a fresh testnet deployment after a breaking change.

When NOT to use it

  • Mainnet deploys. Route to deploy-to-mainnet.
  • Localnet runs. Use sui move test and the local validator directly; no deploy-context is written for localnet.
  • Pre-test, when the package has not been compiled or unit tested.

If you activated this and the user actually wants something else, consult skills/SKILL_ROUTER.md and hand off.

Inputs

  • .suiperpower/build-context.md for the Move package path and module names.
  • The user's funded testnet address. If not funded, the skill points at the testnet faucet.
  • Sui CLI installed and on testnet env. If not, the skill walks the env switch per skills/data/guides/rpc-wallet-guide.md.

Outputs

A .suiperpower/deploy-context.md entry following the canonical headers from skills/data/specs/phase-handoff.md:

## Deploy, <timestamp>

### Network
- env: testnet
- rpc: <rpc url>
- gas address: <0x...>
- balance before: <SUI>
- balance after: <SUI>

### Package
- package id: <0x...>
- modules: <comma-separated module names>
- digest: <publish digest>
- upgrade cap object: <0x...>
- upgrade cap policy: <compatible | additive | dep-only | immutable>

### Notes
- <anything the user should know about this deploy>

Workflow

  1. Preflight

    • Verify Sui CLI is installed and version is at least the version pinned in skills/data/guides/deploy-runbook.md. If not, ask the user to run cargo install --git https://github.com/MystenLabs/sui --branch testnet sui or use the official binary.
    • Verify env is testnet via sui client active-env. If not, switch.
    • Verify the active address has enough SUI for gas. If not, point at the official testnet faucet and pause.
    • Read build-context.md to get the package path. Default to ./move/.
  2. Build and check

    • Run sui move build --path <package path>. Surface any error.
    • Run sui move test --path <package path>. If tests fail, do not proceed.
  3. Publish

    • Run the publish command per skills/data/guides/deploy-runbook.md: sui client publish <package path> --gas-budget <budget> --json
    • Capture the JSON output to a temp file.
  4. Capture artifacts

    • Apply the jq recipe from skills/data/guides/package-id-capture.md to extract:
      • package id
      • digest
      • UpgradeCap object id
    • Cross-check the package id against the modules listed in the build output.
  5. Write deploy-context.md

    • Append the new ## Deploy, <timestamp> block per the spec headers.
    • Include the env, RPC, gas address, balances, package id, modules, digest, upgrade cap, and policy.
    • Leave any prior ## Deploy blocks intact (append-only).
  6. Verify on-chain

    • Run sui client object <package id> to confirm the package exists.
    • Run sui client object <upgrade cap id> to confirm the cap landed in the active address.
  7. Hand off

    • Tell the user the package id explicitly so they can wire it into cli/data/sui-skills.json or their frontend.
    • Recommend deploy-to-mainnet once the testnet deploy has been exercised by a frontend or PTB. Recommend submit-to-sui-overflow if this is the submission deploy.

Quality gate (anti-slop)

Before reporting done:

  • Did sui move build and sui move test both pass before publish?
  • Was the package id captured from real publish output, not from a manual prompt to the user?
  • Was the UpgradeCap object id captured and recorded?
  • Was the upgrade policy recorded?
  • Was deploy-context.md appended (not overwritten)?
  • Were the post-deploy sui client object checks run and surfaced?

If any answer is no, the skill keeps working.

References

On-demand references (load when relevant to the user's question):

  • references/preflight-checklist.md: Step-by-step preflight items to verify before publish.
  • references/troubleshooting.md: Common testnet publish failures and fixes.

Canonical:

  • skills/data/guides/deploy-runbook.md
  • skills/data/guides/package-id-capture.md
  • skills/data/guides/rpc-wallet-guide.md

Use in your agent

  • Claude Code: claude "/suiper:deploy-to-testnet <your message>"
  • Codex: codex "/deploy-to-testnet <your message>"
  • Grok Build: run grok, then /deploy-to-testnet <your message> in the session
  • Cursor: paste a chat message that includes a phrase like "deploy to testnet", or load ~/.cursor/rules/deploy-to-testnet.mdc and reference it.

If you activated this and the user actually wants something else, consult skills/SKILL_ROUTER.md and hand off.

What ships with it: 3 files

4.6 KB alongside SKILL.md

agents/

Gives 0 of the 12 instructions most ship operate skills give in ~1.6k tokens

Counted across 779 of the 1,178 authors here whose files we hold, read 2026-08-07

  • Document a rollback plan before deploymentin 41 of 779, across 22 files
  • Update the changelogin 21 of 779, across 19 files
  • Run the test suitein 20 of 779
  • Create an annotated git tagin 20 of 779
  • Clean up feature flags after full rolloutin 18 of 779, across 10 files
  • Verify deployment health after launchin 18 of 779, across 10 files
  • Test both feature flag statesin 17 of 779, across 9 files
  • Verify the working tree is cleanin 17 of 779
  • Make database migrations backward-compatiblein 16 of 779, across 8 files
  • Set up error monitoring before launchin 15 of 779, across 7 files
  • Monitor metrics at each rollout stagein 14 of 779, across 5 files
  • Create a GitHub releasein 14 of 779

Said here and by no other author read

  • run the publish command
  • capture package id and upgrade cap
  • verify artifacts on-chain
  • write deployment context
  • leave existing deploy blocks intact

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.

Keep looking

Skills are one crate of 326,499. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.