madebymustafa/design-taste

taste-web-performance

Core Web Vitals discipline for agent-built pages: LCP, CLS, INP budgets, font loading that doesn't shift layout, images that don't bloat, CSS/JS that doesn't block.

查看源码

使用方法

  1. 复制安装命令,在自己的智能体环境安装前先检查源码包。
  2. 从原始文档核对所需工具、凭据和支持的宿主。
  3. 说明输入材料与期望交付物,并对照来源检查输出。
npx skills add https://github.com/madebymustafa/design-taste --skill taste-web-performance

开始前需了解

  • 安装不包含模型订阅、API 额度或访问文件的权限。
  • 仓库星数和安装量反映活跃情况,不等于独立质量或安全测试。
仓库原始内容

按源仓库内容呈现,保留标题、案例、代码、表格、链接以及原文引用的演示图片。

taste-web-performance

Speed is part of the design. A hero that paints in 900ms with a shifted headline is a broken hero.

1. THE BUDGETS (Write These Down First)

Target p75 on mobile hardware (the median phone, not your Mac):

  • LCP < 2.5s — the hero text or hero image must be the largest contentful element and must paint fast.
  • CLS < 0.1 — no element moves after it's first painted. Every font, image, and ad-sized box is a CLS risk.
  • INP < 200ms — no click waits on a long task; no JS does heavy work on the main thread at interaction time.
  • Total page weight ≤ 1.5MB for a marketing page; a "simple" page should ship under 500KB.
  • State the budget in the build notes — a page without a stated budget is a page without a plan.

2. FONT LOADING (The #1 Agent Failure)

  • Never more than two font families, never more than ~4 styles (the design-taste skills already cap this — enforce it in code).
  • font-display: swap on all webfonts, and the text must not shift when the font lands: reserve the space or accept ≤ 3px movement.
  • preload the hero font face (woff2 only); load the rest lazily or from the correct unicode-range subsets.
  • No @import in CSS (render-blocking), no font loading scripts that block first paint, no loading fonts the page doesn't use on the current route.
  • If the pack's display font is decorative, consider system-font fallback for everything below the hero — the headline is where the font earns its weight.

3. IMAGES (Every One Gets a Decision)

  • Every image: explicit width/height (or aspect-ratio) — the CLS fix that costs nothing.
  • Format: AVIF/WebP at runtime, PNG only for real transparency, never a 2MB JPEG on a marketing page.
  • srcset/sizes for responsive delivery; loading="lazy" for everything below the fold, fetchpriority="high" for the LCP image.
  • Decorative imagery is CSS (gradients, noise, patterns) — an agent that "solves" a background with a 400KB image has failed the design, not just the budget.
  • Hero images are cropped at the correct aspect ratio in the markup, not squeezed by CSS.

4. CSS & JS DELIVERY

  • CSS: one file, or per-route critical CSS; no framework stylesheet for a 2-section page, no purged-out-of-the-box utility soup.
  • JS: defer everything that isn't interactive-critical; no framework for a static page (a landing page has no business shipping React).
  • No synchronous third-party scripts (chat widgets, analytics) in the critical path; analytics loads after interaction if it loads at all.
  • Animations run on transform/opacity only (see taste-motion); anything animating top/width/box-shadow on scroll is a jank generator, not a feature.

5. THE VERIFY RITUAL (Always Run It)

  1. Build, then run Lighthouse on a throttled profile (mobile, Slow 4G) — not on a localhost Mac.
  2. Report the three vitals + weight. Any budget miss gets fixed or gets a written reason.
  3. Re-check after any image/font change — those are the two things that regress silently.
  4. prefers-reduced-motion and offline-safe fonts are not optional extras; they're part of the contract.

6. CHECKLIST (Fail the Page If…)

  • [ ] Any font loaded without swap + dimensioned text, or more than two families.
  • [ ] Any image without dimensions, without format decision, or lazy-loading the hero.
  • [ ] Any layout shift visible on reload (test it; shifts lie about themselves).
  • [ ] Any render-blocking script/stylesheet, @import, or framework shipped to a static page.
  • [ ] Page weight or vitals over budget with no stated reason.
  • [ ] No Lighthouse run logged for the page.
  • [ ] The page looks designed but behaves like 2015.

按任务相关推荐

来自同一仓库

更多 Skills

全部 Skills
madebymustafa
社区

design-taste

Anti-slop design skill for landing pages, portfolios, and marketing sites. The agent reads the brief, infers a deliberate design direction, and ships interfaces that do not look AI-generated. Ban the LLM defaults, set typography and color deliberately, run the pre-flight checklist before finishing.

安装量
1
GitHub Stars
178
最近更新
8月15日
madebymustafa
社区

neo-brutalism

Genre pack: neo-brutalism for the web — loud consumer energy with hard discipline. Bright warm paper, ink-black 2.5px borders on everything, hard offset shadows, one dominant hot accent plus one supporting accent, chunky pills and stickers, playful copy. Use for consumer apps, agencies, crypto/tech novelty brands, and anything wanting maximum personality. Stack on the design-taste core skill.

安装量
1
GitHub Stars
178
最近更新
8月15日
madebymustafa
社区

playful-color

Genre pack: bold, joyful consumer design — giant display type, thick ink outlines, flat vibrant color fields, sticker-like shapes, chunky buttons. For D2C brands, consumer apps, events, education, and youth-facing products. Fun without looking childish: the structure stays strict, only the attitude is loud. Stack on the design-taste core skill.

安装量
1
GitHub Stars
178
最近更新
8月15日
madebymustafa
社区

cinematic-motion

Genre pack: the site-of-the-day aesthetic — the page as a film projected on studio print. Warm paper canvas, near-black ink type, one vivid electric-blue accent, grotesk display, alternating scene canvases, a scrubbed index counter, text-dissolve pins, and a drag-driven card carousel. For portfolios, product launches, agencies, and any brief that wants premium scroll-driven storytelling. Requires taste-gsap for the implementation. Stack on the design-taste core skill.

安装量
1
GitHub Stars
114
最近更新
8月15日