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
84%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
This skill builds on core and table-features. Treat the installed package—not remembered docs—as exact API truth.
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'))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.
const features = tableFeatures({ rowSortingFeature })If the export exists but the instance API does not, inspect TableFeatures.ts and the table's registry.
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
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
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
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).
9e523bc
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.