CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

claude-code-hooks

Writes, tests, registers and debugs Claude Code hooks (PreToolUse, PostToolUse, SessionStart, Stop) that turn a rule the model keeps breaking into a hard gate. Use when the user wants to block or intercept a tool call, add a guard rail, fix a misfiring hook, or says 拦截 / 守卫 / 钩子 — including "make it stop doing X".

70

Quality

88%

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

73%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 delivers exceptionally actionable, well-sequenced guidance with real verification infrastructure and a genuinely one-level-deep, verifiable reference bundle. Its weakness is token efficiency: a 97KB load-at-trigger surface carrying repeated justifications and dated incident narrative that its own maintenance policy says belongs in references.

Suggestions

Move dated war stories and measurement logs (e.g. the 2026-08-06 replay statistics, the 1,801-entry audit log, the fleet CPU incident) into references/hook_pitfalls.md, keeping only the contract-level rule plus a one-line pointer — per the skill's own Maintenance policy.

Consolidate the repeated explanations of the 8-block ceiling counter-reset and stop_hook_active limits (currently restated in the hook-types table, rule 7, and rule 9) into a single authoritative statement cross-referenced elsewhere.

Collect version- and date-sensitive facts (v2.1.214+, v2.1.145+, ShellCheck 0.11.0, shipped-on dates) into a dedicated version-history/old-patterns section so they stop penalizing the always-loaded surface.

DimensionReasoningScore

Conciseness

The 1,363-line body is noticeably verbose: dated war stories (2026-07-05 through 2026-10-04), audit statistics ("1,801 entries… 360 lines"), version numbers (v2.1.214+, ShellCheck 0.11.0), and design-history asides ("10k→50k chars", "four-frame design review") sit inline with no old-patterns/deprecated section, and key points are repeated at length (the 8-block ceiling counter-reset appears ~4 times; the rule-1-vs-rule-5 axis disclaimer twice). Not 3: this exceeds "some unnecessary explanation" — the Maintenance section itself documents unbounded growth and much of the incident narrative belongs one pointer away in references per the skill's own policy.

2 / 5

Actionability

Copy-paste-ready guidance throughout: the PreToolUse skeleton, exact test commands ("bash -n hook.sh" plus verbatim printf'd JSON events), receipt-key and session-counter snippets, exact matcher examples ("^Edit$", "mcp__memory__.*"), and a shipped test harness. Template placeholders like "<command actually does the banned thing>" are explicitly justified (detection is per-rule), with full runnable skeletons one reference away. Not 4: no real execution gaps exist in the body itself.

5 / 5

Workflow Clarity

"Build order (in sequence)" gives a 9-step sequence with validation checkpoints at each step (test before registering, replay corpus, fresh-session verification, human gate), and the rules add explicit feedback loops — after-remediation row pairs, mutate-to-prove-rows-die, capped-exit contracts with 'Do not report completed'. Not 4: checkpoints and error-recovery loops are explicit and comprehensive for this batch/destructive-adjacent domain.

5 / 5

Progressive Disclosure

References are one level deep, well-signaled, and all real: hook_patterns.md, hook_pitfalls.md, and both scripts exist, and every anchor link in the body (#the-shlex-command-position-walker, #36-a-self-applied-review-rule…, #changing-a-shipped-gate…) resolves to an actual heading. Not 5: the SKILL.md body itself is far from an overview — dated incident narratives and measurement logs that the skill's own Maintenance policy routes to references are inlined, leaving the load-at-trigger surface bloated. Not 3: the split policy is explicit, navigation is clear, and the bulk of patterns/pitfalls/harnesses genuinely live in the bundle files.

4 / 5

Total

16

/

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: third-person, concrete lifecycle verbs, an enumerated domain, an explicit 'Use when' clause with natural trigger phrases in two languages, and a distinct niche. It cleanly matches the top anchor on all four dimensions with no over-claims or padding.

DimensionReasoningScore

Specificity

"Writes, tests, registers and debugs Claude Code hooks (PreToolUse, PostToolUse, SessionStart, Stop)" names four concrete lifecycle actions plus an enumerated domain, matching the comprehensive multi-action anchor. Not 4: there are no minor coverage gaps — the full lifecycle (write/test/register/debug) and all covered hook types are listed.

5 / 5

Completeness

Explicitly answers both questions: "what" (writes/tests/registers/debugs hooks that turn a broken rule into a hard gate) and "when" ("Use when the user wants to block or intercept a tool call… including 'make it stop doing X'") with concrete trigger phrases. Not 4: the 'when' clause is fully explicit, not merely present.

5 / 5

Trigger Term Quality

Covers natural user phrasing comprehensively — "block or intercept a tool call", "add a guard rail", "fix a misfiring hook", "make it stop doing X", plus multilingual synonyms (拦截 / 守卫 / 钩子). Not 4: no common natural variation is missing; the description even includes the colloquial "make it stop doing X" shape users actually say.

5 / 5

Distinctiveness Conflict Risk

Clear niche — Claude Code hooks as structural enforcement — with distinct triggers (guard rail, misfiring hook, intercept) that would not fire for unrelated skills. Not 4: overlap risk with closely related skills is minimal because the trigger vocabulary is specific to hook authoring/debugging.

5 / 5

Total

20

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (1374 lines); consider splitting into references/ and linking

Warning

Total

15

/

16

Passed

Repository

daymade/claude-code-skills

Path

daymade-claude-code/claude-code-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.