CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

dev-create-hook

Use when adding server state management to a module - creates React Query hook with caching and error handling.

Quality

76%

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 ./packs/nextjs/skills/dev-create-hook/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

82%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 a lean, highly actionable code-generation skill: a type-decision tree, two complete templates, explicit rules, and a validation step, with no filler or concept re-teaching. The main gaps are the missing template for the pure-logic hook type and the absence of an error-recovery loop after the tsc check.

DimensionReasoningScore

Conciseness

The body contains no explanations of concepts Claude already knows — it is purely steps, two canonical code templates, a compact rules list, and a one-line validation command. The only trimmable redundancy is the repeated docs/ARCHITECTURE.md reference (intro line and step 1), which is trivial, so it fits anchor 5 (lean, every token earns its place) rather than 4.

5 / 5

Actionability

Two complete, executable TypeScript templates (Query and Mutation), a clear type-decision tree, and a concrete validation command ("npx tsc --noEmit") give copy-paste-ready guidance. However, the third declared type — "Pure logic (no API) -> useState + useEffect + cleanup" — has no template, a minor gap that keeps it at anchor 4 rather than 5.

4 / 5

Workflow Clarity

The sequence is clear (read ARCHITECTURE.md 4.4, determine type, create from template, apply rules, validate with tsc) and includes an explicit validation checkpoint. There is no error-recovery feedback loop if tsc fails, so it matches anchor 4 rather than 5; no destructive/batch cap applies since this is file creation.

4 / 5

Progressive Disclosure

The single file is well-sectioned with headers (Steps, Query Hook, Mutation Hook, Rules) and everything in it is needed on every invocation, while the one external reference ("docs/ARCHITECTURE.md section 4.4") is clearly signaled and one level deep. At ~82 lines with two full inline templates it sits above the under-50-line simple-skill case, so anchor 4 rather than 5.

4 / 5

Total

17

/

20

Passed

Description

62%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 explicitly covers both what the skill does and when to use it, with a reasonably distinct React Query/server-state niche. Its weaknesses are limited action coverage and missing natural trigger variations like 'data fetching' or 'custom hook', leaving users to paraphrase the one stated trigger.

Suggestions

Enumerate the concrete hook types the skill creates, e.g. "creates React Query hooks (useQuery for fetching, useMutation with cache invalidation) with caching and error handling" to lift specificity.

Add natural trigger variations users would actually say: "Use when adding server state management, data fetching, or custom query/mutation hooks to a module."

Mention the pure-logic hook case (useState/useEffect) in the description so the 'what' covers all three hook types the skill actually supports.

DimensionReasoningScore

Specificity

"creates React Query hook with caching and error handling" names the domain and a couple of actions, but caching/error handling read as attributes of the hook rather than several distinct actions, and coverage is incomplete (no mention of mutations, invalidation, or list vs. detail hooks). It matches anchor 3 rather than 4, which requires several specific actions with only minor gaps.

3 / 5

Completeness

Both parts are explicit: "Use when adding server state management to a module" answers when, and "creates React Query hook with caching and error handling" answers what. The 'when' is a single concrete trigger without variations or additional trigger phrases, matching anchor 4 rather than the comprehensive anchor 5.

4 / 5

Trigger Term Quality

Relevant keywords are present ("server state management", "React Query", "hook", "caching", "error handling", "module"), but common natural phrasings users would say are missing, such as "data fetching", "custom hook", "useQuery", or "API calls". This fits anchor 3 (some relevant keywords, missing variations) rather than 4 (good coverage with only a few missing).

3 / 5

Distinctiveness Conflict Risk

"React Query hook" combined with "server state management" carves a fairly distinct niche with clear triggers, but it could still overlap with a generic 'create a React hook' or 'data fetching' skill. This is anchor 4 (mostly distinct, minor overlap risk) rather than 5 (clear niche with minimal conflict).

4 / 5

Total

14

/

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.

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

allowed_tools_field

'allowed-tools' contains unusual tool name(s)

Warning

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

14

/

16

Passed

Repository

fernandezbaptiste/specialist-agent

Path

packs/nextjs/skills/dev-create-hook/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.