saas-design-principles/skills/data-tables/SKILL.md
This skill should be used when the user is building or reviewing data tables, pagination, column alignment, bulk actions, sorting, filtering, row selection, or table-to-card responsive patterns. Covers the pagination vs infinite scroll decision, DataTable vs IndexTable patterns, and column default strategy.
npx skillsauth add oborchers/fractional-cto data-tablesInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Enterprise SaaS lives and dies by its data tables. The rules are non-negotiable.
| Content Type | Alignment | |-------------|-----------| | Text | Left-align | | Numbers | Right-align | | Headers | Match content alignment | | Data columns | Never center-align |
Use monospace or tabular typography for numbers so "$1,111.11" doesn't visually outweigh "$999.99."
Pagination beats infinite scroll for SaaS data tables — always.
Nielsen Norman Group's research explains why: infinite scroll creates a "lack of landmarks." Users can't remember where items were. With pagination, users remember "it was on page 3, near the top."
Pogo-sticking — clicking into a record, then going back — is especially destructive with infinite scroll because users are often returned to the top of the list.
Pagination rules:
Shopify Polaris makes a critical distinction:
For showing values across categories with summary rows and fixed columns. Read-only comparison view.
For orders, customers, products — with row selection, bulk actions, and navigation to detail pages.
Build both patterns. The choice depends on whether users need to act on the data or compare it.
Invest heavily in choosing which columns appear by default. Most users never customize.
Rules:
Show a toolbar when one or more rows are selected.
Placement options:
Selection options:
Working implementations in examples/:
examples/responsive-data-table.md — Alignment CSS, URL-based pagination, bulk selection, and table-to-card mobile conversionWhen reviewing or building data tables:
tools
This skill should be used when the user invokes any /plan-* command from the planning-tools plugin (/plan-context, /plan-master, /plan-open-questions, /plan-verify, /plan-tick, /plan-progress, /plan-delete), asks how Claude Code's plan files work, asks where plans are stored, asks to author or audit a multi-phase master planning document, asks how to walk through a plan's Open Questions interactively, asks how to write progress entries, or mentions ~/.claude/plans/ or .claude/planning-tools.local.md. Provides the index of planning-tools commands, the master-plan workflow lifecycle, the v0.3.0+ list-shape mandate (phases and questions as headings + bulleted scope items, never tables), the v0.3.2+ plain-bullet shape (no `- [ ]` checkboxes — heading emoji is the sole tick signal), the progress-entry methodology, and the mechanics of Claude Code's plan-mode file storage.
testing
This skill should be used when the user is adjusting spacing, padding, margins, content density, section gaps, vertical rhythm, or separation between elements. Also applies when reviewing whether a design feels cramped or too sparse, choosing between borders and whitespace for separation, or defining a spacing system. Covers the 4px/8px spacing system, macro vs micro whitespace, content density spectrum, separation techniques (whitespace > background shifts > borders), and vertical rhythm.
development
This skill should be used when the user is defining brand personality in design, choosing between illustration and photography, adding motion or animation, creating visual motifs, ensuring layout variety, customizing CSS framework defaults, or calibrating the level of creative expression for a given context. Covers Lavie & Tractinsky's expressive aesthetics, the expression spectrum (restrained to bold), brand personality translation, illustration systems, photography direction, and template independence.
development
This skill should be used when the user is establishing visual importance, designing headings, creating focal points, designing CTAs or buttons, arranging label-data relationships, implementing scanning patterns (F-pattern, Z-pattern), or ensuring one dominant element per screen. Covers the three levers of hierarchy (size, weight, color), three-tier information architecture, the 'emphasize by de-emphasizing' principle, CTA design, and label-data relationships.