CtrlK
BlogDocsLog inGet started
Tessl Logo

tanstack-virtual

Headless UI for virtualizing large element lists at 60FPS in TS/JS, React, Vue, Solid, Svelte, Lit & Angular.

49

Quality

53%

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 ./.agents/skills/tanstack-virtual/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

61%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.

A dense, mostly executable reference that reads as a compact API cheat sheet with strong code coverage across virtualization patterns. Its main weakness is structure: everything lives in one inlined file with no progressive disclosure or external references, and there are no explicit validation/verification checkpoints.

Suggestions

Split the options table and Virtualizer API/VirtualItem reference into a separate REFERENCE.md and link to it from a concise Quick Start, keeping SKILL.md as an overview.

Add a short integration workflow with verification (e.g. 'install -> add parent ref + virtualizer -> confirm only viewport items render via devtools') so the sequence has a checkpoint.

Make the Infinite Scrolling and Sticky examples fully runnable (close the render blocks and include the loader-row / sticky CSS) to reach copy-paste completeness.

DimensionReasoningScore

Conciseness

The body is mostly lean: executable code, compact API tables, and a useful Best Practices / Common Pitfalls list with little filler. It would score 5 but retains minor over-explanation (e.g. the 'overestimate recommended' / 'REQUIRED for measurement' inline commentary) that could be trimmed.

4 / 5

Actionability

Provides multiple complete, copy-paste TSX examples (core pattern, dynamic heights, horizontal, grid, window, infinite, sticky, smooth scroll) plus a full options table and API listings. It stops short of 5 because a few snippets are partial (the Infinite List and Sticky sections leave render output / styling to the reader rather than giving fully runnable code).

4 / 5

Workflow Clarity

Sequences are present within each example and pitfalls flag failure modes, but there are no end-to-end build/validate/verify checkpoints and no validate->fix->retry feedback loop. Because this is a UI integration skill with no destructive or batch operations the hard cap does not apply, but the absence of explicit verification steps holds it at the 'steps listed but validation gaps' anchor.

3 / 5

Progressive Disclosure

This is a single ~370-line monolithic SKILL.md with no references directory, scripts, or assets; the substantial options table and API section are the kind of reference material the rubric expects to be split into a separate file and clearly signaled, which the anchor scores at 2 ('content that clearly belongs in separate files is inlined').

2 / 5

Total

13

/

20

Passed

Description

45%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 crisp, third-person one-liner that names the domain and frameworks clearly, but it omits any 'Use when...' trigger guidance and only lightly enumerates capabilities. Distinctiveness is its strongest quality, completeness its weakest.

Suggestions

Add an explicit trigger clause, e.g. 'Use when rendering large lists, grids, or tables where scroll performance matters or the user mentions virtualization or windowing.'

Expand the 'what' with 2-3 concrete actions (e.g. 'measure dynamic item heights, scroll to index, support horizontal/grid/window virtualization') to lift specificity.

Surface natural synonyms users say ('large/long lists', 'scroll performance', 'windowing') alongside 'virtualizing'.

DimensionReasoningScore

Specificity

Names the domain ('virtualizing large element lists at 60FPS') and the concrete capability (virtualizing lists/grids/tables), but the description itself lists only the one action of virtualizing plus the framework set rather than enumerating concrete operations like 'render only visible items', 'measure dynamic heights', or 'scroll to index'.

3 / 5

Completeness

The 'what' is present ('Headless UI for virtualizing large element lists at 60FPS') but there is no explicit 'Use when...' trigger clause or guidance on when Claude should reach for this skill, which the rubric caps at 3 and the absence of any 'when' places at 2.

2 / 5

Trigger Term Quality

Includes good natural terms ('virtualizing', 'large element lists', '60FPS') and broad framework coverage, but omits the most common user phrases such as 'large lists', 'long lists', 'scroll performance', 'windowing', or file/extension synonyms, so coverage is partial.

3 / 5

Distinctiveness Conflict Risk

The multi-framework enumeration ('React, Vue, Solid, Svelte, Lit & Angular') and 'Headless UI' framing carve a clear, distinct niche with only minor overlap risk against generic UI-component skills.

4 / 5

Total

12

/

20

Passed

Validation

100%

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

Validation16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
udecode/plate
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.