sui-move

Sui blockchain and Move smart contract development. Use when the user asks about Sui, Move language, smart contracts, objects, transactions, or blockchain development on Sui.

7 stars

Best use case

sui-move is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Sui blockchain and Move smart contract development. Use when the user asks about Sui, Move language, smart contracts, objects, transactions, or blockchain development on Sui.

Teams using sui-move should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/sui-move/SKILL.md --create-dirs "https://raw.githubusercontent.com/Demerzels-lab/elsamultiskillagent/main/public/skills/easonc13/sui-move/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/sui-move/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How sui-move Compares

Feature / Agentsui-moveStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Sui blockchain and Move smart contract development. Use when the user asks about Sui, Move language, smart contracts, objects, transactions, or blockchain development on Sui.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Sui Move Development

Comprehensive knowledge base for Sui blockchain and Move smart contract development.

## Setup References

Clone the official documentation:

```bash
# Create skill directory
mkdir -p {baseDir}/references && cd {baseDir}/references

# Clone Move Book (The Move Language Bible)
git clone --depth 1 https://github.com/MystenLabs/move-book.git

# Clone Sui docs (sparse checkout)
git clone --depth 1 --filter=blob:none --sparse https://github.com/MystenLabs/sui.git
cd sui && git sparse-checkout set docs
```

## Reference Structure

### Move Book (`references/move-book/book/`)
| Directory | Content |
|-----------|---------|
| `your-first-move/` | Hello World, Hello Sui tutorials |
| `move-basics/` | Variables, functions, structs, abilities, generics |
| `concepts/` | Packages, manifest, addresses, dependencies |
| `storage/` | Object storage, UID, transfer functions |
| `object/` | Object model, ownership, dynamic fields |
| `programmability/` | Events, witness, publisher, display |
| `move-advanced/` | BCS, PTB, cryptography |
| `guides/` | Testing, debugging, upgrades, BCS |
| `appendix/` | Glossary, reserved addresses |

### Sui Docs (`references/sui/docs/content/`)
- Concepts, guides, standards, references

## Quick Search

```bash
# Search Move Book for a topic
rg -i "keyword" {baseDir}/references/move-book/book/ --type md

# Search Sui docs
rg -i "keyword" {baseDir}/references/sui/docs/ --type md

# Find all files about a topic
find {baseDir}/references -name "*.md" | xargs grep -l "topic"
```

## Key Concepts

### Move Language Basics

**Abilities** - Type capabilities:
- `copy` - Can be copied
- `drop` - Can be dropped (destroyed)
- `store` - Can be stored in objects
- `key` - Can be used as a key in global storage (objects)

```move
public struct MyStruct has key, store {
    id: UID,
    value: u64
}
```

**Object Model**:
- Every object has a unique `UID`
- Objects can be owned (address), shared, or immutable
- Transfer functions: `transfer::transfer`, `transfer::share_object`, `transfer::freeze_object`

### Common Patterns

**Create and Transfer Object**:
```move
public fun create(ctx: &mut TxContext) {
    let obj = MyObject {
        id: object::new(ctx),
        value: 0
    };
    transfer::transfer(obj, tx_context::sender(ctx));
}
```

**Shared Object**:
```move
public fun create_shared(ctx: &mut TxContext) {
    let obj = SharedObject {
        id: object::new(ctx),
        counter: 0
    };
    transfer::share_object(obj);
}
```

**Entry Functions**:
```move
public entry fun do_something(obj: &mut MyObject, value: u64) {
    obj.value = value;
}
```

## CLI Commands

```bash
# Create new project
sui move new my_project

# Build
sui move build

# Test
sui move test

# Publish
sui client publish --gas-budget 100000000

# Call function
sui client call --package <PACKAGE_ID> --module <MODULE> --function <FUNCTION> --args <ARGS>

# Get object
sui client object <OBJECT_ID>
```

## Workflow

When answering Sui/Move questions:

1. **Search references first**:
   ```bash
   rg -i "topic" {baseDir}/references/move-book/book/ -l
   ```

2. **Read relevant files**:
   ```bash
   cat {baseDir}/references/move-book/book/<path>/<file>.md
   ```

3. **Provide code examples** from the references

4. **Link to official docs** when helpful:
   - Move Book: https://move-book.com
   - Sui Docs: https://docs.sui.io

## Topics Index

| Topic | Location |
|-------|----------|
| Hello World | `move-book/book/your-first-move/hello-world.md` |
| Hello Sui | `move-book/book/your-first-move/hello-sui.md` |
| Primitives | `move-book/book/move-basics/primitive-types.md` |
| Structs | `move-book/book/move-basics/struct.md` |
| Abilities | `move-book/book/move-basics/abilities-introduction.md` |
| Generics | `move-book/book/move-basics/generics.md` |
| Object Model | `move-book/book/object/` |
| Storage | `move-book/book/storage/` |
| Events | `move-book/book/programmability/events.md` |
| Testing | `move-book/book/guides/testing.md` |
| Upgrades | `move-book/book/guides/upgradeability.md` |
| PTB | `move-book/book/move-advanced/ptb/` |
| BCS | `move-book/book/move-advanced/bcs.md` |

## Notes

- Move 2024 edition introduces new features (enums, method syntax, etc.)
- Sui uses a unique object-centric model different from other blockchains
- Gas is paid in SUI tokens
- Testnet/Devnet available for development

Related Skills

remove-analytics

7
from Demerzels-lab/elsamultiskillagent

Safely remove Google Analytics from a project. Cleans up all tracking code, dependencies, and environment variables.

remove-password-from-pdf

7
from Demerzels-lab/elsamultiskillagent

Remove password protection from a PDF by uploading it (with its current password) to the Solutions API, polling.

remove-metadata-from-pdf

7
from Demerzels-lab/elsamultiskillagent

Remove metadata from one or multiple PDFs by uploading them to the Solutions API, polling until completion.

paylock

7
from Demerzels-lab/elsamultiskillagent

Non-custodial SOL escrow for AI agent deals.

agent-reputation

7
from Demerzels-lab/elsamultiskillagent

summary: Cross-platform AI agent reputation checker with trust scoring and PayLock escrow recommendations.

Telecom Agent Skill

7
from Demerzels-lab/elsamultiskillagent

Turn your AI Agent into a Telecom Operator. Bulk calling, ChatOps, and Field Monitoring.

OpenClaw-Finnhub

7
from Demerzels-lab/elsamultiskillagent

OpenClaw skill for real-time stock quote, and financials via Finnhub API.

```markdown

7
from Demerzels-lab/elsamultiskillagent

# OpenClaw-Last.fm

security-operator

7
from Demerzels-lab/elsamultiskillagent

Runtime security guardrails for OpenClaw agents.

operator-humanizer

7
from Demerzels-lab/elsamultiskillagent

Transform AI-generated text into authentic human writing.

kit-email-operator

7
from Demerzels-lab/elsamultiskillagent

**AI-powered email marketing for Kit (ConvertKit)**.

agora

7
from Demerzels-lab/elsamultiskillagent

Trade prediction markets on Agora — the prediction market exclusively for AI agents. Register, browse markets, trade YES/NO, create markets, earn reputation via Brier scores.