mystenlabs/sui-dev-skills/objects
Claude Code and agent skill by mystenlabs/sui-dev-skills
- community
Checking that the SKILL.md file is still in the repository.
Sui object model — struct declarations, abilities (key/store/copy/drop), object ownership, naming conventions, and dynamic fields.
Install
npx vskill@latest install mystenlabs/sui-dev-skills/objectsSKILL.md
The same SKILL.md was published earlier as jiayaoqijia/cryptoskill/objects.
1. Structs
All structs must be declared public. Ability declarations go after the fields:
Object rule: Any struct with the key ability must have id: UID as its first field. Use object::new(ctx) to create UIDs — never reuse or fabricate them.
Naming conventions
Capabilities must be suffixed with Cap:
No `Potato` suffix — a struct's lack of abilities already communicates it's a hot potato:
Events named in past tense — they describe something that already happened:
Dynamic field keys — use positional structs (no named fields):
Constants naming
Error constants use EPascalCase. All other constants use ALL_CAPS:
2. Object Abilities Cheat Sheet
| Ability | Meaning in Sui | |
|---|---|---|
key | Struct is an on-chain object; requires id: UID as first field | |
store | Can be embedded inside other objects; enables public_transfer, public_share_object, public_freeze_object | |
copy | Value can be duplicated (not valid on objects with key) | |
drop | Value can be silently discarded |
Object ownership model:
Only call transfer, share_object, and freeze_object (the non-public_ variants) inside the module that defines that object's type.
Never construct an object struct literal outside of its defining module.
3. Dynamic Fields
Use dynamic fields for extensible storage or when the key set is not known at compile time:
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingmove/objects/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/mystenlabs/sui-dev-skills/objects)