Register TanStack Table targets and inspect options, state, features, columns, rows, and row models with @tanstack/table-devtools. Load for missing connections, required unique table options.key, target replacement/cleanup, or an explicit request for production Devtools entrypoints.
74
93%
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
Framework adapters should use their lifecycle hook or injector. The framework-neutral registration primitive is:
import { constructTable, tableFeatures } from '@tanstack/table-core'
import { storeReactivityBindings } from '@tanstack/table-core/store-reactivity-bindings'
import { upsertTableDevtoolsTarget } from '@tanstack/table-devtools'
const features = tableFeatures({
coreReactivityFeature: storeReactivityBindings(),
})
const table = constructTable({
key: 'users-table',
features,
columns: [],
data: [],
})
const cleanup = upsertTableDevtoolsTarget({ table })
cleanup()The non-empty options.key is both registry identity and panel label. Use stable application identity, not an array index.
React/Preact/Solid/Vue hooks and the Angular injector register and clean up at the correct time. Use core target functions only for unsupported frameworks or infrastructure code.
Default entrypoints export no-op panels/plugins outside development. Use /production only when the application explicitly chooses production inspection and its security/bundle implications.
Wrong: register a table whose options.key is absent or whitespace.
Correct: set a stable value such as key: 'billing-invoices' before registration.
The registry logs the missing-key error and returns without adding a target.
Source: TanStack/table:packages/table-devtools/src/tableTarget.ts
Wrong: use key: 'table' for simultaneous tables.
Correct: use unique domain identities such as users-table and orders-table.
Upserting a different table under an existing key replaces that registration.
Source: TanStack/table:packages/table-devtools/src/tableTarget.ts
Wrong: debug why the normal entrypoint renders nothing in production.
Correct: keep Devtools development-only unless production inspection was explicitly requested; then import the documented /production entrypoint.
Default production exports intentionally use no-op implementations.
Source: TanStack/table:docs/devtools.md
Inspect node_modules/@tanstack/table-devtools/dist/index.d.ts, tableTarget.d.ts, and production.d.ts. Framework registration belongs to the matching @tanstack/<framework>-table-devtools package.
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.