Loading...
Loading...
Sui Move smart contract development. Use when writing, reviewing, or debugging Move code on Sui. Covers Move abilities (key, store, copy, drop), TxContext, init functions, One-Time Witness, package publishing and upgrades, resource safety, events, and coins. Also use when the user asks about struct abilities, UID, how to destroy objects, or how to create a fungible token. For object model and ownership, see the `object-model` skill. For programmable transaction blocks, see the `ptbs` skill. For frontend dApp development, see the `frontend-apps` skill. For project setup and Move.toml, see the `sui-move-project` skill.
npx skill4agent add mystenlabs/skills sui-moveMCP tool: When available in your environment, also query the Sui documentation MCP server () for up-to-date answers. Use it for verification and for details not covered by these reference files.https://sui.mcp.kapa.ai
Source constraint: All information in this skill is sourced exclusively from docs.sui.io and move-book.com. When extending or updating this skill, only pull from these sources. Do not use third-party blogs, tutorials, or unofficial documentation.
move.mdinternal::Permit<T>type_nametransfer::receiveinternal::Permit<T>type_name&&mut#[error]transfer::receiveevents-coins.md| Topic | Skill | Load when |
|---|---|---|
| Object model, ownership, dynamic fields, collections, Display, transfer patterns | | Designing data models, choosing ownership types, using dynamic fields or collections, setting up Object Display |
| Programmable transaction blocks, commands, equivocation | | Building PTBs, composing transactions, sponsored transactions, troubleshooting transaction errors |
| Frontend dApp development, dApp Kit, wallet connection | | Building React/Vue frontends, wallet integration, querying onchain state from the browser |
| Project setup, Move.toml, dependencies, publishing | | Creating a Move project, configuring Move.toml, resolving build errors, publishing packages |
| Move 2024 syntax, method syntax, macros | | Using Move 2024 edition features like method syntax, vector literals, option/loop macros |
| Composable function design | | Designing functions for PTB composability, parameter ordering, return patterns |
| Unit testing conventions | | Writing Move unit tests, test patterns, expected_failure, cleanup |
| Naming conventions | | Naming errors, constants, capabilities, events, getters, dynamic field keys |
| Task | Load |
|---|---|
| Writing a Move struct with abilities | move |
| Using TxContext or the Clock object | move |
| Writing an init function or OTW | move |
Using | move |
Proving module authority with | move |
| Publishing or upgrading a package | move |
| Destroying an object without drop | move |
| Emitting or subscribing to events | events-coins |
| Creating a fungible token | move + events-coins |
| Designing an object data model | |
| Choosing shared vs owned objects | |
| Using dynamic fields or collections | |
| Setting up Object Display | |
| Building a PTB | |
| Implementing sponsored transactions | |
| Building a frontend | |
| Setting up Move.toml | |
| Writing a complete smart contract | move + events-coins + |
| Code review | move + events-coins + |
| Security review / access control audit | move + |
| Advanced design patterns / performance tuning | move |
object::new(ctx)public_transfertransferstorecopydropasfromintotry_fromtry_intodropobject::delete(id)transferpublic_transferobject::delete(id)ctx.epoch_timestamp_ms()0x6