uxcel-lab/product-skills

ux-tables

Design or critique data tables and lists — scannable structure, alignment rules (left for text, right for numbers), sorting/filtering, row interactions, and the right list type for the content.

소스 보기

사용 방법

  1. 설치 명령을 복사하고 자신의 에이전트 환경에 설치하기 전에 소스 패키지를 확인하세요.
  2. 필요한 도구, 인증 정보, 지원 환경은 원본 문서에서 확인하세요.
  3. 입력과 원하는 산출물을 설명하고 출처와 결과를 대조하세요.
npx skills add https://github.com/uxcel-lab/product-skills --skill ux-tables

시작 전 확인

  • 설치에는 모델 구독, API 한도, 파일 접근 권한이 포함되지 않습니다.
  • 별점 수와 설치 수는 활동 지표이며 독립적인 품질·보안 검증이 아닙니다.
원본 Skill 문서

원본 저장소의 제목, 예시, 코드, 표, 링크, 이미지를 유지해 표시합니다.

Tables & Lists Skill

How this skill behaves (read first)

This is a generative skill. The default failure modes: decoration over data (heavy borders, zebra everything, centered text, mixed formats), missing manipulation (no sorting, no customization — fatal at real data volumes), and density extremes (cramped 32px rows or wasteful spacing). A table's only job is letting users scan, compare, and act on data — every visual choice either serves that or fights it. This skill gates:

  1. Establish the data shape and tasks — 2-D comparison (table) vs. 1-D scanning (list), volume, and what users do with rows.
  2. Apply the always-true core — alignment rules, hierarchy, formats, interaction states.
  3. Surface the context-dependent decisions (density, pagination type, customization, list variants) with trade-offs.

Then it hands off to `ux-heuristics-audit`, `ux-accessibility-audit`, `ux-aesthetics-audit`, and `ux-microcopy-audit` for validation.


Step 0 — Establish context before designing

Ask if not known; state the assumption if proceeding without an answer:

  • Table or list? Multi-attribute comparison across columns → table. One item per row scanned linearly (emails, results, settings) → list. Simple-table content often reads better as a list — and lists are easier for screen-reader users.
  • Data volume and growth — tens of rows need none of the machinery; thousands need sorting, filtering, pagination, items-per-page, search.
  • What do users do with rows? Read-only, single-row actions (inline ⋮ menu), bulk operations (multi-select checkboxes), or editing — each adds specific UI.
  • Density tolerance — data-dense ops tools (condensed 40px rows) vs. consumer comfort (regular 48px / relaxed 56px).

The always-apply core (correct for almost every case)

Alignment and formatting (the silent rules everyone breaks)

  • Text left-aligned (LTR), matching the reading direction.
  • Numbers right-aligned, in tabular figures (equal-width digits) — that's what makes columns of numbers comparable at a glance.
  • One consistent format per column — never "22.04.2018" next to "4.6.2018"; one date, currency, and unit format throughout.
  • Legible sans-serif typeface; column margins wide enough to scan, compare, and edit comfortably.

Hierarchy without noise

  • Headers visibly distinct (weight, slightly darker background) but not shouting; never empty header cells — including the top-left one.
  • Borders are a last resort: minimal lines beat grid-everything. Horizontal dividers only when row spacing is tight or tables are very long; zebra striping for wide, dense data sets.
  • Overflow handled explicitly: truncate with ellipsis + tooltip for full text, resizable columns, or hideable/reorderable columns.

Interaction (what makes it a tool, not a picture)

  • Sorting on every meaningful column — alphabetical, numeric, date, ascending/descending. Non-negotiable at volume.
  • Hover state + selected state on rows — users lose their place in uniform rows without them.
  • Row actions hidden until hover (or behind an inline ⋮ menu — see ux-menus); bulk-action checkboxes always visible, with bulk actions appearing on selection.
  • Toolbar above the table for search, filter, export, print when the data warrants it.
  • Links look like links — recognizable styling, distinct from body text, hover feedback.

Lists: structure and loading

  • Type from content: single-line (names, settings) → multi-line (email: sender + subject + preview) → rich (media + actions) → image list (galleries) → nested (hierarchies, with clear indentation) → ordered only when sequence matters.
  • Vertical beats horizontal — fewer eye movements, natural scrolling; horizontal lists only for short, non-scrolling sets.
  • Keyline alignment: text and icons aligned to invisible vertical guides; thumbnails left; control elements (checkboxes, menus) right; text vertically centered against images.
  • Dividers when items span 3+ lines (email-style); indented dividers for lists with thumbnails; otherwise white space.
  • Loading: skeleton screens loading sequentially top-to-bottom — not a fullscreen spinner.

The context-dependent decisions (surface, don't auto-apply)

DecisionApply whenAvoid / adapt whenDefault recommendation
Row densityCondensed (40px) when seeing everything at once matters (ops, trading)Condensed for casual reading (strain)Regular 48px; relaxed 56px for consumer comfort
Pagination vs. infinite vs. "Load more"Pagination: refindability, reports, position sense. Infinite: leisure feeds. Manual "Load more": browsing + controlInfinite scroll where users must refind or cite rowsPagination for data work + items-per-page control; "Load more" as the middle ground
Zebra stripingWide tables where the eye drifts across long rowsNarrow tables (visual noise)Plain rows + hover state first; zebra at width
Column customizationPower users, many columns (resize, hide, reorder)Simple fixed tables (overhead)Offer at >6–8 columns or mixed audiences
Toolbar (search/filter/export)Real data volume; recurring lookup tasksA 20-row table (clutter)Add capabilities as volume demands them
List vs. grid view toggleMixed browsing styles, visual + spec contentOne clearly right viewDefault to the fit; toggle for diverse audiences (see ux-search for results pages)
Searchable/filterable listsLong lists (contacts, catalogs)Short listsSearch bar on top once scanning stops being instant
Simple vs. complex table structureMerged cells/multi-level headers only when the data truly demands itScreen readers and cognition both struggle with complex structuresSplit complex tables into simple ones; one header level

Validate the result (orchestration)

Hand-offs name each lens by its installable skill name. Invoke one only if that skill is installed; if it isn't, this skill's own core already carries these rules — proceed without it rather than blocking.

After generating or revising, hand the result to the audit lenses rather than declaring it done. These are candidate lenses — posture is set by docs/orchestration-policy.md, or route the whole thing through ux-design-review. Here, `heuristics` and `microcopy` are Tier A (auto-run); `accessibility`, `aesthetics`, and `mobile-responsiveness` are Tier B (offered) — under an existing design system aesthetics is suppressed and accessibility narrows to usage; mobile-responsiveness applies only on mobile. If the user invoked this skill for one specific thing, respect that scope.

  • `ux-heuristics-audit` (Tier A) — visibility of state (sort direction, selection), user control (customization, items-per-page), consistency of formats.
  • `ux-accessibility-audit` (Tier B — offer; narrow under a design system) — semantic structure (real <table>, <th> + scope, captions; list markup for lists), header completeness, proportional widths, link contrast — assistive tech depends on markup this skill specifies.
  • `ux-aesthetics-audit` (Tier B — offer; suppress under a design system) — border/zebra restraint, density rhythm, alignment discipline.
  • `ux-microcopy-audit` (Tier A) — header label clarity and brevity, empty-state and toolbar wording.
  • `ux-mobile-responsiveness-audit` (Tier B — offer; applies only on mobile) — when the context is mobile: responsive list adaptation, column collapsing strategy.

If the audits surface a conflict (e.g., brand styling vs. scannability), resolve back toward the primary task: users come to compare and find — decoration that slows a scan is a defect.


Common do/don't patterns

❌ Don't✅ Do
Center-align everythingText left, numbers right in tabular figures
"22.04.2018" and "4.6.2018" in one columnOne consistent format per column
Full grid borders on every cellMinimal lines; dividers/zebra only when they earn it
Large table with no sortingSortable columns, toolbar at volume
Uniform rows, no hover/selected stateHover + selection states so users keep their place
Action buttons cluttering every rowHover-revealed actions / inline ⋮; visible checkboxes for bulk
Cell text silently clippedEllipsis + tooltip; resizable/hideable columns
Infinite scroll on a financial reportPagination + items-per-page; refindability wins
Merged cells and double-decker headersSimple structure; split tables
Fullscreen spinner while a list loadsSequential skeleton loading
Layout-by-table, headerless data tablesSemantic markup — real headers, captions (→ accessibility)
Ship without checkingHand off to heuristics + accessibility + aesthetics + microcopy

Source lessons (Uxcel)

관련 작업

같은 저장소의 Skills

더 많은 Skills

모든 Skills
uxcel-lab
커뮤니티

pm-analytics

Run a product-analytics analysis that produces a decision, not a dashboard — start from the question, pick actionable over vanity metrics, separate signal from noise, segment (averages lie), pair quant with qual, and end in an insight→impact→action story. Catches the defaults Claude misses: vanity metrics, correlation-as-causation, reacting to small samples/short windows, survivorship/selection bias, unsegmented averages. Trigger when asked to analyze product data/metrics, plan what to measure,

설치 수
1
GitHub Stars
27
업데이트
7월 2일
uxcel-lab
커뮤니티

pm-gtm-plan

Build a go-to-market plan that's a stage-appropriate system — customers, channels, pricing, timing, and partnerships that fit the company's maturity — not a generic launch checklist. Gates on GTM readiness (validated demand) and company stage, picks the right channel and entry timing, and treats the buyer journey as non-linear. Catches the defaults Claude misses: GTM-as-one-time-launch, stage-skipping, channel/timing blindness, funnel-forcing, partnerships-as-shortcut. Trigger when asked to crea

설치 수
1
GitHub Stars
27
업데이트
7월 2일
uxcel-lab
커뮤니티

pm-product-review

Orchestrated review of a PM artifact (spec, PRD, OKRs, roadmap, prioritization, strategy). Routes by artifact type to the right audits, auto-runs the always-relevant assumption check, and returns one prioritized report. Trigger when the user asks for a full review of a PM document, "review my spec/roadmap/OKRs", "is this PRD solid", or general PM feedback — but NOT when they name a single specific audit.

설치 수
1
GitHub Stars
27
업데이트
7월 2일
uxcel-lab
커뮤니티

ux-heuristics-audit

Run a structured usability audit of any UI against Nielsen's 10 heuristics. Produces a severity-rated, prioritized issue list — each finding tagged with the violated heuristic and a concrete fix. Use when auditing a screen, flow, or component for usability problems, or as a validation step after generating UI.

설치 수
1
GitHub Stars
27
업데이트
7월 2일