CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

data-client-vue

Use @data-client/vue composables for data fetching, mutations, and rendering - useSuspense, useFetch, useQuery, useCache, useLive, useDLE, useSubscription, useController, useLoading, useDebounce, DataClientPlugin, Suspense, onErrorCaptured. Use when reading/rendering remote data, triggering mutations, doing optimistic updates, real-time subscriptions, or wiring Suspense and error handling in Vue 3.

77

Quality

97%

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

SKILL.md
Quality
Evals
Security

Quality

Content

93%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 skill body is a model reference skill: lean, executable, copy-paste-ready code covering the full composable surface, with excellent one-level-deep progressive disclosure into a complete references/ bundle (all referenced paths verified to exist). The only minor weakness is workflow clarity: sequencing and a refresh-decision table are present, but inline validation/verification checkpoints are implicit, delegated to reference files and sibling skills.

DimensionReasoningScore

Conciseness

The body is lean and dense: commented code blocks annotated with the HTTP call each produces ('// GET https://jsonplaceholder.typicode.com/todos/5'), terse non-obvious guidance ('Return values are refs', 'There is no AsyncBoundary component in Vue'), and no explanation of concepts Claude already knows. Only trivial trimming candidates exist (e.g., the closing bold 'ALWAYS follow these patterns' line), matching the score-5 anchor; score 4 would require noticeable over-explanation, which is absent.

5 / 5

Actionability

Code is fully executable and copy-paste ready with concrete endpoints and parameters ('const todo = await useSuspense(TodoResource.get, { id: 5 })', 'ctrl.fetch(TodoResource.getList.push, { userId: 1 }, todo)'), and the examples cover the common cases — reads, conditional/parallel fetches, live subscriptions, full CRUD mutations, pagination, debounce, and loading state. This matches the score-5 anchor; score 4's 'minor gaps' does not apply since coverage of common cases is complete.

5 / 5

Workflow Clarity

The body is organized in a coherent usage sequence (Setup → Rendering → Mutations → boundaries → imperative actions → debugging) and includes a decision table ('To refresh or update | Call') plus symptom-directed debugging guidance, giving clear sequencing with most checkpoints present. It falls short of the score-5 anchor because no explicit validation/verification steps appear inline — error-recovery detail is delegated to references (devtools-debugging, _AsyncBoundary) and testing to a sibling skill, so checkpoints are implicit rather than explicit. It is clearly above score 3, where sequence would be present but checkpoints weakly organized.

4 / 5

Progressive Disclosure

The body is a concise overview with well-signaled, one-level-deep references: every link (all 23 referenced paths, verified against the actual file listing) resolves to a real file in references/, links carry descriptive context inline, and a grouped References index with one-line descriptions closes the document. Content is appropriately split (bulk API detail in useSuspense.md, Controller.md, etc.), matching the score-5 anchor exactly.

5 / 5

Total

19

/

20

Passed

Description

100%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 exemplary: it states the domain and full concrete API list, provides an explicit and specific 'Use when' trigger clause with natural synonyms, and is cleanly scoped to Vue 3 with @data-client/vue, making it highly distinguishable from sibling skills. Both 'what' and 'when' are answered with concrete trigger phrases.

DimensionReasoningScore

Specificity

The description names the domain ('@data-client/vue composables for data fetching, mutations, and rendering') and enumerates the concrete API surface ('useSuspense, useFetch, useQuery, useCache, useLive, useDLE, useSubscription, useController, useLoading, useDebounce, DataClientPlugin, Suspense, onErrorCaptured') — comprehensive coverage of multiple specific capabilities, matching the score-5 anchor rather than the 'minor gaps' of score 4.

5 / 5

Completeness

Both 'what' (the composable list and their purpose) and an explicit 'Use when...' clause with concrete triggers are present, exactly matching the score-5 anchor; score 4 would require a weaker or less specific 'when', which is not the case here.

5 / 5

Trigger Term Quality

'Use when reading/rendering remote data, triggering mutations, doing optimistic updates, real-time subscriptions, or wiring Suspense and error handling in Vue 3' covers the natural phrases a user would say for this task, with synonyms and framework identifier ('Vue 3'); it is comprehensive for this domain, not the 'a few natural terms missing' of score 4.

5 / 5

Distinctiveness Conflict Risk

The description is tightly scoped to '@data-client/vue' composables and Vue 3 — a clear niche with distinct triggers (optimistic updates, useSuspense, real-time subscriptions) and minimal overlap risk with generic fetching skills or non-Vue variants.

5 / 5

Total

20

/

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.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

reactive/data-client

Path

.agents/skills/data-client-vue/SKILL.md

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.