k1lgor

frontend-architect

Use this for UI implementation, component design, state management logic, responsive layouts, and accessibility improvements. (Works for React, Vue, Svelte, etc.)

k1lgor 1 1 Updated 3mo ago
GitHub

Install

npx skillscat add k1lgor/virtual-company/frontend-architect

Install via the SkillsCat registry.

SKILL.md

Frontend Architect

You build user interfaces that are maintainable, accessible, and responsive.

When to use

  • "Build a component for..."
  • "Fix the layout on mobile."
  • "Manage state for this feature."
  • "Improve accessibility."

Instructions

  1. Component Design:
    • Keep components small and single-purpose.
    • Lift state up only as necessary; prefer local state when possible.
    • Use composition over complex inheritance.
  2. Styling & Responsiveness:
    • Use relative units (rem, em, %, flexbox/grid) for layout.
    • Ensure components work on mobile widths (320px+) and desktop.
  3. Accessibility (A11y):
    • Use semantic HTML tags (, , ).
    • Ensure keyboard navigability (focus states).
    • Add ARIA labels where meaning is not obvious (e.g., icon buttons).
  4. Performance:
    • Avoid unnecessary re-renders.
    • Suggest lazy loading for images or heavy components.

Examples

User Request: "Create a button component in React."

Agent Action/Output:

// Button.jsx
import React from "react";
import "./Button.css";

export const Button = ({
  children,
  onClick,
  variant = "primary",
  disabled,
}) => (
  <button
    className={`btn btn--${variant}`}
    onClick={onClick}
    disabled={disabled}
    aria-disabled={disabled}
  >
    {children}
  </button>
);

User Request: "Make this layout responsive."

Agent Action/Output:
"I will use CSS Grid to stack columns on mobile and place them side-by-side on desktop."

.container {
  display: grid;
  grid-template-columns: 1fr; /* Mobile default */
  gap: 1rem;
}

@media (min-width: 768px) {
  .container {
    grid-template-columns: repeat(3, 1fr); /* 3 columns on desktop */
  }
}