Skip to content

/frontend-design-guidelines

Apply tasteful frontend defaults to a Sui dapp (layout, spacing, typography). Use when the user wants frontend defaults or a UI review.

shell
$ npx -y skills add pivyme/suiperpower --skill frontend-design-guidelines --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.
  • You can call itInvoke it directly when you want it.
  • Slash command/frontend-design-guidelines
How auto-invocation works

Context preview

The summary Claude sees to decide when to auto-load this skill.

Apply tasteful frontend defaults to a Sui dapp (layout, spacing, typography). Use when the user wants frontend defaults or a UI review.

SKILL.md

frontend-design-guidelines.SKILL.md
name: frontend-design-guidelines
description: Apply tasteful frontend defaults to a Sui dapp (layout, spacing, typography). Use when the user wants frontend defaults or a UI review.

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-design` first.
  • 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.md` if 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

1. **Establish tokens**

  • If `.suiperpower/brand.md` exists, read tokens. If not, hand off to `brand-design` first.
  • Confirm Tailwind config or CSS variables match the tokens.

2. **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.

3. **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).

4. **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.

5. **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.

6. **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).

7. **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`.

8. **Accessibility pass**

  • Keyboard nav on every interactive surface.
  • `aria-label` on 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.

9. **Writeback**

  • Append a list of applied fixes to `.suiperpower/build-context.md`.

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 messa
Read more
Read it on GitHub ↗

Showing the first part of this file.

Ships withsuiperpower

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.

Get the whole plugin, auto-invoked
Stats
12
Stars
0
Views
0
Forks
Active
Maintenance
TypeScript
Language
MIT
License
2d ago
Last commit
2mo ago
Created

Repo: pivyme/suiperpower