Agent skill

Distinctive UI Builder

by tw93 in tw93/Waza

Builds or restyles production UI with a clear point of view, checks the result against screenshots and responsive states, and hands document typography to other skills.

MITAuto-check passedFrontend & Design

Install Distinctive UI Builder

skills CLI
$ npx skills add tw93/Waza --skill ui -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install tw93/Waza ui --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/tw93/Waza.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/ui .claude/skills/ui && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
ui
GitHub stars
7.2k
Token cost
~3.7k tokens
SKILL.md length
2,097 words
Files
8 (incl. references)
Skills in repo
7
Repo updated
First seen
Licence
MIT

At a glance

Builds or restyles production UI with a clear point of view, checks the result against screenshots and responsive states, and hands document typography to other skills.

  • Works in 5 steps: Who uses this, and in what context?… → What is the aesthetic direction? Name it… → What is the design signature? A… → …
  • Restyling a page or component that looks generic
  • SKILL.md covers Outcome Contract, Durable Context Preflight, Mode Picker and Lock the Direction First, plus 4 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

The skill sets an outcome contract: a usable interface or visual fix with a clear point of view and no incoherent layout, text or responsive breakage. It counts as done only when the real rendered surface or generated artifact has been checked against your visual goal and the relevant viewport states, using screenshots, rendered UI, source components, design tokens, accessibility constraints and your references as evidence. The output is either the implemented change or a precise visual review that names the verification gap left. Em dashes are banned in its output.

A short gut-feel complaint such as calling something odd or abrupt is treated as an aesthetic rejection rather than a bug. Generated image assets follow the generated-asset reference, while coded UI follows the screenshot-iteration reference. Reports, slide decks, resumes and print-oriented pages go to a document typesetting skill if installed, and screen typography stays here. Current screenshots override remembered preferences. Reference files cover quick fixes, data visualization, native motion and design guidance. It is not for backend logic or data pipelines.

When your agent uses it

  • Restyling a page or component that looks generic
  • Polishing a layout against a screenshot of the current rendered result
  • Fixing typography and spacing on an app screen

Example prompts

  • “Restyle the pricing page so it does not look like a default template, and check it at phone width.”
  • “Here is a screenshot of the dashboard. It feels off and cramped. Fix the visual hierarchy.”
  • “Polish the typography of the settings screen, keeping the existing design tokens.”

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Who uses this, and in what context? Analyst dashboard differs from landing page or onboarding flow. See "App shell exception" below if the…
  2. What is the aesthetic direction? Name it precisely: dense editorial, raw terminal, ink-on-paper, brutalist grid, warm analog. "Clean and…
  3. What is the design signature? A typeface, color system, unexpected motion, asymmetric layout. Pick one and make it obvious.
  4. What are the hard constraints? Framework, bundle size, contrast minimums, keyboard accessibility.
  5. What is the signature micro-interaction? Scale on press, staggered reveal, or contextual icon animation. Pick one and know exactly how…

What it can do on your machine

Read from SKILL.md and the folder at commit 6b6c736. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Distinctive UI Builder loads about 3.7k tokens when it runs, and up to ~17k if it reads all its reference files. Until then it costs about 46 tokens; SKILL.md has 2,097 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~46
When it runs · the whole SKILL.md, loaded when a task matches
~3.7k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~17k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from tw93/Waza at commit 6b6c736, republished under its MIT licence (© tw93). 2,097 words, ~3,734 tokens.

Download SKILL.mdSave it as .claude/skills/ui/SKILL.md (or your agent's skills folder). This skill also uses 7 other files; get the full folder from GitHub.
name
ui
description
Produces distinctive production UI and screenshot-grounded visual polish. Use when building or restyling pages, components, or typography. Not for backend logic or data pipelines.
when_to_use
做组件, 不好看, 不和谐, 不清晰, 很丑, 很怪, 很傻, 突兀, 不协调, 字体, 排版, UI, 截图, build page, create component, make it look good, screenshot with visual complaint, font looks wrong
dispatch_intent
UI, component, page, visual interface, frontend, artifact-grounded screenshot aesthetic complaint

UI: Build It With a Point of View

Prefix your first line with 🥷 inline, not as its own paragraph.

If it could have been generated by a default prompt, it is not good enough.

Outcome Contract

  • Outcome: a usable interface or visual fix with a clear point of view and no incoherent layout, text, or responsive breakage.
  • Done when: the real rendered surface or generated artifact has been checked against the user's visual goal and the relevant viewport states.
  • Evidence: screenshots, rendered UI, source components, design tokens, accessibility constraints, and user-provided references.
  • Output: the implemented visual change or a precise visual review with the remaining verification gap named.

Output language rule: Never use U+2014 em dash in any output from this skill. Use commas, colons, or periods instead.

Chinese gut-feel complaints: when the user says "很傻", "很怪", "突兀", "不协调", "不和谐" about a visual, treat it as an aesthetic rejection, not a debugging symptom. Generated image assets stay in references/mode-generated-asset.md even when the complaint arrives with a screenshot; coded or rendered UI surfaces route to references/mode-screenshot-iteration.md, not to /hunt.

Document and print typography routes out. When the deliverable is a shippable document rather than a product UI surface (report, slide deck, resume, long-form or print-oriented page, paged PDF), do not hand-roll an over-designed document layout here. Hand it to a document typesetting skill if one is installed and let that skill draft the detailed plan. Screen 排版 (app surfaces, components, web pages) stays in this skill.

Durable Context Preflight

See references/durable-context.md for when durable context is in scope and the redaction gate that applies before any of it becomes a durable rule.

For /ui: current screenshots and rendered output override memory. Reuse durable visual preferences and mature interaction patterns, but still name the current visual problem from the screenshot or source before changing code.

Mode Picker

Pick the path that matches each deliverable, then read it in full. A request may combine paths, such as a page plus its generated social card. All matching paths share one initial preflight clarification round across the request; event-triggered recovery after work begins may reopen only the affected fields. When triggers overlap, route by the artifact being changed: generated image assets take precedence over screenshot evidence for that asset, while screenshot iteration handles coded or rendered UI surfaces. Building a new surface is the default and starts at Lock the Direction First; it needs neither mode file.

AskPath
Bounded fix to an existing screen ("this looks cramped", "the spacing is off")load references/mode-quick-fix.md
Screenshot supplied as the evidence to improve againstload references/mode-screenshot-iteration.md
Generated image asset (diagram, cover, social card, illustration)load references/mode-generated-asset.md
New page, component, or visual systemLock the Direction First

Lock the Direction First

Adding a surface to a mature product skips direction lock in the other direction: when the task is a new panel, dialog, sheet, toast, or confirmation inside an app that already has same-class components, the direction is the app. Grep for the existing sibling component first and reuse its container, motion, and typography tokens; inventing a new style needs a stated reason why no existing component fits. First drafts that ignore the app's own component vocabulary get rejected on sight.

Resolve the five direction dimensions below before writing code. Take colour, type, width, and voice from the current product's tokens, sibling components, screenshots, and the repo's git history first; then from other shipped products by the same team or author when they exist; then from the conversation. Model-default palettes, default fonts, and freehand graphics are allowed only when no reference exists. Infer first. Across every path in the request, ask in one compact clarification round with at most two sub-questions, only when the missing answer would materially change a deliverable. State the strongest inferred answer for every unresolved dimension and ask the user to correct only the material assumptions. An omitted answer accepts the stated assumption. A contradictory answer reopens only the affected dimension and must be resolved before that deliverable proceeds. An existing product may answer all five without another user turn.

  1. Who uses this, and in what context? Analyst dashboard differs from landing page or onboarding flow. See "App shell exception" below if the answer is a sidebar + main workspace layout.

  2. What is the aesthetic direction? Name it precisely: dense editorial, raw terminal, ink-on-paper, brutalist grid, warm analog. "Clean and modern" is not a direction. If the user names a reference site or product ("feels like Linear / Claude.ai / Vercel"), do not accept it as a direction -- extract 3 concrete properties from it: button radius philosophy, surface depth treatment (shadow vs background step vs border), and accent color family. Name those instead.

    Shortcut for well-known brands: when exact brand tokens would materially improve a direction that remains underdetermined, offer the "Reference-site Brand Presets" path in references/design-reference.md. Run the preset only with explicit approval, then decompose against the generated file. Skip it when screenshots, source tokens, or sibling components already settle the direction.

  3. What is the design signature? A typeface, color system, unexpected motion, asymmetric layout. Pick one and make it obvious.

  4. What are the hard constraints? Framework, bundle size, contrast minimums, keyboard accessibility.

  5. What is the signature micro-interaction? Scale on press, staggered reveal, or contextual icon animation. Pick one and know exactly how it's implemented.

Do not write code until all five are resolved by evidence, a stated assumption, or clarification. A dimension can be "none": a quiet utility surface may deliberately have no signature motion.

Survey 2-3 mature products only when the problem is a genuinely unfamiliar interaction pattern or the direction remains underdetermined after reading the current product. Record one concrete decision from each. Skip this for cosmetic fixes, established sibling components, and tasks whose references already settle the pattern; mandatory benchmarking on every component produces imitation and delays obvious work.

Source repo as reference

When the user provides a repository URL or pastes source code of an existing product to recreate or extend: the file tree is a menu, not the meal. Do not reconstruct the UI from memory or training data. Instead, read the actual source:

  • Theme and token files: theme.ts, colors.ts, tokens.css, _variables.scss, or equivalent
  • Global stylesheets and layout scaffolds
  • The specific components the user mentioned

Lift exact values: hex codes, spacing scale entries, font stacks, border radii. A rough approximation is not pixel fidelity. Read only the target component folder or package, never .git, node_modules, dist, or lock files.

Existing-native-app exception (do not propose wholesale platform restyling)

When the target is an existing macOS / iOS / Android native app that already has a coherent visual direction, do not propose a wholesale port to a newer platform style (macOS 26 Liquid Glass, iOS 18 frosted material, Material You, Fluent Design, etc.) as the default improvement plan. Wholesale restyling reads as "I do not have a specific design intent, here is the platform's." Default to incremental polish on the existing direction: spacing, alignment, hover and focus states, typography hierarchy, copy tightening, motion timing. Only propose a platform-style migration when the user has explicitly asked for it in this turn, or when the existing direction is broken in a way that incremental polish cannot fix. State the existing direction in one sentence before proposing changes so the user can correct the read.

When the change touches motion, press states, or animation timing on that native surface, load references/design-native-motion.md: the judgment carries over from the web rules, the idioms and the platform's default curves do not.

Show full SKILL.md (851 more words)Show less
App shell exception (sidebar + main workspace)

If question 1 is an app shell (Slack, Linear, Notion class), load the "App shell rules" section in references/design-reference.md and apply those constraints before proceeding.

Data dashboard exception

If the surface is a dashboard, analytics view, or chart-heavy interface, also load references/design-data-viz.md for chart selection, number alignment, and product-benchmark rules. Skip when building marketing pages, landing pages, or generic components.

State the chosen direction in one sentence, then load references/design-reference.md and check the tech stack conflicts table. Name the single CSS strategy before writing the first component. Token decisions (color, font, motion), production craft, aesthetic review, DESIGN.md, options, and strategic omissions all live in that one canonical file.

Summarize the direction as three lines before writing any code:

  • Visual thesis: mood, material, and energy in one sentence (e.g. "warm brutalist editorial with high-contrast ink type and rough paper texture")
  • Content plan: hero -> support -> detail -> final CTA, one line each. For app/dashboard surfaces: skip the marketing structure, default to utility mode (orient, show status, enable action), no hero unless explicitly requested.
  • Interaction thesis: either none with one evidence-based reason, or 2-3 specific motion ideas that change how the page feels (e.g. "hero text slides in on load, section headers pin while content scrolls beneath, CTA pulses on hover")

For production or multi-page UIs, expand the thesis into the 9-section DESIGN.md scaffold in references/design-reference.md (theme, palette, typography, components, layout, depth, do/don't, responsive, prompt guide). For a single component, the three lines are sufficient.

When Asked For Options

Give at least 3 variations across genuinely different dimensions; the Options Guide in references/design-reference.md names the dimensions, the mix, and the basic-to-bold progression.

Offer without being asked when the decision is taste, not correctness: icon, weight, accent, motion feel. Two labeled candidates beat one landed guess, because the reply is a single letter instead of a rewrite round. For a structural change, describe the end state in a sentence or two and get a nod before writing the code.

Hard Rules

Always-on bans for every mode, each with its rewrite in the Absolute Bans table of references/design-reference.md: no thick side-border accents, gradient text, default glass cards, reflex purple-to-blue/cyan-on-dark palettes, generic rounded shadow-card grids, modal escapes for ordinary overflow, transition: all, or layout-property animation.

Two motion rules apply in every mode, including the ones that skip the full reference. Frequency decides whether something animates at all: nothing keyboard-initiated animates, and anything the user triggers hundreds of times a day reads motion as lag, so it gets none. And every pressable thing moves on press, not only on hover, because hover is pointer-only and an unmoved control leaves the click unacknowledged.

Direction lock loads references/design-reference.md for the full rewrites, typography, OKLCH color, motion timings, layout defaults, accessibility baseline, and complexity matching. Screenshot and quick-fix paths use the compact bans above instead of paying for that full reference. These rules keep output off the generic default, not to run as a lint pass: when the committed direction genuinely calls for breaking one, break it deliberately and name the tradeoff in the handoff. The accessibility baseline and CSS-pattern bans stay non-negotiable.

Gotchas

What happenedRule
Relied on … truncation to fit text in a fixed-width slotGuarantee fit instead: compact the format, cap to whole segments, or hard-trim with no glyph. Metric and label footers must never tail-truncate into an ellipsis.
One extra word pushed a line into a wrap; the last line held a single orphan wordInspect the container and forced breaks first; tighten repetition without losing meaning, never shrink type for a widow. Sweep sibling blocks for the same layout cause, not every short last line.
Five text styles inside one small cardOne text style per role inside a card, hierarchy by order; more than three distinct text styles in a small block is the smell.

Output: Aesthetic Review

After significant build phases and at handoff, re-read the visual thesis from direction lock. If what is on screen drifted toward a generic default, identify the specific element that broke first (typeface, color, card treatment, spacing) and fix it before continuing.

Before the handoff summary, a new page or visual system also runs the Aesthetic Review Checks in references/design-reference.md. Every surface runs the AI Slop Test: would a stranger glancing at the first viewport say "an AI made this"? Scan it for the Absolute Bans and Common Traps in references/design-reference.md (reflex font, default gradient, centered hero with two CTAs side by side, three identical cards, generic top nav) and fix typography, color, or layout until any that were not an explicit part of the direction are gone.

If any check fails, fix first. Render the product's supported viewport or window range yourself: web breakpoints on both sides, and native minimum width, minimum height, their combination, and normal size. Test samples do not require new layout branches. Only when the host cannot render, say so and hand the user the exact view to check.

End with:

  • Aesthetic direction, named and justified in 2-3 sentences
  • Non-obvious choices explained: typeface, color decisions, layout logic
  • Instructions for replacing placeholder content with real content

After handoff, stop.

© tw93, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 7 other files (references) in skills/ui of tw93/Waza.

  • SKILL.md
  • references/design-data-viz.md
  • references/design-native-motion.md
  • references/design-reference.md
  • references/durable-context.md
  • references/mode-generated-asset.md
  • references/mode-quick-fix.md
  • references/mode-screenshot-iteration.md

Open the folder on GitHubat commit 6b6c736

Compare with similar skills

Distinctive UI Builder next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Distinctive UI Builder compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Distinctive UI Builder this skilltw93/Waza7.2k—~3.7kAutomated safety check: PassMIT
UI UX Pro MaxOhh-889/skyroc7956 repos~14kAutomated safety check: PassMIT
UI UX Pro Maxc0x12c/ai-toolkit106—~2.1kAutomated safety check: PassNone
UI UX Pro Max SkillJason904/ui-skill-lab144—~865Automated safety check: PassMIT
UI Designginlix-ai/LangAlpha1.8k—~2.9kAutomated safety check: PassApache-2.0
Create Websitewondelai/skills2.4k—~5.7kAutomated safety check: PassMIT

Similar skills

  • UI UX Pro Max

    Ohh-889/skyroc

    UI/UX design intelligence for web, mobile, and desktop. An agent skill from Ohh-889/skyroc.

    795 GitHub starsUsed in 6 repos~14k tokens
    Frontend & DesignAuto-check passed
  • UI UX Pro Max

    c0x12c/ai-toolkit

    UI/UX design intelligence with searchable style, palette, typography, and chart databases.

    106 GitHub stars~2.1k tokensUpdated 3 mo ago
    Frontend & DesignAuto-check passed
  • UI UX Pro Max Skill

    Jason904/ui-skill-lab

    A skill your agent uses for UI/UX design intelligence in Codex: planning, building, reviewing, improving, or implementing web/mobile interfaces, landing pages, dashboards, design systems…

    144 GitHub stars~865 tokensUpdated 3 mo ago
    Frontend & DesignAuto-check passed
  • UI Design

    ginlix-ai/LangAlpha

    Design-quality reference for financial-research visual output: typography, color, composition, and avoiding generic AI aesthetics

    1.8k GitHub stars~2.9k tokensUpdated today
    Frontend & DesignAuto-check passed
  • Create Website

    wondelai/skills

    Guided journey from a blank page to a live, high-converting website, built message-first, then design, then conversion.

    2.4k GitHub stars~5.7k tokensUpdated 27 days ago
    Frontend & DesignAuto-check passed
  • Ultimate UI

    NeverSight/learn-skills.dev

    A skill your agent uses when building user interfaces that need to look polished, modern, and intentional - not like AI-generated slop.

    216 GitHub starsUsed in 1 repo~4k tokens
    Frontend & DesignAuto-check passed

More from tw93/Waza

  • Fetches web pages and PDFs and returns a source-grounded summary, clean Markdown, quotes or citations, routing each kind of link to a suitable fetch method.

    7.2k GitHub stars~1.8k tokensUpdated yesterday
    Auto-check passed
  • Reviews diffs and pull requests, triages issues, and checks release readiness, reporting findings with evidence and making no edits unless authorized.

    7.2k GitHub stars~6.9k tokensUpdated yesterday
    Auto-check passed
  • Audits a project's agent configuration, instruction drift, hooks, MCP and AI maintainability, then reports prioritized findings with evidence and next actions.

    7.2k GitHub stars~5.2k tokensUpdated yesterday
    Auto-check: notes
  • Forces a one-sentence, evidence-backed root cause before any fix is applied, and gates when a diagnosis session is even allowed to touch code.

    7.2k GitHub stars~4.3k tokensUpdated yesterday
    Auto-check passed
  • Turns a rough idea into an approved, decision-complete plan or recommendation before any code is written, for architecture choices and go or no-go calls.

    7.2k GitHub stars~3k tokensUpdated yesterday
    Auto-check: notes
  • Runs a six-phase research workflow from a bundle of sources to a chosen output, whether quick notes, a canonical reference article or a publish-ready draft.

    7.2k GitHub stars~2.2k tokensUpdated yesterday
    Auto-check passed

Questions about Distinctive UI Builder

What does Distinctive UI Builder do?

Builds or restyles production UI with a clear point of view, checks the result against screenshots and responsive states, and hands document typography to other skills. The skill sets an outcome contract: a usable interface or visual fix with a clear point of view and no incoherent layout, text or responsive breakage. It counts as done only when the real rendered surface or generated artifact has been checked against your visual goal and the relevant viewport states, using screenshots, rendered UI, source components, design tokens, accessibility constraints and your references as evidence.

When should I use Distinctive UI Builder?

Distinctive UI Builder fits situations like: restyling a page or component that looks generic; polishing a layout against a screenshot of the current rendered result; fixing typography and spacing on an app screen.

How do I install Distinctive UI Builder in Claude Code?

Run `npx skills add tw93/Waza --skill ui -a claude-code`. Or copy the skill folder (skills/ui in tw93/Waza) into .claude/skills/ui in your project. Claude Code loads it when a task matches its description.

How do I install Distinctive UI Builder in Codex?

Run `npx skills add tw93/Waza --skill ui -a codex`. Or copy the skill folder (skills/ui in tw93/Waza) into .agents/skills/ui in your project. Codex loads it when a task matches its description.

Can I use Distinctive UI Builder in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add tw93/Waza --skill ui -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ui, .gemini/skills/ui, .github/skills/ui and .opencode/skills/ui in your project.

What does Distinctive UI Builder need to run?

SKILL.md names no scripts, command-line tools or credentials: Distinctive UI Builder is instructions for the agent only.

Does Distinctive UI Builder access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Distinctive UI Builder safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Distinctive UI Builder use?

Distinctive UI Builder is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Distinctive UI Builder use?

About 3.7k tokens (SKILL.md is roughly 15k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 13k tokens, read only when the agent opens those files.

What are the alternatives to Distinctive UI Builder?

Skills that share tags, products or a category with Distinctive UI Builder: UI UX Pro Max (Ohh-889/skyroc, 795 stars), UI UX Pro Max (c0x12c/ai-toolkit, 106 stars), UI UX Pro Max Skill (Jason904/ui-skill-lab, 144 stars) and UI Design (ginlix-ai/LangAlpha, 1.8k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Distinctive UI Builder?

tw93 (a GitHub user) maintains it in tw93/Waza, which has 7,177 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 7, 2026.

Source: tw93/Waza on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.