CtrlK
BlogDocsLog inGet started
Tessl Logo

writing-hookify-rules

This skill should be used when the user asks to "create a hookify rule", "write a hook rule", "configure hookify", "add a hookify rule", or needs guidance on hookify rule syntax and patterns.

72

2.38x
Quality

59%

Does it follow best practices?

Impact

100%

2.38x

Average score across 3 eval scenarios

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./plugins/hookify/skills/writing-rules/SKILL.md

The canonical home for this skill is Writing Hookify Rules in anthropics/claude-code

SKILL.md
Quality
Evals
Security

Quality

Content

71%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 highly actionable with complete, executable rule examples and clear organization, and its workflows include test checkpoints. Its weaknesses are token efficiency (an unnecessary regex tutorial and a redundant quick-reference section) and the absence of any progressive disclosure — 370 lines inlined in one file with content that belongs in reference files.

Suggestions

Remove or drastically cut the 'Regex Basics' section — metacharacter tables (\s, \d, +, *, ?, |) are knowledge Claude already has; keep only the hookify-specific escaping guidance.

Move the per-event guides and pattern catalog into a reference file (e.g., references/patterns.md) and keep SKILL.md as an overview with one-level-deep, clearly signaled links.

Replace the duplicated Quick Reference event/field/operator lists with a pointer to the sections that already document them, and tighten 'Test immediately' to state what to verify (e.g., trigger the rule with a matching command and check the message).

DimensionReasoningScore

Conciseness

Mostly efficient skill-specific material (rule format, operators, naming conventions, YAML-escaping pitfalls), but it includes a regex tutorial explaining metacharacters like \s, \d, and '+' that Claude already knows, plus a Quick Reference section that repeats event types, fields, and operators documented earlier. These are whole sections rather than minor instances, so it sits at anchor 3 rather than 4.

3 / 5

Actionability

Fully executable throughout: complete copy-paste-ready rule files with full frontmatter, exact field names and operators, precise file-naming patterns, good/bad naming examples, and a concrete test command (python3 -c "import re; print(re.search(...))"). Examples cover the common cases, matching anchor 5.

5 / 5

Workflow Clarity

'Creating a Rule' is a clear 6-step sequence including a test step ('Test immediately - rules are read dynamically on next tool use'), plus explicit refining and disabling flows. Checkpoints are present but 'Test immediately' is vague about what to verify, matching anchor 4 rather than 5. The skill is non-destructive, so the destructive-operation cap does not apply.

4 / 5

Progressive Disclosure

No bundle files exist; everything is inlined in a single ~370-line SKILL.md. Section headers make it navigable (above anchor 2's structureless inline dump), but the regex tutorial and per-event guides clearly belong in separate reference files, and the only external pointer (${CLAUDE_PLUGIN_ROOT}/examples/) is an unverifiable plugin path — matching anchor 3.

3 / 5

Total

15

/

20

Passed

Description

47%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 has strong, natural trigger phrases and a clear niche, but it completely omits the 'what' — no statement of the skill's capabilities. It reads as a pure trigger list rather than a description, capping completeness and specificity low.

Suggestions

Add an explicit capability statement before the trigger clause, e.g., 'Writes hookify rule files (.claude/hookify.{name}.local.md) with YAML frontmatter defining event, pattern, and action fields.'

Broaden trigger coverage with variations users might actually say, such as 'hookify pattern', 'disable a hookify rule', or 'fix a hook rule'.

Consider dropping the non-hookify trigger 'write a hook rule' or rephrasing it to include 'hookify' to reduce overlap with generic Claude Code hooks skills.

DimensionReasoningScore

Specificity

The description names the hookify domain but contains no capability statements at all — it never says what the skill does (e.g., writes rule markdown files with YAML frontmatter). 'create a hookify rule' is a trigger phrase, not a described capability, so it sits at anchor 2 rather than anchor 3.

2 / 5

Completeness

The 'when' is explicit ('should be used when the user asks to...') but the 'what' is entirely absent — the description only states when to invoke the skill, never what it does. This matches anchor 2 ('only when is present without what') exactly.

2 / 5

Trigger Term Quality

Five natural quoted phrases ('create a hookify rule', 'write a hook rule', 'configure hookify', 'add a hookify rule', 'syntax and patterns') give good keyword coverage. Not 5 because common variations like 'hookify pattern' or 'disable a rule' are missing.

4 / 5

Distinctiveness Conflict Risk

'Hookify' is a distinct niche with specific triggers, but 'write a hook rule' drops the product name and could overlap with generic Claude Code hooks skills — minor overlap risk, matching anchor 4 rather than anchor 5.

4 / 5

Total

12

/

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

frontmatter_unknown_keys

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

Warning

Total

15

/

16

Passed

Repository
anthropics/claude-plugins-official
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.