Skip to content
Back to skills

Frontend Ui Engineering

ASecurity

Build complete, accessible UI flows with explicit states and browser checks.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 9, 2026
ai-agentstestingapifrontend

Works with

  • api

Security analysis

A100/100

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

Scanned November 9, 2026

npx -y skills add jaydubya818/MissionControl --skill frontend-ui-engineering --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Frontend Ui Engineering?

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

Security grade badge for Frontend Ui Engineering
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/jaydubya818-frontend-ui-engineering/badge)](https://www.skillsdirectory.com/skills/jaydubya818-frontend-ui-engineering)

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-ui-engineering
description: "Build complete, accessible UI flows with explicit states and browser checks."
license: MIT
metadata:
  author: Addy Osmani and Skillz contributors
  source: addyosmani/agent-skills
  source-commit: 301b02b12bff98e4688e6984af6556802322bbde
  adaptation: curated-rewrite
  owner: software-factory
  risk: medium
  capabilities: addyosmani,frontend-ui-engineering
---

# Frontend UI engineering

Build complete interactions in the product's existing visual language. Start
with the screen's user, purpose, primary action, and data contract. Preserve
the existing framework and design system; a small visual edit needs a focused
render check, not a new design process.

## Implement the interaction

1. Inspect adjacent components, tokens, content, and responsive conventions.
   Use supplied designs when available. Resolve product choices that materially
   affect the flow; routine implementation choices can proceed within scope.
2. Model the states that the real data flow can reach: loading, empty, populated,
   validation error, request failure, permission denial, pending mutation, and
   confirmed success. Distinguish an empty result from a failed or partial read.
3. Keep state with its owner. Use local state for local interactions, URL state
   for shareable navigation, and the existing server-cache layer for remote
   data. Avoid duplicating server truth in a second global store.
4. Handle stale requests, cancellation, rapid navigation, repeated submission,
   and retries. Preserve entered data after recoverable errors. Prevent stale
   responses from overwriting newer state. Disabling a button does not replace
   server-side idempotency.
5. Use optimistic updates only where reversal is safe and conflicts can be
   reconciled. For payments, permissions, or irreversible actions, show pending
   until authoritative confirmation. A timeout may need a status check instead
   of another submission. Announce the actual outcome without claiming success
   from an HTTP acknowledgment alone.
6. Compose focused components around behavior and reuse. Do not split files
   solely to satisfy an arbitrary line count or introduce a state library for
   a single screen.

## Accessibility and visual finish

Prefer semantic HTML and existing accessible controls. Give icon-only buttons
accessible names, associate errors and labels with inputs, and preserve keyboard
access and visible focus. For modal dialogs, verify focus entry, containment,
escape/close behavior, background interaction, and focus return. Setting the
`open` attribute alone is not a complete modal implementation.

Follow the project's agreed accessibility target. For new web work without a
target, propose WCAG 2.2 AA as the baseline; do not claim compliance from an
automated scan. Check zoom/reflow, contrast, reduced motion, touch targets,
focus obscured by sticky elements, and alternatives to drag-only controls.
Use [the interaction checklist](references/interaction-checks.md) for a changed
flow, selecting the cases that apply.

Use real or representative content to expose wrapping, density, and overflow.
After viewport or font changes, wait for fonts and resize-driven layout to
settle before measuring or capturing the screen.
Keep spacing, typography, hierarchy, and feedback consistent with the product.
Aesthetic preferences do not override an approved design.

## Verify in the browser

Exercise the primary journey, failure recovery, keyboard path, and relevant
responsive widths in the actual rendered application. Use available browser
tools; a particular connector is not mandatory. Verify that displayed controls
reach the intended callbacks or actions, including empty-state actions.
Inspect console and network
failures. Automated component tests complement this inspection.

Report the states and device conditions verified, with screenshots or runtime
evidence when useful. State any unavailable screen-reader or browser testing.

Reference: [WCAG 2.2](https://www.w3.org/TR/WCAG22/).

Files in this skill

  • LICENSE1 KB
  • SKILL.md3.9 KB
  • agents/openai.yaml224 B
  • references/interaction-checks.md1.8 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.

View all in ai-agents →

Comments

Loading comments…

Newsletter

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