CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

creating-hooks

Creates Claude Code hooks.

Quality

71%

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 ./.agents/skills/creating-hooks/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

80%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 well-structured, highly actionable reference: copy-paste-ready hook configurations, exact event/exit-code/JSON schemas, and a script template, with heavy detail correctly offloaded to two real, clearly-signaled reference files. The main gap is workflow clarity — no explicit sequence or testing/verification guidance for creating and validating a new hook.

Suggestions

Add a short step-by-step creation workflow (e.g., 1. pick the event from the table, 2. write the command or script, 3. add the config block to the chosen settings file, 4. trigger the event to verify it fires).

Include a debugging/verification note, such as checking hook output in verbose mode or testing a script by piping sample stdin JSON before installing it in settings.

DimensionReasoningScore

Conciseness

The body is dense with API specifics Claude cannot be assumed to know precisely (event names, exit-code semantics, matcher syntax, exact JSON shapes) and contains essentially no concept padding — "What Hooks Are" is two sentences. Minor redundancy (the PostToolUse and Stop/SubagentStop blocks repeat the same decision/reason structure, and some schema detail duplicates the reference files) keeps it below the "every token earns its place" anchor.

4 / 5

Actionability

Provides copy-paste-ready settings.json configurations for four common patterns, the exact hook config schema, environment variables, and a runnable uv single-file script template whose only placeholder ("Validation logic here") is deliberate scaffolding for user logic. This matches "Fully executable; copy-paste ready code or commands; specific examples cover the common cases".

5 / 5

Workflow Clarity

The content is organized as a reference (Configuration → Events → Exit Codes → Patterns) with no explicit sequence for creating a hook and no validation checkpoint — there is no guidance on testing that a hook fires or debugging it before relying on it. This matches "sequence present but implicit / checkpoints missing"; the simple-skill exception does not apply since hook creation spans choosing an event, writing a command or script, and configuring settings.

3 / 5

Progressive Disclosure

The body is a clear ~230-line overview whose Reference section points to two one-level-deep files (references/anthropic-hooks.md and references/anthropic-hooks-guide.md), both of which exist in the bundle and are labeled with what each contains ("Complete reference (input schemas, prompt hooks, MCP tools)" / "Quickstart and examples"); scripts/update-docs.py referenced in Setup also exists. This matches "Clear overview with well-signaled one-level-deep references; content appropriately split; easy navigation".

5 / 5

Total

17

/

20

Passed

Description

48%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 terse and names a clear, distinct domain, but it specifies only one generic action and provides no "when to use" guidance or natural trigger phrases. It reads as a label rather than an invocation trigger, which limits its usefulness for skill selection.

Suggestions

List concrete capabilities in the description, e.g., "Creates Claude Code hooks that run shell commands at lifecycle events — auto-format files after edits, block dangerous commands, inject context on prompts, send desktop notifications."

Add an explicit trigger clause, e.g., "Use when the user wants to automate or enforce behavior in Claude Code — running commands on file edits, blocking tools, notifying on events, or reacting to session lifecycle points."

Include natural synonyms users would actually say: hooks, lifecycle events, auto-format on save, block commands, trigger command on tool use.

DimensionReasoningScore

Specificity

"Creates Claude Code hooks" names the domain but offers only one generic action verb ("Creates") with no concrete capabilities listed, matching the anchor "Names the domain but actions are minimal or generic". It is not a 3 because no specific actions such as auto-formatting files or blocking commands are stated.

2 / 5

Completeness

The "what" is clear ("Creates Claude Code hooks") but the "when" is entirely absent — no "Use when..." clause or equivalent trigger guidance, which the guidelines cap at 3. It is not a 4 because the when is not even weakly implied, and not a 2 because the what is concrete and domain-specific.

3 / 5

Trigger Term Quality

The phrase contains the relevant natural keyword "hooks" ("Claude Code hooks"), analogous to the anchor example "Works with PDF files", but misses common variations and natural phrases users would say ("automate", "format on save", "run a command when Claude edits a file"). It is not a 4 because keyword coverage is a single term with no breadth.

3 / 5

Distinctiveness Conflict Risk

"Claude Code hooks" occupies a clear niche with minimal conflict risk against other skills, matching "Mostly distinct; minor overlap risk with closely related skills" (e.g., plugin or settings-configuration skills). It is not a 5 because the description provides no distinct trigger phrases to disambiguate invocation.

4 / 5

Total

12

/

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

saski/arnesto

Path

.agents/skills/creating-hooks/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.