UI UX Pro Max
Ohh-889/skyroc
UI/UX design intelligence for web, mobile, and desktop. An agent skill from Ohh-889/skyroc.
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.
$ npx skills add tw93/Waza --skill ui -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install tw93/Waza ui --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "ui" agent skill from https://github.com/tw93/Waza/tree/main/skills/ui into .claude/skills/ui/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ui", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/tw93/Waza/tree/main/skills/uiType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add tw93/Waza --skill ui -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install tw93/Waza ui --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tw93/Waza.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/ui .agents/skills/ui && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "ui" agent skill from https://github.com/tw93/Waza/tree/main/skills/ui into .agents/skills/ui/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ui", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add tw93/Waza --skill ui -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install tw93/Waza ui --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tw93/Waza.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/ui .cursor/skills/ui && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "ui" agent skill from https://github.com/tw93/Waza/tree/main/skills/ui into .cursor/skills/ui/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ui", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/tw93/Waza.git --path skills/ui--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add tw93/Waza --skill ui -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install tw93/Waza ui --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tw93/Waza.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/ui .gemini/skills/ui && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "ui" agent skill from https://github.com/tw93/Waza/tree/main/skills/ui into .gemini/skills/ui/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ui", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install tw93/Waza uiInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add tw93/Waza --skill ui -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/tw93/Waza.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/ui .github/skills/ui && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "ui" agent skill from https://github.com/tw93/Waza/tree/main/skills/ui into .github/skills/ui/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ui", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add tw93/Waza --skill ui -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install tw93/Waza ui --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tw93/Waza.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/ui .opencode/skills/ui && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "ui" agent skill from https://github.com/tw93/Waza/tree/main/skills/ui into .opencode/skills/ui/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ui", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
uiBuilds 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. 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.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 6b6c736. It shows what the files ask for, not the result of running them.
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.
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.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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.
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.
The full file from tw93/Waza at commit 6b6c736, republished under its MIT licence (© tw93). 2,097 words, ~3,734 tokens.
.claude/skills/ui/SKILL.md (or your agent's skills folder). This skill also uses 7 other files; get the full folder from GitHub.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.
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.
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.
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.
| Ask | Path |
|---|---|
| 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 against | load references/mode-screenshot-iteration.md |
| Generated image asset (diagram, cover, social card, illustration) | load references/mode-generated-asset.md |
| New page, component, or visual system | 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.
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.
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.
What is the design signature? A typeface, color system, unexpected motion, asymmetric layout. Pick one and make it obvious.
What are the hard constraints? Framework, bundle size, contrast minimums, keyboard accessibility.
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.
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.ts, colors.ts, tokens.css, _variables.scss, or equivalentLift 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.
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.
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.
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:
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.
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.
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.
| What happened | Rule |
|---|---|
Relied on … truncation to fit text in a fixed-width slot | Guarantee 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 word | Inspect 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 card | One text style per role inside a card, hierarchy by order; more than three distinct text styles in a small block is the smell. |
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:
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
SKILL.md and 7 other files (references) in skills/ui of tw93/Waza.
Open the folder on GitHubat commit 6b6c736
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Distinctive UI Builder this skilltw93/Waza | 7.2k | — | ~3.7k | Automated safety check: Pass | MIT | |
| UI UX Pro MaxOhh-889/skyroc | 795 | 6 repos | ~14k | Automated safety check: Pass | MIT | |
| UI UX Pro Maxc0x12c/ai-toolkit | 106 | — | ~2.1k | Automated safety check: Pass | None | |
| UI UX Pro Max SkillJason904/ui-skill-lab | 144 | — | ~865 | Automated safety check: Pass | MIT | |
| UI Designginlix-ai/LangAlpha | 1.8k | — | ~2.9k | Automated safety check: Pass | Apache-2.0 | |
| Create Websitewondelai/skills | 2.4k | — | ~5.7k | Automated safety check: Pass | MIT |
Ohh-889/skyroc
UI/UX design intelligence for web, mobile, and desktop. An agent skill from Ohh-889/skyroc.
c0x12c/ai-toolkit
UI/UX design intelligence with searchable style, palette, typography, and chart databases.
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…
ginlix-ai/LangAlpha
Design-quality reference for financial-research visual output: typography, color, composition, and avoiding generic AI aesthetics
wondelai/skills
Guided journey from a blank page to a live, high-converting website, built message-first, then design, then conversion.
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.
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.
tw93/Waza
Reviews diffs and pull requests, triages issues, and checks release readiness, reporting findings with evidence and making no edits unless authorized.
tw93/Waza
Audits a project's agent configuration, instruction drift, hooks, MCP and AI maintainability, then reports prioritized findings with evidence and next actions.
tw93/Waza
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.
tw93/Waza
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.
tw93/Waza
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.
Categories
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.
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.
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.
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.
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.
SKILL.md names no scripts, command-line tools or credentials: Distinctive UI Builder is instructions for the agent only.
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.
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.
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.
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.
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.
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.