CtrlK
BlogDocsLog inGet started
Tessl Logo

create-table-hook

Define a Svelte createAppTable/createAppColumnHelper using the adapter's rune-capable createTableHook implementation, shared features/defaults, reactive per-table getters, optional App component registries, and typed table/cell/header context hooks.

59

Quality

69%

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/svelte-table/skills/create-table-hook/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

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

The body is efficient and largely executable, with concrete Setup and Common-Mistakes code blocks and clear sectioning. The main gaps are a missing verification checkpoint for rune reactivity and a described-but-not-shown component-registration pattern.

Suggestions

Add an explicit validation step, e.g. after setup, 'Mutate $state data and confirm the table re-renders—rune reactivity requires get data() accessors, not frozen values.'

Show a concrete registration example for the 'Register reusable components once' pattern (tableComponents/cellComponents/headerComponents passed to createTableHook and rendered via AppTable/AppCell/AppHeader) instead of describing it in prose.

Consider moving the Common Mistakes detail into a references file with the body keeping one-line summaries, to push progressive disclosure toward one-level-deep splitting.

DimensionReasoningScore

Conciseness

The body is lean, assumes Claude knows Svelte/TanStack, and uses tight Wrong/Correct pairs rather than explaining basics. A few explanatory sentences (e.g. 'This avoids prop drilling...' and 'The shipped implementation supplies Svelte rune reactivity...') could be trimmed, keeping it just below 5.

4 / 5

Actionability

Setup and Common Mistakes provide concrete, copy-paste-ready import/export and Svelte script blocks, and API Discovery points to a specific dist path to inspect. It misses 5 because the 'Register reusable components' pattern is described in prose without a concrete registration code block.

4 / 5

Workflow Clarity

Content is organized as Setup → Core Patterns → Common Mistakes → API Discovery, a logical progression, but there are no explicit validation checkpoints (e.g. 'verify the table re-renders when $state mutates'). For a skill whose core risk is rune reactivity, the absence of a verify step leaves checkpoints implicit.

3 / 5

Progressive Disclosure

The single ~150-line body is well-sectioned with clear headers and the inline content is appropriately sized; the dist/source paths are clearly signaled for discovery ('Inspect node_modules/...'). It is not 5 because there are no separate bundle files demonstrating one-level-deep reference splitting, and a couple of patterns could live in references.

4 / 5

Total

15

/

20

Passed

Description

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

The description is specific and highly distinctive, naming concrete Svelte/TanStack capabilities and trigger identifiers. Its main weakness is the absence of any explicit 'Use when...' guidance, which caps completeness at 3 despite the strong 'what'.

Suggestions

Add an explicit trigger clause, e.g. 'Use when multiple Svelte tables share conventions, features, or component registries; keep one-off tables on createTable.'

Surface a couple of natural-language trigger phrases ('reusable Svelte tables', 'shared table defaults') alongside the API identifiers so users phrase the need in their own words.

Lead with the action verb and outcome, then list the mechanism, so 'what it does' is the headline rather than buried in a long noun phrase.

DimensionReasoningScore

Specificity

Lists several concrete capabilities—createAppTable/createAppColumnHelper, rune-capable createTableHook, reactive per-table getters, App component registries, and typed table/cell/header context hooks—rather than vague language. It stops short of 5 because everything is one 'define' action expanded into its sub-features rather than a comprehensive set of distinct operations.

4 / 5

Completeness

It clearly states what the skill does (define the helpers via createTableHook with features, getters, registries, context hooks) but contains no 'Use when...' clause or equivalent trigger guidance. Per the judging guidelines, a missing explicit 'when' caps completeness at 3.

3 / 5

Trigger Term Quality

Includes the library-specific terms a user of this stack would actually say—'Svelte', 'createAppTable', 'createAppColumnHelper', 'createTableHook', 'context hooks'—giving good keyword coverage. It misses more natural phrases like 'reusable tables' or 'shared table conventions', keeping it below 5.

4 / 5

Distinctiveness Conflict Risk

The niche is sharply defined—Svelte + TanStack + createTableHook/createAppTable with rune reactivity—so it is unlikely to trigger for unrelated skills. Distinct identifiers and framework specificity give minimal conflict risk.

5 / 5

Total

16

/

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.