agentsclimarketplace

Tables

Skill Uxcel-Lab/product-skills/ux/components/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. Trigger when the user asks to design or review a data table, data grid, admin table, list view, email/feed list, or asks how to present tabular or structured data.From its SKILL.md

Install
npx -y skills add Uxcel-Lab/product-skills --skill tables

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 5 stars5 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its file declares

Copied from the file, not written here

The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

9.7 KB, ~2.2k tokens by cl100k_base, as published. Nobody here has run it

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)

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 326,764. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.