CtrlK
BlogDocsLog inGet started
Tessl Logo

with-tanstack-virtual

Virtualize Angular Table final row or column models inside the correct injection and reactive lifecycle with signal counts, scroll elements, keys, measurement, transforms, sticky regions, grid/flex sizing, and infinite data.

61

Quality

73%

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

Quality

Content

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

Lean, executable, code-driven content with tight Wrong/Correct mistake patterns and minimal token waste. Workflow is pattern-based with a single guard but lacks explicit validation checkpoints, and progressive disclosure relies on external/discovery pointers rather than bundled reference files.

Suggestions

Add an explicit validation checkpoint in the infinite-fetch and measurement flows — e.g. 'After rendering, confirm getVirtualItems() length and scroll geometry before fetching more' — to introduce a validate→adjust feedback loop.

If detailed reference material exists, bundle it as one-level-deep files (e.g. references/infinite-scroll.md) and link them with clearly signaled pointers instead of pointing to external installed/example paths.

DimensionReasoningScore

Conciseness

The body is lean and code-driven with no padding or explanations of concepts Claude already knows; lines like 'The Angular virtualizer follows DI lifecycle rules just like injectTable' are tight justifications where every token earns its place.

5 / 5

Actionability

The Setup block is copy-paste-ready TypeScript, the Common Mistakes give explicit Wrong/Correct code with named sources, and Core Patterns supply concrete injectVirtualizer/computed patterns — fully executable guidance covering the common cases.

5 / 5

Workflow Clarity

Content is organized into clear patterns with one guard (infinite-fetch gating: 'fetch only if more server rows exist and a request is not active'), but there are no explicit validation checkpoints or validate→fix→retry feedback loops, matching the 'sequence present but checkpoints missing or implicit' anchor.

3 / 5

Progressive Disclosure

The ~90-line body is well-structured into Setup, Core Patterns, Common Mistakes, and API Discovery sections with no monolithic wall, but the 'API Discovery' section points to installed dist/types and external examples rather than well-signaled one-level-deep bundled references, leaving a minor organization gap below the 5 anchor.

4 / 5

Total

17

/

20

Passed

Description

63%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 concise, third-person statement with comprehensive concrete capability coverage, but it omits any "Use when..." trigger guidance (capping completeness) and relies on jargon-heavy phrasing rather than natural user keywords. Adding explicit trigger conditions and more user-facing terms would raise the weaker dimensions.

Suggestions

Append a 'Use when...' clause naming concrete triggers, e.g. 'Use when virtualizing Angular Table rows or columns, or implementing infinite scroll with @tanstack/angular-table'.

Add natural user-facing terms alongside the jargon — phrases like 'virtual scroll', 'tanstack table virtualization', and 'render only visible rows' that a user would actually say.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — "signal counts, scroll elements, keys, measurement, transforms, sticky regions, grid/flex sizing, and infinite data" — giving comprehensive coverage of the virtualization surface area.

5 / 5

Completeness

The description clearly states what the skill does but contains no "Use when..." clause or equivalent trigger guidance, which the guidelines cap at 3; it matches the "clear what but when missing" anchor.

3 / 5

Trigger Term Quality

Relevant domain keywords (virtualize, Angular, table, infinite) are present, but the phrasing leans on technical jargon ("injection and reactive lifecycle", "grid/flex sizing") and omits natural user phrasings like "virtual scroll" or "tanstack table virtualization", matching the "some relevant keywords but missing common variations" anchor.

3 / 5

Distinctiveness Conflict Risk

"Virtualize Angular Table final row or column models" targets a specific @tanstack/angular-table niche with minimal conflict risk, though without explicit trigger phrases the overlap with related table skills is only mostly, not fully, eliminated.

4 / 5

Total

15

/

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.