CtrlK
BlogDocsLog inGet started
Tessl Logo

api-not-found

Diagnose missing TanStack Table v9 exports, options, state slices, and instance methods. Load before inventing an API when code sees a type error, undefined feature method, absent object key, adapter mismatch, or v8-shaped example.

68

Quality

84%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

This skill builds on core and table-features. Treat the installed package—not remembered docs—as exact API truth.

Setup

import { readFile } from 'node:fs/promises'

const packageJson = JSON.parse(
  await readFile('node_modules/@tanstack/table-core/package.json', 'utf8'),
)
const entrypoint = await readFile(
  'node_modules/@tanstack/table-core/dist/index.d.ts',
  'utf8',
)
console.log(packageJson.version, entrypoint.includes('rowSortingFeature'))

Core Patterns

Trace an export to source

rg "export .*rowSortingFeature|rowSortingFeature" node_modules/@tanstack/table-core/dist/

For an adapter API, start at node_modules/@tanstack/<framework>-table/dist/index.d.ts.

Check feature gating before replacement

const features = tableFeatures({ rowSortingFeature })

If the export exists but the instance API does not, inspect TableFeatures.ts and the table's registry.

Common Mistakes

[CRITICAL] Substituting a remembered v8 API

Wrong:

const options = { getSortedRowModel: getSortedRowModel() }

Correct:

const features = tableFeatures({
  rowSortingFeature,
  sortedRowModel: createSortedRowModel(),
})

V9 moved row-model factories to named feature slots and renamed get* factories to create*.

Source: docs/framework/react/guide/migrating.md#row-model-factories

[HIGH] Mistaking omitted feature for removal

Wrong:

const features = tableFeatures({})

Correct:

const features = tableFeatures({ columnVisibilityFeature })

Optional APIs and state are typed and installed from the concrete feature registry.

Source: packages/table-core/src/types/TableFeatures.ts

[HIGH] Discovering methods through own keys

Wrong:

const methods = Object.keys(row).filter((key) => key.startsWith('get'))

Correct:

const value = row.getValue('name')
const prototype = Object.getPrototypeOf(row)

V9 shares many instance methods through prototypes, so spread, serialization, and Object.keys omit them.

Source: docs/framework/react/guide/migrating.md#instance-methods-must-be-called-on-their-instance

API Discovery

Use this order: installed package.json version, installed adapter dist/index.d.ts, installed core dist/index.d.ts, then the exported implementation or feature directory. Prefer dist/**/*.d.ts (Ember: declarations/**/*.d.ts; Angular: dist/types/*.d.ts).

Repository
TanStack/table
Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.