tanstack-table

Configure headless TanStack Table logic for sorting, filtering, pagination, and grouping.

Updated Jul 2, 2025
One-click install
npx skills add https://github.com/janpeterd/dotfiles --skill tanstack-table-janpeterd
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: tanstack-table
Source: https://github.com/janpeterd/dotfiles/tree/main/dot_agents/skills/tanstack-table
Command: npx skills add https://github.com/janpeterd/dotfiles --skill tanstack-table-janpeterd

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

It solves the problem of building feature-rich data tables in React/TS/JS without manually wiring sorting, filtering, pagination, grouping, and selection logic for every UI.

Core Features & Use Cases

  • Headless table logic: Use TanStack Table to power data grid behavior (sorting, filtering, pagination, grouping, expansion) without enforcing markup or styles.
  • Configurable columns & row models: Define column accessors (including display/group columns) and choose the row model pipeline that matches your needs (client-side or server-side).
  • Advanced UX capabilities: Support column visibility toggles, pinning, resizing, row selection, and integration with virtualization for large datasets.
  • Use case: Create an admin-like table that supports column-level filters, fuzzy search, expandable rows for details, and performant rendering for thousands of records.

Quick Start

Use the tanstack-table skill to design the column definitions and table options for a headless data grid that supports sorting, filtering, pagination, and row selection in your React app.

Frequently Asked Questions about tanstack-table

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I build a headless data grid in React with sorting, filtering, and pagination?

To build a headless data grid in React, configure stable data and column references, select matching row model functions, and use controlled state with onChange handlers to enable sorting, filtering, and pagination.

Can I implement column pinning and resizing in a TypeScript table without enforced markup?

Yes, you can implement column pinning and resizing in TypeScript without enforced markup by applying headless table logic, which separates UI rendering from state management for column visibility, pinning, and resizing.

Does TanStack Table work with server-side data fetching and pagination?

TanStack Table works with server-side data fetching and pagination by selecting the server-side row model pipeline, allowing you to control external data retrieval while maintaining consistent table state behaviors.

What is the best way to handle large datasets and virtualization in a React data grid?

The best way to handle large datasets in a React data grid is by integrating headless table logic with virtualization, enabling performant rendering for thousands of records while managing row models and expansion state.

How do I add fuzzy search and global filtering to a JavaScript data table?

You add fuzzy search and global filtering to a JavaScript data table by configuring the filtering row model functions within the headless table options, wiring the filter state to your input controls for interactive search behavior.

Why are my row selections disappearing during sorting and filtering operations?

Row selections disappear during sorting and filtering if stable data and column references are not configured correctly, requiring controlled state with matching onChange handlers to preserve selection state across row model updates.