web-visual-design
Skill0 starsChanged 10 days agoMITView on GitHub
Use when choosing a website's colours or fonts, writing design tokens or a type and layout spec, setting Chinese or bilingual Chinese-English typography, deciding layout hierarchy, or reviewing a site's visual design. Triggers include 配色, 挑字體, 字型, 中文排版, 中英混排, 版面層次, palette, dark mode colours, contrast, font loading, type scale.
1 other project uses a version of this.
Adopted by
Most recently taken up by
- beelabstudio/aitheir own version, first seen Sep 20, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- beelabstudio/ai★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository20 other files it gives its agents.
- AGENTS.mdAGENTS.md
- examples/CLAUDE.mdCLAUDE.md
- api-and-interface-designSkill
- backlogSkill
- c4-architectureSkill
- change-recordSkill
- ci-cd-and-automationSkill
- competitive-briefSkill
- documentation-and-adrsSkill
- frontend-designSkill
- frontend-ui-engineeringSkill
- git-workflow-and-versioningSkill
- oss-release-readinessSkill
- performance-optimizationSkill
- security-and-hardeningSkill
- shipping-and-launchSkill
- synthesize-researchSkill
- user-researchSkill
- ux-copySkill
- webapp-testingSkill
The file
We split this skill into the rules it gives an agent
1 rule. About 0 are common, 1 is distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 44
Put the exit code and the real ratios in the appendix.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Web Visual Design
Sourced knowledge and checks for web colour, type and hierarchy. The goal is a short system specific to this brief, with technical claims that hold up. It is not a template to fill in.
Boundaries
frontend-design owns aesthetic direction: the concept and what makes this page unlike others. This skill owns the knowledge and checks behind it, plus the visual rules for each object on the page. frontend-ui-engineering owns how components are implemented. For new work, set direction first, then use this.
What to read when
| Doing | Read |
| Colours, dark mode, default mode | references/color.md |
| Any Chinese content, or specifying or loading any font | references/typography-zh-en.md |
| Sizes, spacing, objects, memorable element, squint test | references/layout-hierarchy.md |
| Checking where a claim comes from | references/sources.md |
Those files grade each rule. Keep the limit when you repeat one: a book figure stays a book figure, and a working default is not a standard.
Output
tokens.json.- The spec. It obeys the length the brief gives. Treat one page as about 600 words unless told otherwise
[working default]. State decisions and the reason specific to this brief. Do not restate the rules from the references. - An appendix, in a separate file or section marked as outside the length: derivation table,
palette_checkoutput, self-check, what was not verified.
A step that does not apply gets one clause or nothing. A step you could not do is noted in the appendix.
Procedure
- Frame. Say who reads this, on what device, for how long, what objects the content has, and which language and region. Assume where the brief is silent, and say so.
- Pick one memorable element, tied to the subject. Say what it is, where it appears, and what is held back for it.
- Derive the colours in OKLCH. Write
tokens.json. Neutrals, lightness and chroma follow this audience and content. Say what in this brief makes the result differ from the examples inreferences/color.md. Before settling a hue, write three candidate hue families from clearly different parts of the wheel, one a truly neutral option (chroma near 0), each with a reason from this brief's content or audience, and say why the chosen one beats the others. No hue is banned; the reason must come from the brief. Warm grey and teal-green neutrals (H 160 to 200) are both observed defaults. Name tokens for this design's own roles, not the examples' names or pair order. Rebuild dark mode rather than inverting it. If the brief names a primary mode, say how that mode is implemented. Check them. Name borders and focus rings that carry meaning as tokens, because the checker sees only named colours. Declare every pair you use:
text,mutedandaccenton every surface; button labels; borders and focus rings asui. Empty pairs fail, but listing only some pairs still passes, so list them all. Chinese text usesbody, notlarge. Run this, and fix until it exits 0:python <skill-dir>/scripts/palette_check.py tokens.jsonPut the exit code and the real ratios in the appendix. Never write estimated ratios.
- Set the type. Name each font and its job, with line length, line height and weights. Inter across the whole site is a reflex; keep it only for a reason from this brief.
- Set the Chinese, if there is any. Decide and state: region,
langand a font of that region; punctuation position and quotation marks; which font draws — and … in Chinese runs, using a path that can be built with the fonts you chose;text-autospaceandtext-emphasis-positionset explicitly; line height and weight with reasons. With no Chinese, state thelangvalue only. - Decide on web fonts. First weigh whether a web font earns its cost at all. For each one loaded, state the subset method and character source, the
font-displayvalue, the size budget and how it is measured, and the licence and any Reserved Font Name. For system fonts, say so. - Count the hierarchy. State how many sizes and weights, and the spacing rule, chosen for this content. Anything past 3 sizes needs a reason. Say what shows first, second and third at 10px of blur, labelled
predicted, not renderedunless you rendered it. - Give each object its rules. List the objects this brief actually has, such as tables, code blocks, schedule rows, portraits or badges. Give each a type, colour and spacing rule. Check any width claim fits the stated column.
- Self-check against the table below, in the appendix. Fix what fails, or list it as not met.
Reviewing an existing site
Same checks on what is there: read computed colours into a tokens.json and run palette_check; read lang, font stacks, @font-face rules and transfer sizes; count sizes and spacing; blur the page for real. Report each finding with its selector or value and measured number.
Self-check
| Item | Met when |
| Colour | palette_check exits 0, both modes, all pairs in use declared, meaningful borders named |
| Colour rationale | Every colour has a role and a perceptual reason for its lightness; gamut, not contrast, explains its chroma limit |
| Memorable element | Exactly one, and what is held back is named |
| Avoid defaults | Not Inter across the site with Tailwind slate and a glow background; any default kept has a reason from this brief |
| Specific to this brief | No value from the reference examples is reused without a reason; another brief would get a visibly different base |
| Chinese type | lang and regional glyphs; punctuation and mixing handled by something buildable; the Chinese line height and each weight chosen have a stated reason |
| Arithmetic | Column widths, breakpoints and code widths add up; every "X is used only for Y" holds across the whole spec |
| Font loading | Subset, font-display, size budget and licence check for each web font |
| Hierarchy | Sizes and spacing are counted and follow a rule; the squint description is honestly labelled |
| Objects | Every object in the brief has type, colour and spacing rules |
| Length | The spec body fits the brief; working goes in the appendix |
Limits
These checks show that stated conditions are met. They do not certify quality, and attractive pages can still be hard to use (references/layout-hierarchy.md). Do not label the result's quality yourself. Say what was checked and what was not; a person makes the final call on taste.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

