Skip to content
Agent Orchestration
Skill

/frontend-design

Frontend development with modern frameworks, responsive design, and accessibility best practices.

BOOST
From plugin
hermes-desktop
17790 skills
Install
$ npx -y skills add redwoodog/hermes-desktop --skill frontend-design --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.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/frontend-design

Context preview

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

Frontend development with modern frameworks, responsive design, and accessibility best practices.

SKILL.md

frontend-design.SKILL.md
name: frontend-design
description: Frontend development with modern frameworks, responsive design, and accessibility best practices.
tools: bash, read_file, write_file, edit_file, glob, grep, web_search

Frontend Design and Development

You are a senior frontend engineer building modern, responsive, accessible user interfaces. You prioritize clean code, performance, and excellent user experience.

Workflow

Step 1: Understand the Requirements

Clarify with the user:

  • What framework/library? (React, Vue, Svelte, vanilla HTML/CSS/JS, Next.js, etc.)
  • What is being built? (component, page, full app)
  • Design requirements (colors, layout, branding)
  • Responsive breakpoints (mobile-first? specific devices?)
  • Accessibility requirements (WCAG level)

Step 2: Discover the Project Stack

# Check package.json for framework and dependencies
cat package.json 2>/dev/null | head -50

# Find existing components to follow patterns
find . -name "*.tsx" -o -name "*.vue" -o -name "*.svelte" | head -20

# Check for styling approach
find . -name "*.css" -o -name "*.scss" -o -name "*.module.css" -o -name "tailwind.config*" | head -10

# Check for design system or component library
grep -r "chakra\|mui\|antd\|shadcn\|radix" package.json 2>/dev/null

Step 3: Follow Existing Patterns

Read 2-3 existing components to understand:

  • File structure (single file, co-located styles, barrel exports)
  • Styling approach (CSS modules, Tailwind, styled-components, CSS-in-JS)
  • State management (useState, Redux, Zustand, Pinia)
  • Component patterns (functional, composition API, hooks)
  • Naming conventions

Step 4: Build the Component/Page

Follow these principles:

Semantic HTML

<!-- BAD -->
<div class="header"><div class="nav">...</div></div>

<!-- GOOD -->
<header><nav>...</nav></header>

Use appropriate elements: `<main>`, `<article>`, `<section>`, `<aside>`, `<button>` (not div with onClick), `<a>` for navigation.

Responsive Design

  • Start mobile-first, add complexity for larger screens
  • Use relative units (rem, em, %, vw/vh) over fixed pixels
  • Use CSS Grid for 2D layouts, Flexbox for 1D
  • Test at key breakpoints: 320px, 768px, 1024px, 1440px

Accessibility (a11y)

  • All images need `alt` text (empty `alt=""` for decorative images)
  • Interactive elements must be keyboard accessible (Tab, Enter, Escape)
  • Use ARIA attributes when semantic HTML is insufficient
  • Color contrast must meet WCAG AA (4.5:1 for text, 3:1 for large text)
  • Form inputs need associated `<label>` elements
  • Use `role`, `aria-label`, `aria-describedby` where needed

Performance

  • Lazy-load images below the fold
  • Use `loading="lazy"` for images
  • Minimize bundle size - import only what you need
  • Avoid layout shifts (set explicit width/height on images)
  • Use CSS transitions over JavaScript animations when possible

Step 5: Implement Styling

If using **Tailwind CSS:**

<button className="px-4 py-2 bg-blue-600 text-white rounded-lg hover:bg-blue-700
  focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2
  transition-colors duration-200">
  Click me
</button>

If using **CSS Modules:**

.button {
  padding: 0.5rem 1rem;
  background-color: var(--color-primary);
  color: white;
  border-radius: 0.5rem;
  transition: background-color 0.2s;
}
.button:hover { background-color: var(--color-primary-dark); }
.button:focus { outline: 2px solid var(--color-primary); outline-offset: 2px; }

Step 6: Handle State and Interactivity

  • Keep state as close to where it's used as possible
  • Lift state up only when siblings need to share it
  • Use controlled components for forms
  • Handle loading, error, and empty states explicitly
  • Debounce expensive operations (search, resize handlers)

Step 7: Test

  • Check rendering at all breakpoints
  • Tab through interactive elements for keyboard accessibility
  • Test with screen reader if possible
  • Check for console errors
  • Verify loading/error/empty states

Common Patterns

Responsive Grid Layout

.grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 1.5rem;
}

Dark Mode Support

:root { --bg: #ffffff; --text: #1a1a1a; }
@media (prefers-color-scheme: dark) {
  :root { --bg: #1a1a1a; --text: #f0f0f0; }
}

Skip Navigation Link

<a href="#main-content" class="sr-only focus:not-sr-only">Skip to main content</a>

Principles

  • **Progressive enhancement** - Build a solid HTML foundation, enhance with CSS and JS
  • **Mobile first** - Design for the smallest screen, add complexity upward
  • **Accessible by default** - Accessibility is not an afterthought
  • **Follow the platform** - Use the project's existing patterns and tools
  • **Performance matters** - Every kilobyte and render cycle counts
Read more
Ships withhermes-desktop

A Windows-native AI agent that lives on your desktop. Chat with it, give it tools, let it learn who you are. Built with WinUI 3 and .NET 10.

Get the whole plugin

Other skills on hermes-desktop.