Skip to content
Back to skills

Skill Frontend Design

ASecurity

Design precise, production-grade enterprise UI — dashboards, admin panels, SaaS interfaces, and data-heavy applications. Use this skill for professional software interfaces that need Jony Ive-level craft: clean, minimal, functional, with intentional personality. Do NOT use for creative landing pages, marketing sites, or experimental/artistic frontends.

  • 3 stars
  • 0 votes
  • 0 copies
  • 7 views
  • Added September 9, 2026
designrustgoreactvuespringcode-reviewgitfrontend

Security analysis

A100/100

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

Scanned September 9, 2026

npx -y skills add pwdev-solucoes/pwdev-claude-marketplace --skill skill-frontend-design --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Skill Frontend Design?

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

Security grade badge for Skill Frontend Design
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/pwdev-solucoes-skill-frontend-design/badge)](https://www.skillsdirectory.com/skills/pwdev-solucoes-skill-frontend-design)

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: skill-frontend-design
description: >
  Design precise, production-grade enterprise UI — dashboards, admin panels, SaaS interfaces,
  and data-heavy applications. Use this skill for professional software interfaces that need
  Jony Ive-level craft: clean, minimal, functional, with intentional personality.
  Do NOT use for creative landing pages, marketing sites, or experimental/artistic frontends.
paths:
  - "**/*.vue"
  - "**/*.tsx"
  - "**/*.jsx"
  - "**/components/**"
  - "**/pages/**"
  - "**/*.css"
metadata:
  version: 1.0.0
  compatible_with: "any modern frontend framework; tailwindcss >=3.0"
  author: Pwdev
  updated: 2026-07-18
---

# Enterprise UI Design Skill

Build polished, professional interfaces for enterprise software, SaaS dashboards, admin panels,
and data-heavy applications. Every pixel intentional. No generic AI aesthetics.

**When to use this skill:** Dashboards, admin interfaces, SaaS products, data tables, settings
pages, internal tools, analytics views, multi-panel layouts, form-heavy interfaces.

---

## Integration with PWDEV-CODE

This skill integrates into the PWDEV-CODE workflow at multiple phases:

### In SPEC.md (DESIGN phase — agent-architect)

When this skill is active, the architect MUST add to SPEC.md:

**Section 1 — Persona:** Include "skill-frontend-design" in Active Skills.

**Section 5 — Quality Criteria:** Add:
- [ ] Design direction explicitly chosen (not defaulted)
- [ ] 4px grid for all spacing
- [ ] Consistent border-radius system
- [ ] ONE depth strategy throughout
- [ ] Four-level text contrast hierarchy
- [ ] Color used only for meaning (status, action, error)
- [ ] Navigation context present (sidebar/topnav, location, user)
- [ ] Monospace for all data values

**Section 7 — Prohibitions:** Add:
- No native form elements in styled UI
- No multiple accent colors in one interface
- No generic AI aesthetics (purple gradients, oversized corners, excessive shadows)
- No asymmetric padding without clear reason

### In PLAN.md (PLAN phase — agent-planner)

When this skill is active, tasks that involve UI MUST include in "Required Context":
```
- Skill: skills/skill-frontend-design/SKILL.md — read before implementing UI components
- Skill: skills/skill-frontend-design/TEMPLATES.md — reference patterns for common components
```

### In REVIEW (REVIEW phase — agent-code-reviewer + agent-qa)

The code reviewer MUST check:
- Design direction was committed to (not generic defaults)
- Spacing follows 4px grid
- Depth strategy is consistent
- Color is used for meaning only

### In VERIFY.md (VERIFY phase — agent-verifier)

Add to verification checklist:
```markdown
## Skill: frontend-design
| Item | Status | Evidence |
|------|:------:|----------|
| Design direction chosen | ✅/❌ | [which direction] |
| 4px grid spacing | ✅/❌ | [spot check 3 components] |
| Consistent radius | ✅/❌ | [all use same system] |
| ONE depth strategy | ✅/❌ | [borders-only / shadows / surface] |
| Monospace for data | ✅/❌ | [numbers, IDs, timestamps] |
| No anti-patterns | ✅/❌ | [checked AVOID list] |
```

---

## Workflow (follow this order)

### Step 1: Analyze Context

Before writing ANY code, read the project's CLAUDE.md and SPEC.md to understand:

| Question                   | Why it matters                                      |
|----------------------------|-----------------------------------------------------|
| What does this product do? | A finance tool ≠ a creative tool ≠ a dev tool       |
| Who are the users?         | Power users want density. Casual users want guidance |
| What's the emotional job?  | Trust? Efficiency? Delight? Focus?                   |
| What data is primary?      | Tables, charts, KPIs, forms — drives layout choice   |
| What stack is defined?     | Read SPEC.md section 1 for framework and conventions |

### Step 2: Commit to a Design Direction

Pick ONE personality. Don't default — choose with intent:

- **Precision & Density** — Tight spacing, monochrome, information-forward. _Think: Linear, Raycast._
- **Warmth & Approachability** — Generous spacing, soft shadows, friendly. _Think: Notion, Coda._
- **Sophistication & Trust** — Cool tones, layered depth, financial gravitas. _Think: Stripe, Mercury._
- **Boldness & Clarity** — High contrast, dramatic negative space, confident type. _Think: Vercel._
- **Utility & Function** — Muted palette, functional density, clear hierarchy. _Think: GitHub._
- **Data & Analysis** — Chart-optimized, technical but accessible. _Think: Grafana, Metabase._

Then lock in these choices:

| Decision           | Options                                                                |
|--------------------|------------------------------------------------------------------------|
| **Color foundation** | Warm (creams) · Cool (slate/blue-gray) · Pure neutral · Tinted        |
| **Light or dark?**   | Light = open, approachable · Dark = focused, premium, technical       |
| **Accent color**     | ONE color. Blue=trust, Green=growth, Orange=energy, Violet=creativity |
| **Depth strategy**   | Borders-only · Single shadow · Layered shadows · Surface color shifts |
| **Corner radius**    | Sharp (2-6px) · Soft (8-12px) — pick a system, stay consistent       |
| **Typography**       | System fonts · Geometric sans (Geist, Inter) · Humanist (SF Pro, Satoshi) · Mono-influenced |
| **Layout**           | Dense grid · Generous spacing · Sidebar nav · Top nav · Split panels  |

**Record these decisions in CONTEXT.md** during the DESIGN phase.

### Step 3: Build with Craft

Implement the interface following the design rules below. Every component must feel intentional.

### Step 4: Self-Validate

Before delivering, run through the **Validation Checklist** at the bottom of this file.

---

## Design Rules

### MUST (non-negotiable)

1. **4px grid for all spacing.** Values: 4, 8, 12, 16, 24, 32px. No arbitrary numbers.
2. **Symmetrical padding.** If top is 16px, sides and bottom are 16px. Exception: `padding: 12px 16px` when horizontal needs room.
3. **Consistent border-radius.** Pick sharp (2-6px) or soft (8-12px). Never mix systems. Never 16px+ on small elements.
4. **ONE depth strategy.** Borders-only OR single shadows OR layered shadows. Don't mix across the same interface.
5. **Monospace for data.** Numbers, IDs, codes, timestamps get `font-family: monospace` with `font-variant-numeric: tabular-nums`.
6. **Four-level contrast hierarchy.** Foreground (primary) → Secondary → Muted → Faint. Use all four consistently:
   ```css
   --text-primary: #0f172a;    /* headings, key data */
   --text-secondary: #334155;  /* body text */
   --text-muted: #64748b;      /* labels, secondary info */
   --text-faint: #94a3b8;      /* placeholders, disabled */
   ```
7. **Color = meaning only.** Gray builds structure. Color only for: status, action, error, success. No decorative color.
8. **Navigation context.** Never render a floating component — include sidebar/topnav, breadcrumbs/page title, and user context.
9. **No native form elements in styled UI.** Build custom selects, date pickers, checkboxes. Native elements break visual consistency.
10. **Custom select triggers use `display: inline-flex` + `white-space: nowrap`** to keep text and chevron on same row.

### SHOULD (strong recommendations)

1. **Typography scale:** 11, 12, 13, 14 (base), 16, 18, 24, 32px. Headlines at 600 weight with `-0.02em` letter-spacing.
2. **Icons from Lucide** (`lucide-react` or `lucide-vue-next`). Icons clarify, not decorate — if removing one loses no meaning, remove it.
3. **Animation:** 150ms micro-interactions, 200-250ms transitions. Easing: `cubic-bezier(0.25, 1, 0.5, 1)`. No bounce/spring.
4. **Card layout variety.** A metric card ≠ a plan card ≠ a settings card. Vary internal structure, but keep surface treatment consistent.
5. **Sidebar same background as content.** Use a subtle border for separation, not different background colors.
6. **CSS variables for all design tokens.** Colors, spacing, shadows, radii — all as variables for easy theming.

### AVOID (anti-patterns)

- Dramatic drop shadows (`box-shadow: 0 25px 50px...`)
- Thick borders (2px+) for decoration
- Asymmetric padding without clear reason
- Pure white cards on colored backgrounds
- Excessive spacing (margins > 48px between sections)
- Spring/bouncy animations
- Gradients for decoration
- Multiple accent colors in one interface
- Color-coding everything — score bars, grade badges don't need traffic-light colors
- Generic AI aesthetics: purple gradients, oversized rounded corners, excessive card shadows

---

## Dark Mode Rules

When building dark interfaces:

- **Borders over shadows** — Shadows are nearly invisible on dark backgrounds. Use borders at 10-15% white opacity.
- **Desaturate semantic colors** — Success/warning/error colors need lower saturation to avoid harshness.
- **Same hierarchy, inverted values** — The four-level contrast system still applies with inverted lightness values.

---

## Validation Checklist

Run through before delivering:

- [ ] Design direction was explicitly chosen (not defaulted)
- [ ] All spacing aligns to 4px grid
- [ ] Padding is symmetrical on all containers
- [ ] Border-radius is consistent across all components
- [ ] ONE depth strategy used throughout
- [ ] Monospace applied to all data values
- [ ] Color only used for meaning (status, action, error)
- [ ] Four-level text contrast hierarchy applied
- [ ] Navigation context present (sidebar/topnav, location, user)
- [ ] No native form elements — all custom-styled
- [ ] No anti-patterns from AVOID list
- [ ] Card layouts vary by content type, surface treatment stays consistent
- [ ] Dark mode adjustments applied (if applicable)
- [ ] Animations use correct timing and easing
- [ ] Interface feels designed for its specific product context

---

## Template Reference

See `TEMPLATES.md` for starter component patterns: metric cards, data tables, sidebar navigation,
filter bars, form layouts, and status badges — all following these design rules.

Templates are framework-agnostic references. Adapt to your project's stack (React, Vue, Svelte, etc.)
and component library as defined in SPEC.md section 1.

Files in this skill

  • SKILL.md10 KB
  • TEMPLATES.md16 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.