tw93/waza8 files

UI

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.

Specification
Skill ID
tw93/waza/ui
Publisher
tw93
Repository
waza
Installs
0
Files
8
Synced
Sep 23, 2026
How to use it

Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.

tw93/waza/uiInstalls these files
  • 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

What this skill tells the agent

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.

  1. What is the design signature? A typeface, color system, unexpected motion, asymmetric layout. Pick one and make it obvious.
  2. What are the hard constraints? Framework, bundle size, contrast minimums, keyboard accessibility.
  3. 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.

Only attach the target component folder or package. Exclude .git, node_modules, dist, and lock files. Dragging in an entire monorepo pollutes the context with irrelevant code and degrades output quality.

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

Use this skill in a project

Open any RiverX project, search the Skills panel for tw93/waza/ui, and install it in one click.

Use this skill