CtrlK
BlogDocsLog inGet started
Tessl Logo

row-selection

Maintain rowSelection ID state with stable getRowId, single, multi, subrow, and Shift-range rules, selected row models, handler anchors, and manual-pagination semantics. Load when implementing getToggleSelectedHandler, enableRowRangeSelection, selectChildren, deselectParents, or selected IDs that outlive loaded Row objects.

63

Quality

76%

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

Fix and improve this skill with Tessl

tessl review fix ./packages/table-core/skills/row-selection/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

76%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

Highly actionable, executable guidance with tight library-specific prose, held back by the absence of validation checkpoints for state mutations and no progressive split into reference files.

Suggestions

Add an explicit validation/verification checkpoint after state-mutating operations (e.g. after pruning stale ids or select-all, verify table.getState().rowSelection matches expected ids) to support a validate→fix→retry loop.

Consider extracting the Common Mistakes catalog or the per-handler option reference into a one-level-deep reference file to improve progressive disclosure.

DimensionReasoningScore

Conciseness

Lean and focused on library-specific gotchas rather than generic concepts Claude already knows, with only minor instances of prose that could be trimmed (e.g. the nativeEvent/React aside).

4 / 5

Actionability

Copy-paste-ready, executable TypeScript across Setup, Core Patterns, and Wrong/Correct mistake blocks, covering the common selection cases comprehensively.

5 / 5

Workflow Clarity

Content is organized into clear sections but there is no sequenced multi-step workflow with validation checkpoints, and state-mutation operations like selection cleanup lack a proactive validate/verify step.

3 / 5

Progressive Disclosure

A single well-organized file with clear headers and no nested or broken references, but no one-level-deep reference split; at ~160 lines the simple-skill exception to reach 5 does not apply.

4 / 5

Total

16

/

20

Passed

Description

76%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A highly specific, capability-rich description with explicit load triggers and minimal conflict risk, weakened mainly by trigger terms that lean on API symbols rather than the natural language users actually say.

Suggestions

Add natural-language trigger phrases to the 'Load when' clause (e.g. 'row selection', 'selecting rows', 'shift-click range selection', 'checkbox selection in tables') so it matches what users naturally say.

Include synonyms and the library name in the trigger surface (e.g. 'TanStack Table row selection', 'multi-select rows') to broaden keyword coverage beyond API identifiers.

DimensionReasoningScore

Specificity

Lists multiple concrete capabilities (stable getRowId, single/multi/subrow/Shift-range rules, selected row models, handler anchors, manual-pagination semantics) with comprehensive coverage of the domain.

5 / 5

Completeness

Explicitly answers both 'what' (maintain rowSelection ID state…) and 'when' (a 'Load when' clause with five concrete triggers), but the triggers are technical-method-based rather than the natural user-mention phrases that distinguish a 5.

4 / 5

Trigger Term Quality

The 'Load when' triggers are API identifiers (getToggleSelectedHandler, enableRowRangeSelection, selectChildren, deselectParents) rather than natural user phrases; common variations like 'row selection', 'selecting rows', or 'checkbox selection' are missing.

3 / 5

Distinctiveness Conflict Risk

Occupies a clear TanStack table row-selection niche with highly specific API triggers, making conflict with unrelated skills unlikely.

5 / 5

Total

17

/

20

Passed

Validation

87%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

14

/

16

Passed

Repository
TanStack/table
Reviewed

Table of Contents

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.