Ui design engineering
Skill ntaffzii/Skill-Agents/skills/engineering/ui-design-engineering
Personal AI-agent skills, workflows, prompts, and setup guides for local LLMs and MCP-powered assistants.
npx -y skills add ntaffzii/Skill-Agents --skill ui-design-engineeringAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 4 stars4 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Design, implement, harden, and review production-grade user interfaces for web apps, dashboards, SaaS products, admin tools, forms, and responsive frontend components. Use when building or improving UI/UX, translating Figma or requirements into code, styling React/Vue/Svelte/HTML views, reviewing frontend quality, fixing accessibility or motion, refining interaction states, improving performance, or validating responsive layout and visual polish. Integrates with Skill-Agents frontend workflows and browser, Playwright, Figma, package, test, and validation MCP tools.
SKILL.md
9.7 KB, as published. Nobody here has run it
UI Design Engineering
Build interfaces that emerge from the product, user, and workflow rather than from a generic template.
Choose The Mode
- Build mode: inspect the product context, implement the interface, and validate it in a browser.
- Review mode: report concrete violations first, explain impact briefly, and propose the smallest useful fix.
For a detailed review checklist, read references/ui-audit.md.
For attribution and the external ideas that informed this skill, read references/credits.md.
Skill-Agents Integration
When this skill is loaded through mcp-tools:
- Use
route_requestto select the workflow and related skills. - Prefer the
frontend-uitoolset for implementation and browser QA. - Prefer the
design-frontendtoolset when Figma or design mapping is involved. - Use
build_agent_contextto load only the selected workflow and skills. - Use MCP tools in this order when available:
project,repo-index,package, anddocsfor discovery.figmaandbrowser-page-mapfor design and page context.code-editingfor implementation.browser,playwright, andplaywright-actionsfor visual and interaction QA.test-inspection,ci, andvalidationfor verification.
- Follow MCP safety policy and the project's allowed roots. Do not request broader tools than the task needs.
With Local LLM Orchestrator, use main-llm-tools while developing or auditing UI so the model receives this skill and the required MCP tools. A direct model such as main-llm or coding does not load skills automatically.
Workflow
-
Inspect before designing
- Read the existing frontend structure, design tokens, component library, routes, and nearby screens.
- Reuse established primitives and patterns unless they are the source of the problem.
- Identify the actual user, their immediate goal, the environment, and the frequency of the workflow.
-
State the design intent
- Name the product domain, desired density, visual tone, and interaction character.
- Identify one signature element that belongs specifically to this product.
- Name the obvious generic defaults to avoid.
- For operational tools, prioritize scanning, comparison, repeated action, and predictable navigation.
-
Design the information architecture
- Lead with the user's primary task, not decorative content.
- Establish navigation, hierarchy, grouping, and action priority before visual styling.
- Keep page sections unframed; use cards only for repeated items, modals, or genuinely bounded tools.
- Do not place cards inside cards.
-
Implement complete behavior
- Build real controls and wire their expected interactions.
- Include loading, empty, error, disabled, selected, hover, focus, and success states when applicable.
- Use icons for familiar tool actions and labels or tooltips for unfamiliar icons.
- Preserve the project's framework, state-management, styling, and component conventions.
-
Enforce accessibility
- Prefer native semantic elements and established accessible primitives.
- Give every interactive control an accessible name.
- Make keyboard focus visible and preserve logical tab order.
- Manage dialog focus, Escape behavior, and focus restoration.
- Associate form labels, help text, errors, required state, and invalid state correctly.
- Respect reduced motion and never rely on color, hover, or toast messages alone.
-
Refine visual craft
- Use typography, spacing, density, color, and elevation as one coherent system.
- Match type scale to context; compact tools need compact headings.
- Use tabular numerals for changing data and stable dimensions for controls and grids.
- Avoid default-looking palettes, gratuitous gradients, glow effects, decorative blobs, and generic hero layouts.
- Keep accent color deliberate and ensure the interface is not dominated by one hue family.
-
Keep motion purposeful
- Add animation only when it clarifies change, hierarchy, causality, or spatial continuity.
- Prefer transform and opacity; avoid animating layout and large blur surfaces.
- Keep interaction feedback fast and stop looping animation when it is not visible.
- Do not let motion delay primary actions.
-
Validate before handoff
- Run the narrowest available lint, typecheck, and component tests.
- Open the real page in a browser and inspect desktop and mobile viewports.
- Check overflow, text wrapping, occlusion, focus order, keyboard use, state changes, and console errors.
- For canvas, 3D, charts, and media, verify rendered pixels rather than trusting DOM presence.
- Iterate on visible defects before reporting completion.
Enhancement Modes
Choose the smallest mode that satisfies the request. Combine modes only when the task genuinely spans them.
- Shape: clarify the user, task, information architecture, and design direction before coding.
- Build: create a new component, screen, flow, or application experience.
- Adapt: make an existing interface work across breakpoints, devices, input methods, and content lengths.
- Audit: inspect accessibility, responsiveness, interaction, performance, architecture, and visual consistency.
- Harden: add robust loading, empty, error, edge-case, localization, and recovery behavior.
- Polish: refine typography, spacing, alignment, color, elevation, microcopy, and interaction feedback.
- Optimize: reduce rendering cost, asset weight, layout work, animation jank, and unnecessary client state.
- Distill: simplify noisy hierarchy, controls, labels, and repeated decoration without removing needed capability.
Framework Awareness
- Detect the framework and version from the project before choosing patterns.
- Follow existing routing, rendering, data-fetching, state, styling, testing, and component conventions.
- Use framework-specific best practices already present in the repository.
- For React, inspect rendering boundaries, effect usage, keys, memoization pressure, and bundle cost.
- For Vue, preserve Composition or Options API conventions, reactivity boundaries, and router/store patterns.
- For Svelte, preserve component composition and current reactivity conventions.
- For Three.js or canvas work, verify visual output, resize behavior, asset loading, controls, and animation loops.
- Do not migrate frameworks, routers, state libraries, CSS systems, or primitive libraries unless requested.
Hardening Requirements
- Test realistic long text, empty data, failed requests, slow requests, and partial permissions.
- Consider localization expansion, pluralization, dates, numbers, and right-to-left layout when relevant.
- Preserve user input during recoverable errors.
- Avoid layout shifts when asynchronous content arrives.
- Ensure touch targets and hover behavior also work for keyboard and touch users.
- Confirm destructive actions, prevent accidental double submission, and communicate background progress.
Build Rules
- Use the project's existing component primitives first.
- Do not mix primitive libraries within one interaction surface.
- Do not hand-roll keyboard or focus behavior when a proven primitive exists.
- Do not block paste in text inputs.
- Use dynamic viewport units for full-height layouts and account for mobile safe areas.
- Keep z-index values on a small documented scale.
- Avoid arbitrary styling values when project tokens already express the intent.
- Do not introduce a landing page when the requested product should open directly into the working experience.
- Do not add explanatory UI copy about implementation, styling, or keyboard shortcuts unless the product requires it.
Review Output
Report findings by severity:
Findings
- [P1] Short title - file:line
User impact and concrete fix.
Validation
- Viewports and interactions checked.
- Tests or browser checks run.
Residual Risk
- Anything not verified.
Priority guidance:
P0: unusable core flow, severe accessibility barrier, or destructive behavior.P1: broken interaction, keyboard/focus failure, major responsive overlap, or inaccessible form/dialog.P2: incomplete state, confusing hierarchy, performance issue, or significant inconsistency.P3: localized polish issue with low user impact.
Final Quality Checks
- Can the intended user complete the primary workflow efficiently?
- Does the interface still identify its product domain if the logo and product name are hidden?
- Is hierarchy visible when squinting or viewing at a distance?
- Would replacing the layout, type, or tokens with common defaults materially change the design?
- Are all interactive states accessible by keyboard and understandable without color alone?
- Is the mobile composition deliberate rather than merely compressed?
- Did browser verification confirm the implementation rather than only the source code?
Source And Attribution
This skill is an original Skill-Agents synthesis. It was informed by patterns cataloged in the UI Skills directory and by the credited skill authors listed in references/credits.md. Do not present this skill as an official UI Skills or upstream-author skill.