CtrlK
BlogDocsLog inGet started
Tessl Logo

table-state

Read automatically reactive Alpine table APIs in bindings and own slices with Alpine.reactive getters plus on*Change or external TanStack Store atoms. Load for controlled state, updater callbacks, selector gating, atom precedence, or code incorrectly adding table.Subscribe.

64

Quality

77%

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/alpine-table/skills/table-state/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

75%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 well-structured, largely executable reference skill that assumes framework competence and is organized into clear sections with concrete code and mistake guardrails. The main limitation is the absence of separate reference files and a complete code example for the external-atom ownership path.

DimensionReasoningScore

Conciseness

The body is dense and largely assumes Claude's competence with Alpine and TanStack ('The Alpine adapter proxies the table and subscribes it to the store'), with only minor explanatory sentences (e.g., 'State is feature-based, so missing state or methods usually mean the feature was not registered') that could be trimmed.

4 / 5

Actionability

Provides a complete, executable Setup code block and concrete reset/API calls (table.resetSorting(), table.atoms.pagination.get().pageIndex), plus Wrong/Correct mistake pairs, but the external-atom ownership path is described rather than shown as full copy-paste code, leaving minor gaps.

4 / 5

Workflow Clarity

A logical learning sequence (mental model -> setup -> patterns -> ownership -> init/update/reset -> mistakes -> API discovery) with Wrong/Correct guardrails, but there are no explicit validation/feedback checkpoints; this is acceptable since the skill involves no destructive or batch operations requiring them.

4 / 5

Progressive Disclosure

Well-organized into clearly headed sections in a single file with no inlined bulk that belongs elsewhere, and the API Discovery section points to inspectable .d.ts paths; however there are no separate reference files to navigate to, so it stops short of true one-level-deep progressive disclosure.

4 / 5

Total

16

/

20

Passed

Description

80%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 specific, well-scoped framework skill description that explicitly covers both capabilities and load triggers for a narrow Alpine+TanStack niche. Its main weakness is jargon-heavy trigger terms that users are unlikely to say naturally.

Suggestions

Add natural-language trigger synonyms users would actually say (e.g., 'Alpine table state', 'controlled pagination', 'table not updating') alongside the technical terms like 'selector gating' and 'atom precedence'.

Split the compound 'own slices with Alpine.reactive getters plus on*Change or external TanStack Store atoms' into a clearer enumerated action list so each ownership mechanism reads as a distinct capability.

Consider a plainer 'Use when...' phrasing to complement 'Load for...', which is slightly less recognizable as a trigger clause.

DimensionReasoningScore

Specificity

Names the Alpine-table state domain and several concrete actions ('Read automatically reactive Alpine table APIs in bindings', 'own slices with Alpine.reactive getters plus on*Change or external TanStack Store atoms'), but the compound phrasing packs sub-mechanisms into two high-level actions rather than a clean comprehensive list, leaving minor coverage gaps.

4 / 5

Completeness

It explicitly answers both 'what' (read reactive APIs in bindings; own slices via three mechanisms) and 'when' ('Load for controlled state, updater callbacks, selector gating, atom precedence, or code incorrectly adding table.Subscribe') with concrete trigger phrases.

5 / 5

Trigger Term Quality

The 'Load for controlled state, updater callbacks, selector gating, atom precedence, or code incorrectly adding table.Subscribe' clause supplies several relevant scenario triggers, but the terms are technical jargon ('selector gating', 'atom precedence') rather than natural phrases a user would say, and common synonyms are missing.

3 / 5

Distinctiveness Conflict Risk

The description targets a narrow niche (Alpine.js + TanStack Table state ownership) with distinct triggers like 'TanStack Store atoms' and 'table.Subscribe', giving it a clear niche with minimal conflict risk against other skills.

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.