실제 제품을 적절한 조작 환경에서 실행해 변경 사항을 검증하고, 사용자가 확인할 수 있는 증거를 모아 인수 보고서로 게시합니다. 기존 검증 계획을 확인하거나 점검 항목을 만들고, `lh` CLI로 결과를 게시할 수 있습니다.
- 변경된 제품 동작을 실제로 확인하기
- 스크린샷 등 검증 증거 수집하기
- 검증 계획과 보고서 작성하기
상호작용 원칙과 체크리스트를 활용해 사용자 흐름을 설계하거나 검토합니다. 빈 화면, 로딩 및 오류 상태, 임시 저장 내용 보호, 다음 행동 안내와 고급 옵션 노출을 확인합니다.
Use for product design principles and UX checks when designing or implementing user-facing flows.
실행 점수 미검증
설치 방법 보기ux는 화면의 모양이나 문구보다 사용자의 조작에 따라 인터페이스가 시간의 흐름 속에서 어떻게 동작하는지 설계하고 검토합니다. 체크리스트는 빈 화면, 로딩 및 오류 상태, 목록 검색과 선택, 입력 중인 임시 저장 내용 보호, 조작 후 진행 과정, 버튼 우선순위, 실행 취소와 재시도를 다룹니다. 또한 읽기, 편집, 조작, 피드백 받기, 기능 찾기와 같은 상황별 점검 항목과 디자인 원칙을 참고해 화면 전반의 경험이 일관되도록 돕습니다.
정적인 디자인 시스템이나 문구 지침은 DESIGN.md를 참고합니다. 컴포넌트 선택에는 react, 모달 상태 제어에는 modal이 관련됩니다.
사용자 화면을 새로 만들거나 기존 조작 흐름을 다시 살펴볼 때 유용합니다. 입력 내용이 사라지지 않는지, 실패 후 복구할 수 있는지, 다음에 할 일이 분명하게 전달되는지 확인할 수 있습니다.
정적인 모양과 문구에 관한 지침은 DESIGN.md를 참고합니다.
이 소개문은 공개된 SKILL.md를 바탕으로 AI(OpenAI Codex)가 작성했습니다. 정확한 사양은 아래 원문을 확인하세요.
AI가 SKILL.md의 내용에서 주의가 필요한 작업과 도입 전제를 확인했습니다. 점수는 실제로 실행한 결과(실행 검증)만으로 매깁니다.
점수에는 넣지 않았습니다. 2026년 10월 26일 기준으로 AI(OpenAI Codex)가 판정했습니다. 참고용이므로 설치 전에 원문도 확인해 주세요.
설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.
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.아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.
로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.
아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.
실제 제품을 적절한 조작 환경에서 실행해 변경 사항을 검증하고, 사용자가 확인할 수 있는 증거를 모아 인수 보고서로 게시합니다. 기존 검증 계획을 확인하거나 점검 항목을 만들고, `lh` CLI로 결과를 게시할 수 있습니다.
LobeHub에 AI 모델 제공자를 추가하는 과정을 안내합니다. 런타임 연동, 모델 정보와 설정, 브랜드 표시, 문서화 및 인수 확인을 다루며, 기존 제공자에 모델만 추가하는 경우와 새 연동이 필요한 경우를 구분합니다.
서버 환경 변수로 사용자 설정의 기본값을 지정하도록 구현하는 절차를 안내합니다. 변수 검증, 서버 설정 구성, 사용자 저장소 반영부터 예시 환경 파일과 셀프 호스팅 문서 갱신까지 다룹니다.
에이전트 실행 단계, 도구 호출, 사람의 승인, 컨텍스트 압축, 하위 에이전트 호출에 훅을 등록하는 방법을 안내합니다. 이벤트를 관찰하고 로컬 도구 결과를 모의하거나 설정에 따라 웹훅으로 도구 호출을 허용 또는 거부할 수 있습니다.
에이전트의 이벤트 기반 백그라운드 작업을 설계하고 구현하도록 돕습니다. 소스, 시그널, 액션, 정책의 역할을 나누고 비동기 처리, 중복 실행 방지, 완료 기록과 관측 기능을 다룹니다.
실제 데스크톱 채팅 앱에서 봇 채널의 인수 테스트를 진행합니다. Discord, Slack, Telegram, WeChat, Lark, QQ에서 메시지를 보내고 응답을 기다린 뒤 결과 화면을 캡처합니다. iMessage는 BlueBubbles 브리지를 사용합니다.