Use columnSizingFeature numeric size, minSize, maxSize, getSize, getStart, getAfter, and total-size APIs in table, grid, or flex CSS. Load for auto or percentage misconceptions and sizing/pinning layout mismatch.
67
82%
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. Sizing is numeric state; translating it to layout is a renderer decision.
import { columnSizingFeature, tableFeatures } from '@tanstack/table-core'
export const features = tableFeatures({ columnSizingFeature })
export const defaultColumn = { size: 180, minSize: 80, maxSize: 480 }cell.style.width = `${cell.column.getSize()}px`
tableElement.style.width = `${table.getTotalSize()}px`Apply the same model sizes consistently to headers, cells, and pinned offsets.
Wrong: const options = { defaultColumn: { size: 180 } }
Correct: cell.style.width = ${cell.column.getSize()}px``
Numeric state does not apply CSS to headless markup.
Source: docs/framework/react/guide/column-sizing.md#column-size-apis
Wrong: const column = { size: '25%' }
Correct: const column = { size: 240 }
Table sizing state is numeric; percentages and auto layout belong in renderer CSS.
Source: packages/table-core/src/features/column-sizing/columnSizingFeature.types.ts
Wrong: cell.style.minWidth = 'max-content'
Correct: cell.style.width = ${column.getSize()}px; cell.style.overflow = 'hidden'
If rendered width differs from the model, totals and pinning offsets no longer match geometry.
Source: examples/react/column-sizing/src/main.tsx
Inspect node_modules/@tanstack/table-core/dist/features/column-sizing/ for defaults and region-aware offset signatures.
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.