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.

Voir la source

Mode d’emploi

  1. Copiez la commande et examinez le paquet avant de l’installer dans votre environnement agent.
  2. Consultez le document original pour les outils, identifiants et environnements requis.
  3. Décrivez les entrées et le livrable souhaité ; comparez la sortie aux sources.
npx skills add https://github.com/uxcel-lab/product-skills --skill ux-tables

Avant de commencer

  • L’installation n’inclut ni abonnement au modèle, ni quota API, ni accès aux fichiers.
  • Étoiles et installations reflètent l’activité, pas un test indépendant de qualité ou de sécurité.
Document Skill original

Rendu depuis le dépôt source en conservant titres, exemples, code, tableaux, liens et images.

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)

Tâches connexes

du même dépôt

Autres Skills

Tous les Skills
uxcel-lab
Communauté

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,

installations
1
GitHub Stars
27
Mis à jour
2 juil.
uxcel-lab
Communauté

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

installations
1
GitHub Stars
27
Mis à jour
2 juil.
uxcel-lab
Communauté

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.

installations
1
GitHub Stars
27
Mis à jour
2 juil.
uxcel-lab
Communauté

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.

installations
1
GitHub Stars
27
Mis à jour
2 juil.