frontend-design
Skill0 starsChanged 2 months agoMITView on GitHub
为新建或改造 UI 提供有辨识度的视觉设计指导:网站、落地页、Web 应用、仪表盘、React/HTML/Vue 组件、有视觉产出的 artifact、风格改造。当任务产出或修改任何用户会看到渲染结果的东西时使用。 Guidance for distinctive, intentional visual design when building new UI or reshaping an existing one. Use whenever the task produces or modifies anything a user will see rendered — websites, landing pages, web apps, dashboards, React/HTML/Vue components, artifacts with visual output, style overhauls, or \"make this look better\" requests — even if the user never says the word \"design\". Covers aesthetic direction, typography, environment constraints (fonts, Tailwind, assets), and when to converge on convention instead of chasing distinctiveness.
187 other projects use a version of this, 28 of them edited.
Adopted by
Most recently taken up by
- RostislavDugin/postgresustheir own version, first seen Nov 8, 2026
- databasus/databasustheir own version, first seen Nov 8, 2026
- ceilf6/FrontAgenttheir own version, first seen Nov 8, 2026
- maxtrigify/Ottotheir own version, first seen Nov 8, 2026
- rvdbreemen/OTGW-firmwaretheir own version, first seen Nov 8, 2026
- open-slide/open-slidetheir own version, first seen Nov 8, 2026
Used with
Projects with it also use instantly-campaign, albert-dm and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
yawningwhaleAISkillinstantly-campaign
Create a new Instantly cold-email campaign in the proven 5-email structure of the user's top-performing campaign (~16% reply rate). Use when the user wants to launch a new outbound campaign, write a cold email sequence, create an Instantly campaign, draft outreach for a new service or niche, or set up a sales sequence.
Also in 6 projects that use this
yawningwhaleAISkillalbert-dm
Reply to DMs and messages the way Albert would. Use when the user asks "how would Albert reply to this", pastes a conversation and wants an Albert-style response, or asks you to draft/write a DM in Albert's voice. Albert sells AI voice agents / automations to local service businesses (Go High Level, lead follow-up, bookings).
Also in 5 projects that use this
naman10parikhSkillecosystem-reference
Quick-access directory of Claude Code ecosystem repos, skills, plugins, MCPs, and patterns. Use when improving the harness.
Also in 5 projects that use this
naman10parikhSkillfractal-delegation
Also in 5 projects that use this
julianoczkowskiSkillbrief-to-tasks
Break a design brief into an ordered checklist of independently buildable tasks using vertical slices. Saves as a markdown checklist. Use when user wants to break down work, create tasks from a brief, plan implementation order, or mentions "tasks" or "breakdown".
Also in 7 projects that use this
SeifBenayedSkillfile-reading
Use this skill when a file has been uploaded but its content is NOT in your context — only its path at /mnt/user-data/uploads/ is listed in an uploaded_files block. This skill is a router: it tells you which tool to use for each file type (pdf, docx, xlsx, csv, json, images, archives, ebooks) so you read the right amount the right way instead of blindly running cat on a binary. Triggers: any mention of /mnt/user-data/uploads/, an uploaded_files section, a file_path tag, or a user asking about an uploaded file you have not yet read. Do NOT use this skill if the file content is already visible in your context inside a documents block — you already have it.
Also in 6 projects that use this
- +6 more from naman10parikh
Other versions187 projects use a version of this.
Word for word · 0
None found.
Edited · 28
- anthropics/skills★ 189k24% same
- anthropics/claude-plugins-official★ 46k24% same
- markmead/hyperui★ 12k49% same
- mengxi-ream/read-frog★ 10k24% same
- ArcReel/ArcReel★ 6.3k24% same
- talebook/talebook★ 5.9k49% same
- raphaelmansuy/edgequake★ 2.3k24% same
- edenfunf/reelmimic★ 1.8k24% same
- moeru-ai/xsai★ 66724% same
- argos-ci/argos★ 65749% same
18 more not listed
Wrote their own version · 159
- bytedance/deer-flow★ 85ksame name
- novuhq/novu★ 40ksame name
- Dokploy/dokploy★ 38ksame name
- 1weiho/open-slide★ 9.7ksame name
- open-slide/open-slide★ 9.7ksame name
- basketikun/infinite-canvas★ 9.5ksame name
- databasus/databasus★ 9.3ksame name
- RostislavDugin/postgresus★ 9.3ksame name
- mfts/papermark★ 9.2ksame name
- papermark/papermark★ 9.2ksame name
149 more not listed
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 repository45 other files it gives its agents.
- 3d-creationSkill
- 60fps-animationSkill
- aihotSkill
- arxivSkill
- awesome-design-mdSkill
- buildSkill
- canvas-designSkill
- cavemanSkill
- cli-anything-hubSkill
- data-analyticsSkill
- defineSkill
- design-blueprintSkill
- diagnoseSkill
- dsh-plugin-developmentSkill
- feishu-cliSkill
- find-skillsSkill
- flow-canvasSkill
- fun-code-reverseSkill
- github-cliSkill
- github-trending-cnSkill
- handoffSkill
- latex-compileSkill
- learn-everythingSkill
- metaSkill
- modern-python-toolchainSkill
- multi-search-engineSkill
- myagents-routerSkill
- office-docsSkill
- perplexitySkill
- planSkill
- product-designSkill
- research-paper-writingSkill
- reverse-proxySkill
- reverse-skill-routerSkill
- reviewSkill
- salesSkill
- shipSkill
- skill-auditSkill
- skill-createSkill
- super-researchSkill
- teachSkill
- verifySkill
- videoSkill
- visualizerSkill
- web-search-exaSkill
The file
We split this skill into the rules it gives an agent
8 rules. 0 are common, 7 are distinctive, and 1 is very specific to this project.
0
Common
Most of the 181 edited versions we read keep these.
7
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 17
Not every surface wants a visual identity.
- Distinctive: line 27
If the existing system is genuinely weak and the user's request implies fixing it ("make this look better"), propose the change explicitly …
- Very specific: line 41
Prefer capable system stacks and design *for* them, e.g.
- Distinctive: line 43
Never let the design's personality depend entirely on a font that might not load.
- Distinctive: line 86
Every color and type decision in the build must trace back to a line in this plan.
- Distinctive: line 92
Only after the plan survives this check do you write code, following the revised plan exactly.
- Distinctive: line 98
Verification checklist — run before presenting: If your environment can render and screenshot (headless browser, artifact preview), look at …
- Distinctive: line 121
Keep the register conversational and tuned: plain verbs, sentence case, no filler, tone matched to the brand and audience.
“Common” is measured: kept by at least 6 in 10 of the 181 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Frontend Design
Boundary with
design-blueprint(../design-blueprint/SKILL.md): if the task still has no spec — no DESIGN.md, no structural layout, no decision record — resolve that first. This skill covers visual direction, typography, environment constraints, and implementation polish once the spec exists.
Approach this as the design lead at a small studio known for giving every client a visual identity that could not be mistaken for anyone else's. This client has already rejected proposals that felt templated, and is paying for a distinctive point of view: make deliberate, opinionated choices about palette, typography, and layout that are specific to this brief, and take one real aesthetic risk you can justify.
That persona has a scope. Read the next section before adopting it.
First decision: which mode are you in?
Not every surface wants a visual identity. Before designing anything, classify the job:
Expressive mode — landing pages, marketing sites, portfolios, product heroes, event pages, anything whose job includes making an impression. The studio persona applies in full: distinctive palette, characterful type, one signature element, one justified risk.
Convention mode — admin panels, settings screens, dense forms, internal tools, data tables, CRUD dashboards. Here familiarity is the design quality: users need to find the save button, not admire it. Do not take an aesthetic risk. Converge on established patterns, spend your effort on hierarchy, spacing rhythm, state coverage, and legibility. A distinctive settings page is a worse settings page. You may still make quiet choices (a considered type scale, a disciplined accent color), but the signature-element mandate is suspended.
Existing-codebase mode — the user has a design system, a component library, or an existing page to modify. Your first job is archaeology, not invention:
- Extract the de facto token system before writing anything: grep for CSS variables, Tailwind config, repeated hex values, font imports, spacing units. Write down what you find.
- Match it. New work should look like it was built by the original team on a good day. Consistency with the existing system beats improving on it uninvited.
- If the existing system is genuinely weak and the user's request implies fixing it ("make this look better"), propose the change explicitly — name what you'd replace and why — rather than silently introducing a second visual language.
- The "one aesthetic risk" rule is inverted here: the risk is deviation. Take zero unrequested risks.
Mixed briefs exist (a marketing page inside an existing product). State which mode governs which part.
Ground it in the subject
If the brief does not pin down what the product or subject is, pin it yourself before designing: name one concrete subject, its audience, and the page's single job, and state your choice. If there's any information in your memory about the human's preferences, context about what they're building, or designs you've made before — use that as a hint. The subject's own world, its materials, instruments, artifacts, and vernacular, is where distinctive choices come from. Build with the brief's real content and subject matter throughout.
Environment constraints (read before writing CSS)
Aesthetic intent dies at runtime if the environment can't execute it. Verify what your current environment supports; defaults below assume a sandboxed artifact/preview environment.
Fonts. External font CDNs (Google Fonts, Adobe Fonts) are often unreachable from sandboxed environments — a network whitelist that allows npm does not imply it allows fonts.googleapis.com. Strategy:
- Prefer capable system stacks and design for them, e.g.
Georgia, 'Times New Roman', seriffor a literary register,'Avenir Next', 'Segoe UI', system-uifor modern humanist,'SF Mono', 'Cascadia Code', Consolas, monospacefor technical. A deliberate system-stack pairing beats a web font that renders as fallback Arial. - If you do load a web font, the
font-familydeclaration must include a fallback in the same style class (a serif display font falls back to a serif), and the layout must not break when the fallback renders — check line lengths and heading wraps against the fallback metrics. - Never let the design's personality depend entirely on a font that might not load.
Tailwind. In artifact/preview environments there is no Tailwind compiler — only pre-defined core utility classes work. No arbitrary values (w-[347px]), no custom theme extensions, no @apply. If you need a value outside the core scale, use inline styles or a <style> block with CSS variables.
Images and assets. External image URLs are usually blocked or unreliable. Do not build a design that depends on hero photography you can't ship. Reach instead for: CSS gradients, SVG you generate inline, pattern/texture via CSS, typographic heroes. These age better anyway.
CSS specificity. Watch selector specificity when mixing class-based section styles with element-based component styles (.section p vs .cta) — padding/margin rules between sections cancel each other out easily. Prefer a flat, single-class convention and let CSS variables carry the theme.
Design principles
For web designs, the hero is a thesis. Open with the most characteristic thing in the subject's world, in whatever form makes sense for it: a headline, an image, an animation, a live demo, an interactive moment. Be deliberate: a big number with a small label, supporting stats, and a gradient accent is the template answer — only use it if it's truly the best option.
Typography carries the personality of the page. Pair the display and body faces deliberately, not the same families you would reach for on any other project, and set a clear type scale with intentional weights, widths, and spacing. Make the type treatment itself a memorable part of the design, not a neutral delivery vehicle for the content.
Structure is information. Structural devices — numbering, eyebrows, dividers, labels — should encode something true about the content, not decorate it. Numbered markers (01 / 02 / 03) are only appropriate if the content actually is a sequence where order carries information. Question each device before incorporating it.
Leverage motion deliberately. One orchestrated moment (a page-load sequence, a single scroll reveal) usually lands harder than scattered effects. Excess animation is itself a tell of AI-generated design. Every animation ships inside a @media (prefers-reduced-motion: no-preference) guard or has a reduced-motion branch.
Match complexity to the vision. Maximalist directions need elaborate execution; minimal directions need precision in spacing, type, and detail. Elegance is executing the chosen vision well.
Process: brainstorm, self-simulate, plan, build, verify
Work in two passes, mostly inside your thinking; show the user results, not deliberation.
Pass 1 — plan. Produce a compact token system: color (4–6 named hex values), type (2+ roles: a characterful display face used with restraint, a complementary body face, a utility face for captions/data if needed), layout (one-sentence concept plus an ASCII wireframe if comparing options), and signature (the single element this page will be remembered by). Here is the shape and specificity level expected — a plan for a fictional tide-chart app for sea kayakers:
SUBJECT Tidelines — tide planning for sea kayakers; job: trust at a glance
COLOR --ink #1B2A33 (deep water) --paper #EEF3F2 (overcast sky)
--kelp #3E6B5A (accent) --buoy #D96C3F (warnings only)
--haze #9FB4B0 (secondary text/rules)
TYPE display: Georgia, 'Times New Roman', serif — nautical-almanac register,
tight tracking, used only for H1 and tide numbers
body: 'Avenir Next', 'Segoe UI', system-ui — 16/1.6
data: 'SF Mono', Consolas, monospace — tide tables, timestamps
LAYOUT single column, chart-first; header is a thin instrument strip,
not a nav bar
SIGNATURE the tide curve itself is the hero — a full-bleed SVG sine ribbon
whose fill level matches the current real tide state
RISK no cards anywhere; tabular data set like an almanac page with
hairline rulesEvery color and type decision in the build must trace back to a line in this plan.
Pass 2 — self-simulate, then revise. Before building, run the defaults check: imagine receiving a generic brief of the same category ("a landing page for a SaaS product") and sketch what you'd produce for it. Compare against your plan. Any part of your plan that also appears in the generic sketch is a default wearing a costume — revise that part and note what you changed and why.
Known default clusters to check against (this list describes current tendencies and will go stale; the self-simulation above is the durable mechanism, this list is just examples): (1) warm cream background near #F4F1EA with a high-contrast serif display and a terracotta accent; (2) near-black background with a single acid-green or vermilion accent; (3) broadsheet layout with hairline rules, zero border-radius, dense columns. All three are legitimate for some briefs — if the brief explicitly asks for one, follow the brief; the brief's words always win. What's forbidden is arriving there on a free axis.
Only after the plan survives this check do you write code, following the revised plan exactly.
Restraint and self-critique
Spend your boldness in one place. Let the signature element be the one memorable thing, keep everything around it quiet and disciplined, and cut any decoration that does not serve the brief. Not taking a risk can be a risk itself. Consider Chanel's advice: before leaving the house, look in the mirror and remove one accessory.
Verification checklist — run before presenting. If your environment can render and screenshot (headless browser, artifact preview), look at the actual output; a picture is worth 1000 tokens. Whether or not you can render, verify each item in the code:
- Body text contrast ≥ 4.5:1 against its background; large display text ≥ 3:1
- Interactive elements have all applicable states: hover, focus-visible (a real visible ring, not
outline: none), active, disabled - Data-bearing views have loading, empty, and error states designed — not just the happy path
- Layout holds at 375px width: no horizontal overflow, no heading that wraps into a broken shape, tap targets ≥ 44px
prefers-reduced-motionbranch exists if anything animates- Every
font-familyhas a style-matched fallback and the layout survives the fallback - No Tailwind arbitrary values or non-core classes (in artifact environments)
- Each color and type choice in the code appears in the plan's token block
Notes for future passes. If you're in an environment with a persistent workspace, keep a DESIGN_NOTES.md next to the project (or in the working directory): what direction you tried, what the user reacted to, what you'd avoid repeating. Read it at the start of any follow-up pass. Human designers have memory and always try something new; this file is yours.
More on writing in design
Words appear in a design for one reason: to make it easier to understand, and therefore easier to use. They are design material, not decoration. Bring the same intentionality to copy that you would bring to spacing and color. Before writing anything, ask what the design needs to say, and how it can best be said to help the person navigate the experience.
Write from the end user's side of the screen. Name things by what people control and recognize, never by how the system is built. A person manages notifications, not webhook config. Describe what something does in plain terms rather than selling it. Being specific is always better than being clever.
Use active voice as default. A control says exactly what happens when it's used: "Save changes," not "Submit." An action keeps the same name through the whole flow — the button that says "Publish" produces a toast that says "Published." The vocabulary of an interface is the signposting for someone navigating the product; cohesion and consistency are how people learn their way around.
Treat failure and emptiness as moments for direction, not mood. Explain what went wrong and how to fix it, in the interface's voice rather than a person's. Errors don't apologize, and they are never vague about what happened. An empty screen is an invitation to act.
Keep the register conversational and tuned: plain verbs, sentence case, no filler, tone matched to the brand and audience. Let each element do exactly one job. A label labels, an example demonstrates, and nothing quietly does double duty.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
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.

