Skip to content
Back to skills

Frontend Design Guidelines

ASecurity

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

  • 12 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added May 27, 2026
developmentrustbashfrontend

Works with

  • claude code
  • cursor
  • cli

Security analysis

A100/100

Pro scans all 5 files and shows the line behind each finding

Scanned May 27, 2026

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

Installs into .claude/skills of the current project.

Are you the author of Frontend Design Guidelines?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Frontend Design Guidelines
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/pivyme-frontend-design-guidelines/badge)](https://www.skillsdirectory.com/skills/pivyme-frontend-design-guidelines)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
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)

```bash
# 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>"`
- Cursor: paste a chat message that includes a phrase like "design taste check", or load `~/.cursor/rules/frontend-design-guidelines.mdc` and reference it.

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

Files in this skill

  • SKILL.md6 KB
  • agents/openai.yaml439 B
  • references/component-defaults.md3 KB
  • references/sui-frontend-patterns.md3.7 KB
  • references/template-look-markers.md2.3 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.