Use for product design principles and UX checks when designing or implementing user-facing flows.
复制下面这句话,粘贴给 Claude Code、Codex、Cursor 等 AI 编程工具,它会读取安装说明并在你确认后完成安装。
请阅读 https://ai.atlankj.com/install/asset/gh-ux-eacf711c2e10 ,按照其中的说明把「ux」安装到你(当前 AI 工具)中。执行前先告诉我将运行的命令和写入的位置,等我确认。
查看 AI 将读取的安装说明正在读取 GitHub 原文…
内容来自 GitHub 原始文件,由原作者维护。在 GitHub 查看
How LobeHub products should feel, and concrete rules to get there. Use this when building or reviewing any user-facing flow.
This file is the index: the design values and interaction principles below are the conceptual layer; the execution checklists live in per-module reference files (see Checklist modules). Each checklist item is tagged with the design value(s) it serves.
Two documents, two jobs — don't duplicate; cross-reference.
DESIGN.md — the design system: what the product looks
and sounds like. Themeable tokens (color, typography, elevation, radius), the component
inventory, and Voice & Content (wording, tone). Reach for it when you need a token
value, a component, or copy tone.ux skill — interaction behavior: how a flow should behave over time.
Empty / loading / error states, lists at scale, selection visibility, pickers, number
formatting, draft safety, action flow & momentum, button hierarchy, entity lifecycle,
capability guardrails, progressive disclosure.Rule of thumb: static look & wording → DESIGN.md; dynamic behavior → this skill. For component/styling choices see react; for imperative modal wiring see modal.
LobeHub follows four product design values — Natural・Meaningful・Certainty・Growth. Read them before designing: references/design-values.md (definitions + conflict priority).
Use these before the execution checklists when a flow has multiple plausible interaction patterns.
Every surface carries a task promise: chat keeps the user in a working conversation, a document page supports focused reading / editing, a settings page supports configuration, and so on. Default interactions should continue that promise instead of unexpectedly moving the user into another mode. Prefer in-context surfaces (portal / panel / drawer) for reference and auxiliary work; reserve full-page navigation for committed focus or explicit mode switches.
Consistency means the same user intent behaves the same way in the same surface. It does not mean the same component must do the same thing everywhere. When a component is reused across surfaces, let the parent surface provide the interaction strategy so behavior follows intent rather than implementation convenience.
Element placement is part of the interface language. Identity and location (breadcrumbs, titles, object labels) should read separately from state and actions (save status, sharing, panel toggles, overflow menus). When these roles are mixed, users have to infer whether an element describes the current object or acts on it.
When a surface class already has a canonical component in this codebase — a sidebar row →
NavItem, a collapsible group → Accordion / GroupedAccordion, an active surface →
Block variant='filled' — compose it, don't rebuild the chrome from raw
<div>/<button>/<input> + a bespoke createStaticStyles block. A hand-rolled parallel
re-derives padding, hover/active states, alignment, and reveal-on-hover by hand, and drifts
from its siblings on each one — the aggregate reads as "unpolished" even when every single gap
is tiny. Before building a list / nav / master-detail panel, find the primitive the sibling
surface uses (grep NavItem, Accordion) and compose it; fall to raw elements only for a
genuinely novel row. See Read §1.10 for the full pattern; the
react component-priority rule covers the mechanics.
Distinguish routine explanations from action-blocking states; do not stack equally prominent warning banners for different roles. Restriction copy must name the current condition and the next action, using precise product entities (for example, distinguish a model from its provider). Verify the whole page, not just the changed component.
Grouped by interaction type — the kind of thing the user is doing. Jump to the module matching the surface you're building; a surface often spans several (an editable list is Read + Edit + Act) — walk each that applies.
Use this scan to identify applicable checks, then read the linked module for its full requirements and examples. Keep implementation details and case histories in those modules, not duplicated here.
Read — viewing data & lists (read.md)
Edit — entering & changing content (edit.md)
Act — operations, flows & buttons (act.md)
Feedback — loading & system response (feedback.md)
Grow — discoverability & progressive disclosure (grow.md)
createModal state-machine wiring for confirm/progress/done.Button usage, styling.