frontend

Guides semantic HTML, CSS architecture, accessibility, performance, and testing for frontend development.

2|Updated Jun 8, 2026
One-click install
npx skills add https://github.com/lunaticwithaduck/easytech3d --skill frontend-lunaticwithaduck
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: frontend
Source: https://github.com/lunaticwithaduck/easytech3d/tree/main/.claude/skills/frontend
Command: npx skills add https://github.com/lunaticwithaduck/easytech3d --skill frontend-lunaticwithaduck

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Frontend work often suffers from inconsistent markup, poor accessibility, slow pages, and untested UI. This Skill provides a structured workflow and reference material covering semantic HTML, CSS architecture, TypeScript patterns, WCAG accessibility, Core Web Vitals optimization, and testing strategy so frontend code is correct, accessible, and performant from the start. ## Core Features & Use Cases - Semantic HTML & CSS Architecture: Decision tables for choosing correct elements, heading hierarchy rules, Tailwind class ordering, and a three-layer CSS custom property token system. - Accessibility & Performance Guidance: ARIA patterns (tabs, combobox, dialog), keyboard navigation implementations, contrast and touch-target requirements, plus LCP/INP/CLS optimization techniques. - Testing Strategy: A testing-trophy approach with Vitest, Testing Library, MSW, Playwright, and axe-core patterns. - Use Case: When building a new checkout form, use this Skill to structure the markup semantically, wire up accessible validation with aria-live error announcements, and add integration tests with Testing Library and MSW. ## Quick Start Use the frontend skill to build an accessible, responsive contact form with semantic HTML, Tailwind styling, and validation tests.

Frequently Asked Questions about frontend

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I choose the correct semantic HTML element?▼

Match the element to its purpose: use button for clickable actions, a href for navigation, nav/main/aside for page regions, and table with th scope for tabular data. Never use div with onClick as a button substitute, and keep exactly one h1 per page with sequential heading levels.

How do I make a form accessible with ARIA?▼

Associate every input with a label using for/id, mark required fields with required and aria-required, and set aria-invalid plus aria-describedby pointing to error messages with role="alert". Move focus to the first errored field on submit and announce form-level status in an aria-live region.

What are good Core Web Vitals targets for LCP, INP, and CLS?▼

Good thresholds are LCP at or under 2.5 seconds, INP at or under 200 milliseconds, and CLS at or under 0.1. Optimize LCP with fetchpriority="high" on hero images, reduce INP by breaking up long tasks and using transitions, and prevent CLS by setting explicit image dimensions and font-display swap.

Should I use Tailwind CSS, CSS Modules, or vanilla CSS?▼

Tailwind suits rapid development and design-system enforcement at the cost of class verbosity and a build step. CSS Modules give component scoping with standard CSS, while vanilla CSS fits simple projects without a build step but requires manual scoping and token management.

What should I test at each level of the frontend testing trophy?▼

Use Vitest for pure functions and utilities, Testing Library with userEvent for component interactions, MSW for API-dependent integration tests, and Playwright for critical end-to-end journeys. Prioritize integration tests over unit and E2E, and add axe-core checks for WCAG violations.

When should I use native dialog versus a custom modal?▼

Prefer the native dialog element with showModal() because it provides focus trapping and Escape-to-close automatically. Use a custom div with role="dialog" only when you need behavior the native element cannot provide, and then implement focus trapping and focus restoration manually.