Group rows with columnGroupingFeature, groupedRowModel, groupedColumnMode, and manualGrouping. Load for grouped or placeholder cells and grouping interactions with expansion or pagination.
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, table-features, and client-vs-server. Grouping creates row structure and the renderer chooses grouped-cell UI. Load the separate aggregation skill when grouped rows should also calculate values.
import {
columnGroupingFeature,
createGroupedRowModel,
tableFeatures,
} from '@tanstack/table-core'
export const features = tableFeatures({
columnGroupingFeature,
groupedRowModel: createGroupedRowModel(),
})const options = { groupedColumnMode: 'reorder' as const }
const mode = cell.getIsGrouped()
? 'grouped'
: cell.getIsPlaceholder()
? 'placeholder'
: 'value'Render these cell modes deliberately.
Wrong: tableFeatures({ groupedRowModel: createGroupedRowModel() })
Correct: tableFeatures({ columnGroupingFeature, groupedRowModel: createGroupedRowModel() })
The grouped row-model slot requires columnGroupingFeature.
Source: packages/table-core/src/types/TableFeatures.ts#FeatureSlotPrereqs
Wrong: const leafCount = table.getRowModel().flatRows.filter(row => !row.subRows.length).length
Correct:
const countLeafRows = (rows: typeof groupRow.subRows): number =>
rows.reduce(
(count, row) =>
count + (row.subRows.length ? countLeafRows(row.subRows) : 1),
0,
)
const leafCount = countLeafRows(groupRow.subRows)Count descendants from one group row rather than the flattened render model,
where group rows and expanded rows may both appear. The current
table.getRowModel().rows is render order, while original dataset counts come
from the data owner.
Source: docs/framework/react/guide/grouping.md
Wrong: render(cell.getValue())
Correct: render(cell.getIsPlaceholder() ? null : cell.getValue())
Placeholder cells do not represent ordinary leaf values. Group rows should only render their grouped cell when aggregation is not enabled.
Source: examples/react/grouping/src/main.tsx
Inspect node_modules/@tanstack/table-core/dist/features/column-grouping/ for
grouping. Load the aggregation skill when totals, multiple aggregations,
grouped aggregate values, or custom definitions are part of the task.
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.