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.
63
43%
Does it follow best practices?
Impact
100%
2.38xAverage score across 3 eval scenarios
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./plugins/hookify/skills/writing-rules/SKILL.mdQuality
Discovery
37%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
This description is heavily skewed toward trigger terms and 'when to use' guidance while completely neglecting to explain what the skill actually does. It reads as a pure trigger clause with no capability description. A reader unfamiliar with 'hookify' would have no idea what this skill produces or what domain it operates in.
Suggestions
Add a clear 'what' clause explaining what hookify rules are and what concrete actions the skill performs (e.g., 'Generates hookify rule configurations that define [specific behavior]. Supports [specific features/patterns].').
Restructure to lead with capability description followed by the trigger clause, e.g., 'Creates and configures hookify rules for [purpose], including [specific rule types/patterns]. Use when...'.
Include domain context so Claude can distinguish this skill even without exact keyword matches — explain what problem hookify rules solve.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | The description does not describe any concrete actions or capabilities. It only mentions trigger phrases like 'create a hookify rule' but never explains what hookify rules are, what they do, or what specific actions the skill performs. | 1 / 3 |
Completeness | The description answers 'when' (with explicit trigger phrases) but completely fails to answer 'what does this do'. There is no explanation of what hookify is, what the skill produces, or what capabilities it provides. The 'what' is essentially missing. | 1 / 3 |
Trigger Term Quality | The description includes multiple natural trigger phrases users would say: 'create a hookify rule', 'write a hook rule', 'configure hookify', 'add a hookify rule', and mentions 'hookify rule syntax and patterns'. These are specific and varied. | 3 / 3 |
Distinctiveness Conflict Risk | The term 'hookify' is fairly distinctive and unlikely to conflict with many other skills. However, without explaining what hookify actually does, it's hard to fully distinguish it from other hook-related or configuration skills. | 2 / 3 |
Total | 7 / 12 Passed |
Implementation
50%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
The skill is highly actionable with excellent concrete examples for every rule type and configuration option. However, it is significantly too verbose — regex fundamentals, repeated pattern examples, and a duplicative quick reference section inflate the token cost substantially. The workflow section lacks validation checkpoints for what could be impactful rules (e.g., block actions).
Suggestions
Remove the 'Regex Basics' section entirely — Claude already knows regex syntax. Keep only the hookify-specific escaping note about YAML quoted vs unquoted strings.
Eliminate the 'Quick Reference' section at the end, which duplicates the detailed sections above. Or, keep only the quick reference and remove the verbose event type guide sections.
Add an explicit validation step to the 'Creating a Rule' workflow, e.g., 'Test the pattern with a sample command: python3 -c "import re; print(re.search(r'pattern', 'test'))"' as a numbered step before considering the rule complete.
Move the detailed event type examples and common patterns into a separate reference file (e.g., HOOKIFY-PATTERNS.md) and link to it from the main skill.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The content is extremely verbose and repetitive. The regex basics section explains concepts Claude already knows (what \s, \d, +, * mean). The 'Common Pitfalls' section, 'Good names/Bad names' lists, and the full Quick Reference section at the end largely duplicate information already presented earlier. The content could be cut by 40-50% without losing actionable information. | 1 / 3 |
Actionability | The skill provides fully concrete, copy-paste ready markdown rule files with complete YAML frontmatter and message bodies. Every event type has a working example, the conditions syntax is fully specified with real examples, and the file naming/location conventions are explicit. | 3 / 3 |
Workflow Clarity | The 'Creating a Rule' and 'Refining a Rule' workflows are listed as clear steps, but there are no validation checkpoints. Since rules involve regex patterns that could be too broad or have escaping issues (potentially blocking legitimate operations), the workflow should include explicit testing/validation steps rather than just 'Test immediately' as a vague final step. | 2 / 3 |
Progressive Disclosure | The content is well-structured with clear sections and headers, and references examples in `${CLAUDE_PLUGIN_ROOT}/examples/`. However, the document is monolithic — the regex basics, common pitfalls, and extensive event type guides could be split into separate reference files. The inline Quick Reference duplicates the body content, adding to the bloat. | 2 / 3 |
Total | 8 / 12 Passed |
Validation
90%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 10 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
frontmatter_unknown_keys | Unknown frontmatter key(s) found; consider removing or moving to metadata | Warning |
Total | 10 / 11 Passed | |
48aa435
Table of Contents
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.