Frontend Ui Standards logo

Frontend Ui Standards

Community
MaxHan7
frontend-ui-standards

Use when implementing, refactoring, or reviewing frontend UI across SwiftUI, React, React Native, Flutter, web, or mobile apps. Applies to Figma-to-code work, visual consistency fixes, design tokens, typography, spacing, layout, buttons, cards, navigation chrome, safe areas, responsive behavior, and component reuse. Helps prevent scattered hardcoded values, one-off layout patches, duplicated components, and UI drift from the design system.

Overview

PublisherMaxHan7
Repositoryfrontend-ui-standards-skill
Skill namefrontend-ui-standards
Stars
105
Forks
1
Bundled files
1
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 1 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by MaxHan7 on GitHub. Read the source before you install it.

Installation

Install the Frontend Ui Standards AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/MaxHan7/frontend-ui-standards-skill/tree/main/frontend-ui-standards
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/MaxHan7/frontend-ui-standards-skill.git /tmp/frontend-ui-standards-skill
mkdir -p .claude/skills
cp -r /tmp/frontend-ui-standards-skill/frontend-ui-standards .claude/skills/frontend-ui-standards
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Frontend Ui Standards in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Frontend Ui Standards on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Frontend Ui Standards is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Frontend UI Standards

Purpose

Use this skill to turn UI work into systematic frontend implementation. The goal is not pixel tweaking. The goal is to preserve a design system in code so future changes stay predictable, reusable, and visually consistent.

This skill is framework-agnostic. Translate the rules to the local stack:

  • SwiftUI: design tokens as enums/static constants, reusable Views, semantic metrics.
  • React/Web: CSS variables, design-token modules, component props/variants.
  • React Native/Flutter: theme objects, shared components, semantic dimensions.

When To Use

Use this skill before touching UI when the task involves:

  • Building or changing a visible screen, component, layout, or interaction.
  • Translating Figma, SVG, screenshots, or visual specs into code.
  • Fixing visual bugs: misalignment, truncation, inconsistent spacing, wrong font, wrong button size, unsafe-area issues.
  • Creating or changing buttons, cards, chips, tabs, nav bars, sheets, dialogs, lists, progress indicators, input fields, or reading surfaces.
  • Reviewing frontend code for production readiness or design consistency.
  • Refactoring duplicated UI or scattered hardcoded values.

Do not use it for pure backend, data model, prompt, or infrastructure work unless the change affects user-facing UI.

Core Principle

UI code has three layers:

  1. Design tokens: global primitives and semantic values such as color, type, spacing, radius, elevation, safe-area offsets, content width.
  2. Component metrics: component-specific structure such as chip height, icon size, internal padding, card header spacing, button variants.
  3. Screen layout metrics: page-specific composition such as hero card position, section gaps, repeated row alignment, decorative asset placement.

View code should describe structure and state. It should not hide raw design math in the body.

Implementation Workflow

  1. Inspect Existing Patterns

    • Search for the closest existing component and screen before adding new UI.
    • Identify the local design token files, theme files, component libraries, and layout helpers.
    • Check if the same visual element already appears elsewhere.
  2. Classify Every Visual Value

    • Global and reusable: put it in design tokens.
    • Component-specific: put it in a component metrics object/enum.
    • Screen-specific but repeated within that screen: put it in screen layout metrics.
    • One-off decorative positioning: keep it isolated in named screen metrics, not inline in the view body.
  3. Build From Reuse

    • Prefer extending an existing component variant over creating a new component.
    • If two places use the same visual role, they should share the same component or metrics.
    • If a new component repeats soon after, extract it immediately.
  4. Encode Layout Relationships

    • Prefer derived values over duplicated numbers.
    • Example: authorChipWidth = rowWidth - sourceChipWidth - rowGap, not three unrelated widths.
    • Align related elements by sharing a container, grid, layout guide, or named metric.
    • Do not fix alignment by locally nudging one element unless the offset is a named decorative exception.
  5. Verify Similar Surfaces

    • After fixing one button/card/header, search for the same label, component, asset, or pattern.
    • Update the shared component when possible.
    • If a one-off remains, document why through a clear metric name or short comment.
  6. Build And Visually Sanity Check

    • Run the relevant build/typecheck.
    • For mobile UI, install or run in simulator/device when the user is actively validating visuals.
    • Check truncation, safe areas, touch targets, dynamic text risk, and navigation/back behavior.

Token And Metrics Rules

Prefer semantic names over visual coordinates:

  • Good: primaryActionWidth, screenHorizontalInset, cardVerticalSpacing, metadataRowWidth, sourceChipWidth.
  • Bad: width: 271, padding(.leading, 12), offset(y: 37) repeated inside view bodies.

Allowed numeric values:

  • Numeric values are allowed inside token or metrics definitions.
  • Numeric values are allowed for one-off asset geometry if they are grouped in a named metrics section.
  • Numeric values are allowed when using a platform API that requires a literal and the value is not part of visual design.

Avoid:

  • Scattered raw hex colors.
  • Inline font sizes when a type scale exists.
  • Inline spacing that should come from a spacing scale.
  • Multiple local versions of the same button, chip, top bar, card, or bottom CTA.
  • Fixing a shared component issue at only one call site.

Component Reuse Rules

Before creating UI, ask:

  • Is this a new visual role or a variant of an existing role?
  • Does an existing component already define the interaction, size, shadow, radius, or typography?
  • Will this appear on another screen?
  • Should this be a component prop/variant instead of a new file?

Create component variants for:

  • Same structure, different color or state.
  • Same button shape with different text/icon.
  • Same card shell with different content.
  • Same chip with different label/icon.

Create a new component only when:

  • The structure, behavior, or layout role is meaningfully different.
  • Extending the old component would make it unclear or fragile.

Figma-To-Code Rules

When using Figma, SVG, screenshots, or visual specs:

  • Treat Figma numbers as input evidence, not as final code structure.
  • First identify repeated primitives: colors, typography, radii, shadows, spacing, content widths.
  • Map repeated primitives to existing tokens or add new semantic tokens.
  • Map repeated UI elements to existing components or component variants.
  • Use absolute positioning only when the design is truly illustrative/decorative or when the platform layout model requires it.
  • Preserve hierarchy and relationships over blindly copying coordinates.

If Figma shows two elements aligned, encode the shared alignment in code through a common container, grid, width, or derived metric.

Typography Rules

  • Use the project type scale or platform text styles first.
  • Text hierarchy should be visible through size, weight, color, and spacing.
  • Body text on mobile should remain readable; avoid tiny labels for meaningful content.
  • Prefer wrapping for content users need to read.
  • Use truncation only for metadata, labels, usernames, authors, or bounded chips where space is intentionally constrained.
  • When truncating, constrain the text inside the correct component. Do not let text resize or push surrounding layout.

Layout And Spacing Rules

  • Use consistent page insets and content max widths.
  • Respect safe areas, notches, home indicators, and keyboard behavior.
  • Primary bottom actions should share a consistent width and vertical placement within the product.
  • Top chrome such as back, close, notification, or favorite buttons should share one positioning model.
  • Cards in the same family should share shell metrics: width, radius, shadow, content padding, and spacing rhythm.
  • Avoid nested cards unless the design explicitly uses a contained sub-card.

Interaction Rules

  • Touch targets should be at least 44pt on iOS or the platform equivalent.
  • Icon-only buttons need accessible labels.
  • Destructive actions need clear confirmation or undo.
  • Loading, retrying, disabled, empty, and error states must be explicit.
  • Back behavior should match user entry path when possible.
  • Tappable area should match user expectation; do not restrict taps to tiny icons when the whole row/card is the affordance.

Review Checklist

Before finishing UI work, check:

  • Did I search for an existing component before adding a new one?
  • Are colors, typography, spacing, radius, and shadows tokenized?
  • Are component internals in component metrics rather than inline body values?
  • Are screen-specific layout values grouped and named?
  • Are related widths/positions derived from one source of truth?
  • Did I update all same-family components or explain why not?
  • Does text fit without unwanted truncation?
  • Are touch targets and safe areas respected?
  • Did I run the relevant build/typecheck?
  • If this is visual polish, did I install/run the app or capture a screenshot when feasible?

Common Anti-Patterns

  • "Move it down 8px here" without checking the shared container.
  • Duplicating a button implementation because this screen is "slightly different."
  • Copying Figma coordinates directly into a view body.
  • Adding a local font size because one label looks wrong.
  • Fixing a width in one screen while the same component is broken elsewhere.
  • Using mock-only layout assumptions in production UI.
  • Letting generated or backend text dictate UI layout without length limits or truncation strategy.

When A Local Exception Is Acceptable

Exceptions are acceptable when they are deliberate and contained:

  • Decorative assets that are unique to one screen.
  • A marketing or editorial layout with one-off art direction.
  • A transitional refactor where a full component extraction would be too risky in the current change.
  • Platform-specific constraints that require local adaptation.

Even then, keep the value in a named metrics object and keep the exception small.

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Frontend Ui Standards AI skill do?

Use when implementing, refactoring, or reviewing frontend UI across SwiftUI, React, React Native, Flutter, web, or mobile apps. Applies to Figma-to-code work, visual consistency fixes, design tokens, typography, spacing, layout, buttons, cards, navigation chrome, safe areas, responsive behavior, and component reuse. Helps prevent scattered hardcoded values, one-off layout patches, duplicated components, and UI drift from the design system.

Why use Frontend Ui Standards on TypingMind?

Because you install it once and use it with any model. Frontend Ui Standards is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Frontend Ui Standards in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/MaxHan7/frontend-ui-standards-skill/tree/main/frontend-ui-standards. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Frontend Ui Standards?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Frontend Ui Standards?

As many as you like. As long as a model supports skills, you can use Frontend Ui Standards with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Frontend Ui Standards AI skill free?

Yes. It is published on GitHub by MaxHan7 under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇