AgentStack
SKILL verified MIT Self-run

Clarify Intent

skill-pivyme-suiperpower-clarify-intent · by pivyme

Pin down what the user is actually building on Sui before any code. Use when the user wants to build, create, make, develop, scaffold, implement, or ship anything on Sui, in any phrasing, trigger eagerly. Skip if .suiperpower/intent.md already exists for this session.

No reviews yet
0 installs
8 views
0.0% view→install

Install

$ agentstack add skill-pivyme-suiperpower-clarify-intent

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Clarify Intent? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

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 clarify-intent build completed
# Or use "failed" / "aborted" if it ended that way.
command -v suiperpower >/dev/null 2>&1 && suiperpower track clarify-intent 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.

What this skill does

Stops the agent from jumping into Move code. Forces a short, Sui-specific interview that names the on-chain shape (Objects, capabilities), off-chain shape (frontend, auth), sponsor posture (load-bearing or skip), network and upgrade authority, and observable success. Writes .suiperpower/intent.md so the rest of the build phase reads from one source of truth.

This is the anti-slop entry gate. Skipping it is how Sui Overflow projects end up with three modules that share nothing, a Walrus import that never stores a blob, and an upgrade cap nobody can find.

When to use it

  • The user asks for code but has not named the Objects, capabilities, or sponsor posture.
  • The prompt is one line and broad ("build me a perp dex on Sui"). Broad is fine, AI-assisted pace makes "perp dex in days" plausible, but the agent still needs the Sui-shape pinned before writing Move.
  • The user explicitly says "step back" or "what am I really building".
  • An upstream skill (find-next-sui-idea, validate-idea) handed off and there is no .suiperpower/intent.md yet.
  • The user is restarting a stalled session and previous intent is unclear.

When NOT to use it

  • .suiperpower/intent.md already exists in the current session, read it and hand off.
  • The user is fixing a specific bug, use debug-move or review-move.
  • The user is asking a Sui knowledge question, answer the question.
  • The user is in the idea phase (no project picked), use find-next-sui-idea or validate-idea first.
  • The user is designing one specific Object schema, use object-model-design after intent is set.

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

Inputs

  • The user's raw build request, however vague.
  • Optional: .suiperpower/idea-context.md from validate-idea.
  • Optional: .suiperpower/build-context.md from a prior build session.

Outputs

A single file at .suiperpower/intent.md with this Sui-shaped schema:

# Intent, 

## One-sentence summary

## Problem and audience
- Problem: 
- Audience: 
- Core valuable shape: 

## On-chain shape
- User-held Objects: 
- Protocol-held shared Objects: 
- Capabilities: : 
- Move modules expected: 
- PTB composability: 

## Off-chain shape
- Frontend: 
- Auth: 
- Off-chain services: 

## Sponsor integrations (load-bearing only)
- : 
- If decorative was proposed, refuse and note here why it was dropped.

## Network and upgrade authority
- Target network at launch: 
- Upgrade authority intent: 
- Package id capture plan: 

## Success criteria
1. 
2. 
3. 

## Out of scope
- 
- 

## Constraints
- Deadline: 
- Risk tolerance: 
- Existing assets: 

## Open questions for the user
- 

The skill stops here. No code. Hand off.

Workflow

  1. Read prior context
  • If .suiperpower/intent.md exists and is fresh, read it, summarize, ask if it still holds. If yes, skip to step 6.
  • Otherwise read .suiperpower/idea-context.md and .suiperpower/build-context.md if present.
  • Fast-path from idea phase: if idea-context.md already has problem, audience, success criteria, pre-fill those and only ask for the Sui-specific fields below. Do not re-ask what validate-idea already answered.
  1. Restate the request
  • One sentence, in the user's voice. Confirm before continuing. A vague "yeah" is not confirmation.
  1. Walk the Sui interview

Group questions so the user is not nickel-and-dimed. Five tracks:

  • Problem track: What pain, for whom, what do they do today (on Sui or off)? What is the one thing the product has to do well? Do not push for a scope cut here, AI-assisted pace means the full product is often in reach, the job is to name the load-bearing surface, not shrink the build.
  • On-chain track: Do users hold Objects, or only the protocol? Which Objects are shared vs owned vs immutable? What capabilities exist and who holds each? Will users compose calls through PTBs?
  • Off-chain track: Frontend or no? If yes, Next.js or mobile? Auth via wallet adapter, zkLogin, or sponsored transactions? Any indexer, bot, or agent?
  • Sponsor track: Any sponsor integration claimed (Walrus, DeepBook, Scallop, OZ Sui, zkLogin, OtterSec)? For each: is it load-bearing in the user flow, or decoration? Refuse to record decorative integrations as load-bearing.
  • Ship track: Target network at launch (devnet, testnet, mainnet)? Upgrade authority intent (keep, burn, multisig)? Deadline and risk tolerance?
  1. Push back on slop
  • "Everyone" for audience: push for a Sui-native wedge.
  • "Good UX" for success: push for observable outcomes ("user can open the app, sign in with zkLogin, place a DeepBook order, see the fill on testnet").
  • "Mainnet eventually" with no plan: surface that mainnet means upgrade authority decisions now.
  • "It uses Walrus" with no flow: push for the specific blob lifecycle (write path, retrieval path, encryption posture). If no real lifecycle, drop the integration.
  • One push-back round per topic. If the user insists on vague, record the vagueness honestly and move on.
  1. Write .suiperpower/intent.md using the schema in Outputs. Open questions stay open. Timestamp it.
  1. Hand off
  • If non-trivial (multi-module, sponsor integration, or unclear object model), recommend plan-before-code.
  • If one-step (single Move module, single sponsor surface), point at the specific build skill via skills/SKILL_ROUTER.md.

Quality gate (anti-slop)

Before reporting done, the skill asks itself:

  • Did I write .suiperpower/intent.md, not just talk about it?
  • Is the on-chain shape concrete: Objects named, ownership decided, capabilities listed?
  • Is every claimed sponsor integration load-bearing in a user flow, not decorative import?
  • Is the target network and upgrade authority intent named, not deferred?
  • Are success criteria observable on a specific network, not aspirational?
  • Did I list out-of-scope items, not only in-scope?
  • Did I avoid starting any code, even a stub?

If any answer is no, the skill keeps working before handing off.

References

Knowledge docs (load when scope expands):

  • core/skills/data/sui-knowledge/03-move-and-objects.md: Object model and capability reference.

Use in your agent

  • Claude Code: claude "/suiper:clarify-intent "
  • Codex: codex "/clarify-intent "
  • Grok Build: run grok, then /clarify-intent in the session
  • Cursor: paste a message like "step back, what am I really building on Sui", or reference ~/.cursor/rules/clarify-intent.mdc.

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

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.