Frontend design guidelines
Skill pivyme/suiperpower/core/skills/build/frontend-design-guidelines
Build something meaningful, on Sui. A superpower for AI coding agents (Claude Code, Codex, Cursor, Grok Build) to ship real products on Sui.
npx -y skills add pivyme/suiperpower --skill frontend-design-guidelinesAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 12 stars12 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Apply tasteful frontend defaults to a Sui dapp (layout, spacing, typography). Use when the user wants frontend defaults or a UI review.
SKILL.md
6.1 KB, as published. Nobody here has run it
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 frontend-design-guidelines build completed
# Or use "failed" / "aborted" if it ended that way.
command -v suiperpower >/dev/null 2>&1 && suiperpower track frontend-design-guidelines 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
Applies a small set of opinionated frontend defaults to a Sui dapp so it does not look like a template. Covers layout, spacing, type hierarchy, color usage, button states, empty states, error states, accessibility. The output is concrete component-level guidance the user can apply line by line, not a 50-page design system document.
When to use it
- Frontend exists, looks generic or rough, and the user wants it tightened.
- New page or component being built and the user wants a tasteful starting point.
- Reviewing a dapp UI for the design pass before launch.
When NOT to use it
- The brand has not been picked yet, run
brand-designfirst. - The user wants a brutal critique, route to
roast-my-product. - The user wants accessibility-only review, focus the conversation on the WCAG sections of this skill.
- For Sui-specific number formatting, route to
number-formatting.
If you activated this and the user actually wants something else, consult skills/SKILL_ROUTER.md and hand off.
Inputs
- The frontend code or screenshots of the current state.
.suiperpower/brand.mdif it exists, for color and type tokens.- The user's stated frustration, if any (e.g. "buttons feel weak", "the page looks empty").
Outputs
- A list of concrete changes per component, file:line where possible.
- Updated Tailwind config or CSS variables if the brand tokens are missing.
- An empty-state and error-state pass for every async surface.
Workflow
-
Establish tokens
- If
.suiperpower/brand.mdexists, read tokens. If not, hand off tobrand-designfirst. - Confirm Tailwind config or CSS variables match the tokens.
- If
-
Audit hierarchy
- One H1 per page. Headings descend without skipping levels.
- Body text at 16px minimum, line-height 1.5 minimum.
- Numbers in tabular figures. Always.
-
Audit spacing
- 4px / 8px / 12px / 16px / 24px / 32px / 48px / 64px scale. No off-scale numbers.
- Section padding consistent across pages.
- Component padding bigger on touch targets (mobile-first when in doubt).
-
Audit color usage
- Primary color used for primary action only, not for accents and decoration.
- Text on background and surface both pass 4.5:1.
- State colors (success / warning / error) used only for state, never decoration.
-
Audit interactive states
- Every button: hover, active, focus-visible, disabled, loading.
- Every input: focus, error, disabled.
- Every link: hover, focus-visible. Underline on hover at minimum.
-
Audit async surfaces
- Loading state. Not a generic spinner; a layout-shift-free skeleton or progress.
- Empty state. Specific to the surface, not a generic "nothing here yet".
- Error state. Includes the actual error and a recovery action (retry, contact, navigate elsewhere).
-
Sui-specific surfaces
- Wallet connect: clear connect / disconnect, current address visible, network indicator.
- Address display: ellipsis the middle, copy button adjacent, never display the full 66-char on mobile.
- Transaction state: signing / pending / success / failed, each with a SuiVision link.
- Gas / MIST values: route to
number-formatting.
-
Accessibility pass
- Keyboard nav on every interactive surface.
aria-labelon icon-only buttons.- Focus ring visible. Default focus rings are usually disabled in starter templates; restore them.
- Color contrast at 4.5:1 for body text, 3:1 for large.
-
Writeback
- Append a list of applied fixes to
.suiperpower/build-context.md.
- Append a list of applied fixes to
Quality gate (anti-slop)
Before reporting done:
- Does every async surface have a real loading, empty, AND error state? (Not just two of the three.)
- Did the audit catch the obvious template-look markers from
references/template-look-markers.md? - Are all button states implemented, including focus-visible?
- Does the page work with keyboard only, screen reader on?
- Is at least one component still distinct enough that a competitor's screenshot would not be confused with this one?
If any answer is no, the skill keeps working.
References
On-demand references (load when relevant to the user's question):
references/template-look-markers.md: Markers that signal "this is a starter template".references/component-defaults.md: Default specs for buttons, inputs, cards, modals, toasts.references/sui-frontend-patterns.md: Wallet connect, address display, tx state surfaces.
Knowledge docs:
skills/data/sui-knowledge/05-app-layer-and-consumer.md: App-layer Sui context.
Use in your agent
- Claude Code:
claude "/suiper:frontend-design-guidelines <your message>" - Codex:
codex "/frontend-design-guidelines <your message>" - Grok Build: run
grok, then/frontend-design-guidelines <your message>in the session - Cursor: paste a chat message that includes a phrase like "design taste check", or load
~/.cursor/rules/frontend-design-guidelines.mdcand reference it.
If you activated this and the user actually wants something else, consult skills/SKILL_ROUTER.md and hand off.