Senior UI/UX frontend skill that enforces anti-slop design decisions, motion quality, and architecture discipline.
Same prompt, different result
Prompt — Design a SaaS homepage for an analytics product called Signal.
Skill markdown
# tasteskill v2 A page built by a model usually looks like the average of every page the model has seen: a centred headline over three lines, a little label above it, a row of icon cards, a soft gradient, a few thin rules and a monospace caption. Nothing in it is wrong and nothing in it was decided. This skill replaces those defaults with decisions, in four ways: 1. **A script deals the directions, you choose among them.** Asked to invent a look, a model picks the category default every time. `scripts/draw.mjs` deals three of twenty researched directions; you choose the one that carries the subject's idea, and the script then deals its type system, palette, hero and section compositions from a library distilled from 247 real sites. 2. **The idea comes from the subject.** In the study, what separated the best sites from the forgettable ones was a concept taken from the thing itself, not the styling. 3. **A house style with no ornaments,** measured in a real browser by `scripts/inspect.mjs`, so the rules are checked rather than hoped for. 4. **You look at what you made.** Screenshots at three widths, a juror's rubric, fix, look again. One warning learned in testing. Taking the ornaments away is only half the job; a page that has lost its labels, rules and cards and gained nothing in their place reads as thin, and blind jurors rightly prefer a richer page with tells over an empty page without them. The other half is substance: type set larger, whole fields of colour, real pictures of this subject's world (found or drawn), and every section carrying its full content. The skill is built to give you that; do not trade it for restraint. In the commands below `<skill>` is this skill's folder. Run them from the project's root, so the working files land in `.taste-skill/` there. The scripts need Node 22+ and an installed Chrome, Edge or Chromium, and install nothing. `assets.mjs` also needs network access; it uses no API keys. ## Page or app screen Decide first which of two kinds of work this is. - **A page** is read and scrolled: a landing page, a marketing or product site, a portfolio, an event, a restaurant, a one-pager. It follows **the run** below. - **An app screen** is worked in: a dashboard, an admin or analytics view, settings, billing, an inbox or queue to work through, a wallet, a list with filters, an editor or builder. It follows **`references/app-screens.md`**: its own run, its own draw (`draw.mjs --app`), its own house rules (quiet borders, small labels and repeated panels are normal there; gradients, glows, icons in tinted squares, rainbow charts and invented vanity numbers are not) and `inspect.mjs --app`. Read that file whole before you start; the page run below does not apply. A product site that shows its app is a page; the interface fragments on it follow the app-screen rules for their insides. Deal the product's app style once, in its own folder, with the page's colours and type kept: ```bash node <skill>/scripts/draw.mjs --app --kind <kind> --brief "<the product>" --keep palette,type --out .taste-skill/app ``` and build every fragment the page shows (the hero's live screen, a feature's crop, a chart) as a real piece of that app: `assets/app.css` for its panels, tables and controls, `assets/charts.js` for its charts, real data that adds up, one finding stated, cropped and scaled the way the page's blueprint treats a picture. A fragment that looks like a working product is the strongest picture a software page has; grey bars and lorem numbers are the weakest. When a request mixes both (a landing page and the dashboard behind it), build each with its own run and one shared palette and typeface. ## The run Do these in order. Steps 1–5 take a few minutes and decide whether the page is any good. ### 1. Read the brief and the project Find out what is real: the subject, the audience, the one thing the page must get someone to do, the stack, any existing brand (colours, fonts, logo), and above all **what imagery truly exists**: the project's own photographs or product shots, a real interface that can be shown, an image generation tool you can call, or nothing. Do not plan around pictures you do not have. Nothing of its own is rarely nothing at all: the subject's city, street, materials and history are in open archives and museums, free to use with a credit (step 6, `scripts/assets.mjs`). If the request is vague, decide and state your reading in one line instead of asking. Ask only when a missing fact blocks the work (for example, no product name). Then **inventory the subject** in your notes: eight to twelve things that belong to this client and to no competitor. Look for its name and what the name means; its address, door number, street and neighbourhood, and what that place looks like (its tiles, signs, paint colours, typefaces on its shop fronts, its light, its weather); the numbers in the brief (seats, rooms, minutes to the sea, the price, the year); the c …
More from Leonxlnx
- Design Taste Frontend V1Original v1 taste-skill preserved for backward compatibility; prefer design-taste-frontend (v2) by default.
- BrandkitPremium brand-kit image generation for identity boards, logo systems, and visual-world presentations.
- Industrial Brutalist UIRaw, mechanical interface direction mixing Swiss print structure with terminal-inspired brutalist aesthetics.
- Gpt TasteHigh-agency UX/UI skill with strict layout variance, typography, and GSAP motion engineering constraints.
- Image To CodeImage-first website design-to-code: generate readable section references, then implement to match them closely.
- Imagegen Frontend MobilePremium mobile app image-generation for readable, app-native screen concepts and flows. Images only — no code.