Skip to content
cccskills
FreePublished on GitHubEnglish overview

ux

Use interaction principles and checklists to design or review user-facing flows. It helps check how screens handle empty, loading, and error states, preserve drafts, guide actions, and reveal advanced options as needed.

OriginalShow the original description

Use for product design principles and UX checks when designing or implementing user-facing flows.

lobehub/lobehub83,506 stars(GitHub 83,506 + cccskills 0)

Run score Not tested

See how to install

Good for

  • Designing a new user flow
  • Reviewing empty, loading, and error states
  • Checking draft safety and action feedback

Overview

What it does

The ux skill helps design and review how an interface behaves over time, rather than its appearance or wording. Its checklists cover empty, loading, and error states; searching and selecting in lists; protecting in-progress drafts; what happens after an action; button priority; and undo or retry options. It draws on design principles and checks for activities such as reading, editing, acting, receiving feedback, and discovering features, helping keep the experience consistent across a screen.

For static design-system guidance or wording, see DESIGN.md. The related react skill covers component choices, while modal covers modal state control.

When it helps

Use it when creating a user-facing screen or reviewing an existing flow. It can help check whether input might be lost, whether users can recover from a failure, and whether the next step is clear.

Example requests

  • “Check whether this input screen protects drafts from being lost.”
  • “Review the empty, loading, and error behavior in this list.”
  • “Check the buttons and next steps in this flow.”

Notes

For guidance on static appearance and wording, refer to DESIGN.md.

This overview was written by AI (OpenAI Codex) from the public SKILL.md. Check the original below for the exact behavior.

Document check

AI checked the SKILL.md for operations that need care and for setup requirements. The score comes only from actually running the skill (hands-on test).

SafetyAre sending data, deleting files, and running commands disclosed?
AGoodThe material describes design checks and does not direct external or destructive actions.
Easy setupDoes it need few tools or API keys, and are they documented?
AGoodIt refers to checklists and related guidance without naming additional setup requirements.

Not counted in the score. Rated by AI (OpenAI Codex) as of Oct 26, 2026. Treat it as a guide and read the original before installing.

Disagree? Request a re-evaluation

Tell us which point is wrong and why. No login needed. We will check it against the SKILL.md, redo the evaluation, and show the result here.

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

Files included (7)

  • SKILL.md10.7 KB
  • references/act.md32.6 KB
  • references/design-values.md2.3 KB
  • references/edit.md4.5 KB
  • references/feedback.md42.5 KB
  • references/grow.md6.7 KB
  • references/read.md47.8 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

UX — Design Values & Execution Checklists

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.

What lives where: DESIGN.md vs this skill

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.
  • this 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.

Design values

LobeHub follows four product design values — Natural・Meaningful・Certainty・Growth. Read them before designing: references/design-values.md (definitions + conflict priority).

Interaction principles

Use these before the execution checklists when a flow has multiple plausible interaction patterns.

Preserve the surface contract・Meaningful・Natural

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 is semantic, not mechanical・Certainty・Meaningful

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.

Layout communicates role・Natural・Certainty

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.

Compose the canonical surface component, don't re-derive it・Certainty・Natural

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.

Review messages in page context・Certainty

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.

Checklist modules

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.

  • Read — viewing data & lists: empty / loading / error states, lists at scale, selection visibility, picker completeness, number formatting, default view.
  • Edit — entering & changing content: protect in-progress drafts, never lose input.
  • Act — operations, flows & buttons: forward momentum, one primary button, entity lifecycle completeness.
  • Feedback — loading visuals & capability guardrails.
  • Grow — discoverability & progressive disclosure.

Quick review checklist

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)

  • Distinguish first-use empty, no search matches, loading, and failure; include a useful body state beneath persistent chrome.
  • Handle fetch errors before empty, not-found, zero-valued aggregates, or static fallback entries can mask them.
  • Support lists from 1 to 10k rows with pagination, virtualization, and batch operations as needed.
  • Search, filters, sort, counts, and bulk scope cover the full dataset, not only loaded pages.
  • Scroll restored selections into view after their rows exist, without moving already-visible selections.
  • Pickers include every valid target, including default/inbox options.
  • Use shared number formatters with K/M/B/T rollover; never display a coefficient ≥ 1000.
  • Choose the initial view from entry intent and resolved data; preserve manual choices and access to collection-level actions.
  • Live feeds signal updates, allow manual refresh, preserve reading position, and distinguish refresh failure.
  • Conditional polling starts reliably; unknown or failed live status never qualifies an item for destructive bulk actions.
  • Large navigation surfaces offer search, filter, or jump.
  • Registry cards consistently show owned/installed and trust states; contribution leads to in-app submission.
  • Reuse canonical list rows and grouping components; see Read §1.10 and the react skill.
  • Keep populated lists visible beneath persistent composers; cap or collapse growing editors.
  • Status labels describe every member accurately.
  • Embedded documents collapse to titled rows and expand to full text with subordinate typography.
  • Entities without an image fall back to a shared type glyph, never a letter avatar of the name or a UI label.

Edit — entering & changing content (edit.md)

  • Persist and recover drafts through reloads, failed saves, and item switches; warn or save before destructive exits.
  • Keep placeholders stable and meaningful content retrievable outside them.

Act — operations, flows & buttons (act.md)

  • Success leads to the result; terminal screens provide a working next action or escape.
  • Persist results that change the next step; keep transient acknowledgements in toasts.
  • Provide both bulk and single-item action entry points.
  • Show confirmation, locked progress, and outcome where required. Slow atomic operations close the confirmation and show progress on the originating surface.
  • Long-running or costly operations support cancellation while running and retry after failure.
  • Surface optimistic mutation and job-control failures; never silently roll back.
  • Keep list and detail views synchronized after edits.
  • Pin actions and status outside scrollable content; verify the overflowing state.
  • Give each surface one visually dominant primary action.
  • Provide the lifecycle operations appropriate to each entity's source; honor pin/keep/lock on every removal path.
  • Show the acting identity and an account-switch or re-authentication path.
  • Require a deliberate gesture for unrecoverable or broad destructive actions and report partial failure.
  • Reveal newly minted secrets once with Copy, then mask them; hash verify-only secrets and encrypt protocol credentials the server needs in plaintext; generate an entity's credential on demand in its own row, not at creation.
  • User-memory/profile stores support correction, retaining without use, export, and undo or soft-delete.

Feedback — loading & system response (feedback.md)

  • Loading form matches the scenario table in feedback §4.1.
  • Match skeleton structure to measured rendered layouts, including platform and route variants.
  • Loading and load-more failures have visible recovery paths; failed items persist rather than auto-dismiss.
  • Dependent-fetch gates release on settled data, absence, or error; error/not-found branches remain reachable.
  • Failed awaited writes release busy controls; autosave exposes saving, saved, and failed states with retry.
  • Write localized, human-readable errors; keep internal IDs in structured inspection fields and lead with the remedy for deterministic failures.
  • Capability warnings are reactive and wait for resolved configuration; distinguish model choices from platform limitations.

Grow — discoverability & progressive disclosure (grow.md)

  • Reveal advanced capabilities when useful without cluttering the novice path.
  • Keyboard hints correspond to working shortcuts, verified in the running UI.
  • Configuration surfaces link to the feature's data or management area.
  • Flows with more than two steps show progress and keep non-essential steps skippable with an escape.

Related skills

  • ux-audit — a repeatable, Designing Interfaces-benchmarked audit of one surface; run it to find gaps and land them back into these checklists.
  • modal — imperative createModal state-machine wiring for confirm/progress/done.
  • DESIGN.md (Voice & Content) — wording for confirm / done / empty / error states.
  • react — component priority, Button usage, styling.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

acceptance

FreeSummary

Use this skill to verify a delivery by exercising the real product through a suitable surface such as a CLI, web app, desktop app, or iOS Simulator. It helps create or find a verification plan, capture evidence, and publish an acceptance report.

  • Verifying a completed product change
  • Collecting screenshots or other evidence
  • Creating a verification plan and report
lobehub/lobehub83.5KUpdated Oct 26, 2026

Use this skill to add an AI model provider to LobeHub across runtime integration, model cards, settings, branding, documentation, and acceptance checks. It also covers provider documentation updates and distinguishes new providers from models added to an existing provider.

  • Integrating a new AI model provider into LobeHub
  • Updating setup or usage documentation for a provider
  • Checking whether a model needs a new provider integration
lobehub/lobehub83.5KUpdated Oct 26, 2026

add-setting-env

FreeSummary

Use this skill to add a server-side environment variable that sets a default for a user setting. It walks through validation, server configuration and store merging, plus updating the example environment file and self-hosting documentation.

  • Adding an environment variable for a setting default
  • Wiring a new setting domain into server config
  • Documenting a new variable for self-hosting
lobehub/lobehub83.5KUpdated Oct 26, 2026

Provides guidance for registering hooks around an agent’s execution steps, tool calls, human approvals, context compression, and sub-agent calls. Hooks can observe events, supply local mock tool results, or use webhooks to allow or deny tool results under configured policies.

  • Observing agent steps and tool errors
  • Mocking tool results during local execution
  • Requiring webhook decisions before or after a tool call
lobehub/lobehub83.5KUpdated Oct 26, 2026

agent-signal

FreeSummary

Build event-driven background workflows for agents by defining sources, interpreting them as signals, and running actions through policies. It also guides asynchronous handoffs, deduplication, scoped execution, completion receipts, and observability.

  • Adding a new event source to an agent workflow
  • Routing interpreted signals to concrete background actions
  • Enqueuing work for asynchronous processing
lobehub/lobehub83.5KUpdated Oct 26, 2026

Use this skill to run end-to-end acceptance checks for bot channels in real desktop chat apps. It drives apps such as Discord, Slack, Telegram, WeChat, Lark, and QQ to send a message, wait for a response, and capture the result.

  • Checking a bot response in a real Discord channel
  • Testing chat behavior through Slack or Telegram
  • Capturing a bot interaction in a native macOS app
lobehub/lobehub83.5KUpdated Oct 26, 2026

See all skills by lobehub

Report a problem with this skill