MCPInstall

tanstack-table

TanStack Table v8 headless data tables for React. Covers column definitions, sorting, filtering (fuzzy/faceted), server-side pagination with TanStack Query, infinite scroll, virtualization (TanStack Virtual), column/row pinning, row expanding/grouping, column resizing, and reusable Shadcn-styled components. Prevents 15 documented errors including infinite re-renders, React Compiler incompatibility, and server-side state mismatches. Use when building data tables, fixing table performance, implementing server-side pagination, adding filtering/sorting, or debugging table state issues.

Installs
138
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/oakoss/agent-skills --skill tanstack-table
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads tanstack-table automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

TanStack Table

Overview

TanStack Table is a headless table library — it provides state management and logic but no UI. You supply the rendering; it handles sorting, filtering, pagination, selection, and more.

When to use: Complex data tables with sorting/filtering/pagination, server-side data, large datasets (1000+ rows with virtualization), row selection/expanding/grouping.

When NOT to use: Simple static tables (use <table> directly), display-only lists (use a list component), spreadsheet-like editing (consider AG Grid).

Quick Reference

PatternAPI / ConfigKey Points
Basic tableuseReactTable({ data, columns, getCoreRowModel })Memoize data/columns to prevent re-renders
Column helpercreateColumnHelper<T>()Type-safe column definitions
Column groupscolumnHelper.group({ header, columns })Nested headers; don't pin group columns
SortinggetSortedRowModel() + onSortingChangemanualSorting: true for server-side
FilteringgetFilteredRowModel() + onColumnFiltersChangemanualFiltering: true for server-side
PaginationgetPaginationRowModel() + onPaginationChangemanualPagination: true + pageCount
Row selectionenableRowSelection + onRowSelectionChangeSet getRowId for stable selection keys
Column visibilityonColumnVisibilityChangeToggle with column.toggleVisibility()
Column pinningenableColumnPinning + initialState.columnPinningDon't pin group columns (known bug)
Row expandinggetExpandedRowModel() + getSubRowsFor nested/tree data
Column resizingenableColumnResizing + columnResizeModeonChange for live, onEnd for performant
Row groupinggetGroupedRowModel() + aggregationFnPerformance degrades at 10k+ rows
Server-sidemanual*: true flags + include state in queryKeyAll state in query key for proper refetching
Infinite scrolluseInfiniteQuery + flatten pagesCombine with TanStack Virtual for best perf
VirtualizationuseVirtualizer from @tanstack/react-virtualDisable when container hidden (tabs/modals)
React 19 Compiler'use no memo' directiveRequired until v9 fixes compiler compat

Common Operations

TaskMethod
Sort columncolumn.toggleSorting()
Filter columncolumn.setFilterValue(value)
First pagetable.firstPage()
Next pagetable.nextPage()
Previous pagetable.previousPage()
Last pagetable.lastPage()
Go to pagetable.setPageIndex(n)
Select rowrow.toggleSelected()
Hide columncolumn.toggleVisibility()
Get original datarow.original
Pin columncolumn.pin('left')
Resize columnheader.getResizeHandler()
Expand rowrow.toggleExpanded()

Row Models

ImportPurpose
getCoreRowModelRequired
getSortedRowModelSorting
getFilteredRowModelFiltering
getPaginationRowModelPagination
getExpandedRowModelExpanding
getGroupedRowModelGrouping
getFacetedRowModelFaceted filter counts
getFacetedUniqueValuesUnique values per facet
getFacetedMinMaxValuesMin/max per facet

Common Mistakes

MistakeCorrect Pattern
Unstable data/columns referenceMemoize with useMemo or define outside component
Missing manual* flags for server-sideSet manualPagination, manualSorting, manualFiltering
Query key missing table stateInclude pagination, sorting, filters in queryKey
Import from @tanstack/table-coreImport from @tanstack/react-table
Using v7 useTable / Header / accessorUse v8 useReactTable / header / accessorKey
Pinning group columnsPin individual columns within the group, not parent
Grouping on 10k+ rowsUse server-side grouping or disable for large datasets
Column filter not clearing on page changeReset pageIndex to 0 when filters change
Missing 'use no memo' with React CompilerAdd directive to components using useReactTable
Missing getRowId with row selectionSet getRowId: (row) => row.id for stable selection keys
Filter value type mismatchMatch value types; clear with undefined, not null

Delegation

  • Table pattern discovery: Use Explore agent
  • Server integration review: Use Task agent
  • Code review: Delegate to code-reviewer agent

If the tanstack-query skill is available, delegate data fetching, caching, and infinite query patterns to it. If the tanstack-virtual skill is available, delegate standalone virtualization patterns to it. If the tanstack-router skill is available, delegate URL search param sync for server-side table state to it. If the tanstack-start skill is available, delegate server functions for server-side data loading to it.

References

  • Column definitions, helpers, visibility, and selection
  • Filtering: column, global, fuzzy, and faceted
  • Server-side patterns with TanStack Query
  • Infinite scroll with cursor pagination
  • Reusable table components (Shadcn-styled)
  • Virtualization for large datasets
  • Column and row pinning
  • Row expanding and grouping
  • Known issues and solutions (15 documented)
  • v7 to v8 migration guide

FAQ

What does the tanstack-table skill do?

TanStack Table v8 headless data tables for React. Covers column definitions, sorting, filtering (fuzzy/faceted), server-side pagination with TanStack Query, infinite scroll, virtualization (TanStack Virtual), column/row pinning, row expanding/grouping, column resizing, and reusable Shadcn-styled components. Prevents 15 documented errors including infinite re-renders, React Compiler incompatibility, and server-side state mismatches. Use when building data tables, fixing table performance, implementing server-side pagination, adding filtering/sorting, or debugging table state issues.

How do I install tanstack-table?

Run npx skills add https://github.com/oakoss/agent-skills --skill tanstack-table in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/tanstack-table/ (personal) or .claude/skills/tanstack-table/ (project).

Which AI agents can use tanstack-table?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is tanstack-table safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains tanstack-table?

It is published by oakoss in oakoss/agent-skills. It has 138 recorded installs.

More from oakoss/agent-skills

View all →

ui-ux-polish

oakoss/agent-skills

Iterative UI/UX polishing workflow for web applications. Use when improving visual polish, refining desktop and mobile UX separately, running iterative enhancement cycles, applying design patterns like glassmorphism or bento grids, or auditing accessibility and WCAG compliance. Use for Stripe-level visual quality, responsive optimization, and design system alignment.

Frontend & Design541 installs

playwright

oakoss/agent-skills

Open the skill to read its SKILL.md instructions.

Testing & QA453 installs

coolify

oakoss/agent-skills

Coolify self-hosted PaaS for deploying applications, databases, and services via REST API and Git integration. Covers API authentication, deployment triggers, build packs (Nixpacks, Dockerfile, Compose), CI/CD with GitHub Actions webhooks, environment management, and Traefik proxy configuration. Use when deploying apps to Coolify, triggering deployments via API, configuring build packs, setting up GitHub Actions CI/CD pipelines, managing environment variables, or troubleshooting deployment failures.

DevOps & Cloud361 installs

application-security

oakoss/agent-skills

Open the skill to read its SKILL.md instructions.

Security272 installs

find-skills

oakoss/agent-skills

Discovers and installs agent skills from the open ecosystem. Enriches search results with descriptions fetched from skills.sh. Use when a user asks "how do I do X", "find a skill for X", "is there a skill that can...", or wants to extend agent capabilities. Use for skill discovery, skill search, skill install, finding tools.

AI & Agents256 installs

drizzle-orm

oakoss/agent-skills

Open the skill to read its SKILL.md instructions.

Data & Databases238 installs

Popular frontend & design skills

View category →

setup-matt-pocock-skills

mattpocock/skills

Configure this repo for the engineering skills: set up its issue tracker, triage label vocabulary, and domain doc layout. Run once before first use of the other engineering skills.

Frontend & Design1.1M installs

frontend-design

anthropics/skills

Guidance for distinctive, intentional visual design when building new UI or reshaping an existing one. Helps with aesthetic direction, typography, and making choices that don't read as templated defaults.

OfficialFrontend & Design1M installs

hyperframes-animation

heygen-com/hyperframes

All animation knowledge for HyperFrames — atomic motion rules, multi-phase scene blueprints, scene transitions, broader motion-design techniques, AND the seven runtime adapters (GSAP default, plus Lottie, Three.js, Anime.js, CSS keyframes, Web Animations API, TypeGPU). Use for any motion or animation task: pick 2-4 rules and compose, or load a blueprint, or look up runtime-specific API (e.g. GSAP eases / Lottie player / Three.js mixer). Also covers auditing an existing composition's choreography (animation map) and 24 named text-animation effects. HyperFrames-native: single paused timeline, seek-safe, deterministic.

prototype

mattpocock/skills

Build a throwaway prototype to answer a design question. Use when the user wants to sanity-check whether a state model or logic feels right, or explore what a UI should look like.

Frontend & Design999.2K installs

hyperframes-core

heygen-com/hyperframes

The HyperFrames composition contract — build one renderable project. Use for composition structure, the data- timing attributes, class="clip", tracks, sub-compositions, variables, framework-owned media playback, deterministic-render rules, and validation. Read before writing composition HTML.

Frontend & Design930.5K installs

vercel-react-best-practices

vercel-labs/agent-skills

React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.

OfficialFrontend & Design843.1K installs