brand-design
Pick a brand name, color palette, or typography for a Sui product. Use when the user wants to name or brand a Sui project.
Design the Sui Object schema (owned vs shared, capability patterns). Use when the user wants to model Sui Objects or pick capability patterns.
Claude Code
$ npx -y skills add pivyme/suiperpower --skill object-model-design --agent claude-code
Codex
$ npx skills add pivyme/suiperpower --skill object-model-design -a codex -y
Cursor
$ npx skills add pivyme/suiperpower --skill object-model-design -a cursor -y
Gemini CLI
$ npx skills add pivyme/suiperpower --skill object-model-design -a gemini-cli -y
GitHub Copilot
$ npx skills add pivyme/suiperpower --skill object-model-design -a github-copilot -y
OpenCode
$ npx skills add pivyme/suiperpower --skill object-model-design -a opencode -y
Windsurf
$ npx skills add pivyme/suiperpower --skill object-model-design -a windsurf -y
name: object-model-design description: Design the Sui Object schema (owned vs shared, capability patterns). Use when the user wants to model Sui Objects or pick capability patterns.
# 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 object-model-design build completed # Or use "failed" / "aborted" if it ended that way. command -v suiperpower >/dev/null 2>&1 && suiperpower track object-model-design build 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.
Designs the Object schema for a Sui project before any Move code is written. Identifies every Object the system creates, decides owned vs shared vs immutable for each, picks the capability pattern that gates state changes, and writes the rationale into `build-context.md` so future readers (including auditors) can see why each decision was made.
Sui's object model is the most important architectural decision and the easiest to get wrong. This skill front-loads that thinking.
If you activated this and the user actually wants something else, consult `skills/SKILL_ROUTER.md` and hand off.
If unclear, interview the user for:
## object-model-design session, <timestamp> ### Objects | Object | Abilities | Ownership | Mutation gate | Why | |---|---|---|---|---| | User | key, store | owned | self | per-user state | | Vault | key | shared | AdminCap | global state, admins mutate | | ... | ... | ... | ... | ... | ### Capabilities - AdminCap: created in init, transferred to multisig, by-reference everywhere. - TreasuryCap: created via coin::create_currency, held by issuer, by-reference for mint/burn. ### Open issues - <list>
The skill never deletes files outside the integration source path without explicit user confirmation.
1. **Context gathering**
2. **Entity inventory**
3. **Owned vs shared vs immutable**
4. **Abilities**
5. **Capability map**
6. **Sketch the API surface**
7. **Stress-test the design**
8. **Document and pass to build-with-move**
Before reporting done, the skill asks itself the following and refuses to declare success if any answer is no:
Build something meaningful, on Sui. A superpower for AI coding agents to ship real products on Sui. Your AI coding agent has never written Move before. Suiperpower fixes that.
Pick a brand name, color palette, or typography for a Sui product. Use when the user wants to name or brand a Sui project.
Build an AI agent that signs Sui transactions or runs onchain actions. Use when the user wants an AI agent on Sui.
Build a Sui data indexer or analytics pipeline. Use when the user wants to index Sui events, build a pipeline, or query Sui RPC…
Build a mobile Sui app with React Native or the Sui Mobile SDK. Use when the user wants iOS, Android, or mobile Sui flows.
Pair with a coding agent to build a Sui MVP step by step. Use when the user wants to build the MVP iteratively with an agent.
Author Sui Move modules and packages with a senior Move dev as your pair. Use when the user wants to write, build, author, add,…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.