用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/tomevault-io/skills-registry --skill web-design-guidelines命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
| Use when this capability is needed.
> Use when this capability is needed.
Review architecture and API design for the vfs-s3 project. Use when the user mentions @architect, asks to review an issue's design, discuss module boundaries, API shape, or architectural decisions for vfs-s3. Also trigger when the user wants to create an ADR (Architecture Decision Record) or evaluate a technical approach for the project. Intended for dispatch from Codex automation or Claude routines; GitHub trigger phrase: @vfs-s3-bot please prepare design doc Use when this capability is needed.
基于 SOC 职业分类
正在显示 SKILL.md
| name | web-design-guidelines |
| description | | Use when this capability is needed. |
Review UI code according to Vercel Web Interface Guidelines.
/web-design-guidelines src/components/Button.tsx
/web-design-guidelines "src/**/*.tsx"
/web-design-guidelines # prompt for file
aria-label<label> or aria-labelonKeyDown/onKeyUp)<button> for actions, <a>/<Link> for navigation (no <div onClick>)alt (use alt="" for decorative)aria-hidden="true"aria-live="polite"<button>, <a>, <label>, <table>)<h1>–<h6>; include skip link to main contentscroll-margin-topfocus-visible:ring-* or equivalentoutline-none / outline: none requires alternative focus indicator:focus-visible over :focus (prevents focus ring on click):focus-within on compound controls for group focusautocomplete and meaningful nametype (email, tel, url, number) and inputmodeonPaste + preventDefault)htmlFor or wrap control)spellCheck={false})… and show example patternautocomplete="off" on non-auth fields (prevent password manager trigger)beforeunload or router guard)prefers-reduced-motion (provide reduced version or disable)transform/opacity (compositor-friendly)transition: all—list properties explicitlytransform-origin<g> wrapper, transform-box: fill-box; transform-origin: center… instead of ..." " instead of straight "10 MB, ⌘ K, brand names…: "Loading…", "Saving…"font-variant-numeric: tabular-numstext-wrap: balance or text-pretty (prevent widows)truncate, line-clamp-*, or break-wordsmin-w-0 (allow text truncation)<img> requires explicit width and height (prevent CLS)loading="lazy"priority or fetchpriority="high"virtua, content-visibility: auto)getBoundingClientRect, offsetHeight, etc.)<link rel="preconnect"> for CDN/asset domains<link rel="preload" as="font"> with font-display: swap<a>/<Link> (support Cmd/Ctrl+click, middle-click)useState)touch-action: manipulation (prevent double-tap zoom delay)-webkit-tap-highlight-color intentionallyoverscroll-behavior: containinert on dragged elementautoFocus carefully—desktop only, single primary input; avoid on mobileenv(safe-area-inset-*) for notchoverflow-x-hidden on container, fix content overflowcolor-scheme: dark on <html> (fixes scrollbar, inputs)<meta name="theme-color"> matches page background<select>: explicit background-color and color (Windows dark mode)Intl.DateTimeFormat instead of hardcoded formatIntl.NumberFormat instead of hardcoded formatAccept-Language / navigator.languages instead of IPvalue requires onChange (or use defaultValue for uncontrolled)suppressHydrationWarning only where truly neededhover: state (visual feedback)& over "and" when space-constraineduser-scalable=no or maximum-scale=1 (disables zoom)onPaste with preventDefaulttransition: alloutline-none without focus-visible alternativeonClick navigation without <a><div> or <span> with click handler (must use <button>).map() without virtualizationaria-labelIntl.*)autoFocus without clear justificationAI-generated UI that looks generic must be flagged and reworked. These patterns indicate low-effort AI output:
Group by file. Use file:line format (VS Code clickable). Concise findings.
## src/Button.tsx
src/Button.tsx:42 - icon button missing aria-label
src/Button.tsx:18 - input lacks label
src/Button.tsx:55 - animation missing prefers-reduced-motion
src/Button.tsx:67 - transition: all → list properties
## src/Modal.tsx
src/Modal.tsx:12 - missing overscroll-behavior: contain
src/Modal.tsx:34 - "..." → "…"
## src/Card.tsx
✓ pass
State issue + location. Skip explanation if fix is obvious. No preamble.
/react-best-practices - React/Next.js performance optimization/a11y - Deep accessibility analysis/frontend-design - Frontend UI generation/responsive - Responsive design reviewConverted and distributed by TomeVault — claim your Tome and manage your conversions.