Source profileQuality 82/100Review permissions

affaan-m/ECC/skills/hookify-rules/SKILL.md

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.

Source repository stars
234,327
Declared platforms
0
Static risk flags
1
Last source update
2026-07-27
Source checked
2026-07-28

Decision brief

What it does—and where it fits

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.

Best for

    Not for

    • Tasks that require unconfirmed production actions or broad system permissions.
    • Environments where the pinned source and install steps cannot be inspected.

    Compatibility matrix

    Platform support, with evidence labels

    PlatformStatusEvidenceWhat to check
    CodexNot declaredNo explicit evidencePortability before use
    Claude CodeNot declaredNo explicit evidencePortability before use
    CursorNot declaredNo explicit evidencePortability before use
    Gemini CLINot declaredNo explicit evidencePortability before use
    Open the compatibility checker

    Installation

    Inspect first. Install second.

    The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

    Source-detected install commandSource
    npx skills add https://github.com/affaan-m/ECC --skill "skills/hookify-rules"
    Safe inspection promptEditorial

    Inspect the Agent Skill "hookify-rules" from https://github.com/affaan-m/ECC/blob/4e973d3eaf92d97f8d2e2d8abb39d8bdc8711b38/skills/hookify-rules/SKILL.md at commit 4e973d3eaf92d97f8d2e2d8abb39d8bdc8711b38. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

    Workflow

    What the source asks the agent to do

    1. 01

      Rule File Format

      Condition fields by event: - bash: command - file: filepath, newtext, oldtext, content - prompt: userprompt

      bash: commandfile: filepath, newtext, oldtext, contentprompt: userprompt
    2. 02

      Basic Structure

      Review the “Basic Structure” section in the pinned source before continuing.

      Review and apply the “Basic Structure” source section.
    3. 03

      Frontmatter Fields

      Review the “Frontmatter Fields” section in the pinned source before continuing.

      Review and apply the “Frontmatter Fields” source section.
    4. 04

      Advanced Format (Multiple Conditions)

      Condition fields by event: - bash: command - file: filepath, newtext, oldtext, content - prompt: userprompt

      bash: commandfile: filepath, newtext, oldtext, contentprompt: userprompt

    Permission review

    Static risk signals and limitations

    Runs scripts

    medium · line 96

    The documentation asks the agent to run terminal commands or scripts.

    python3 -c "import re; print(re.search(r'your_pattern', 'test text'))"

    Evidence record

    Why each signal appears

    EvidenceSourceComputedTestedEditorial
    SignalValueEvidence typeMeaning
    Quality score82/100ComputedDocumentation, specificity, maintenance, and trust rules
    Repository stars234,327SourceRepository attention, not individual Skill quality
    Compatibility0 platformsSourceDeclared in the catalog source record
    Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

    Pinned source

    Provenance and original SKILL.md

    Repository
    affaan-m/ECC
    Skill path
    skills/hookify-rules/SKILL.md
    Commit
    4e973d3eaf92d97f8d2e2d8abb39d8bdc8711b38
    License
    MIT
    Collected
    2026-07-28
    Default branch
    main
    View the original SKILL.md

    Writing Hookify Rules

    Overview

    Hookify rules are markdown files with YAML frontmatter that define patterns to watch for and messages to show when those patterns match. Rules are stored in .claude/hookify.{rule-name}.local.md files.

    Rule File Format

    Basic Structure

    ---
    name: rule-identifier
    enabled: true
    event: bash|file|stop|prompt|all
    pattern: regex-pattern-here
    ---
    
    Message to show Claude when this rule triggers.
    Can include markdown formatting, warnings, suggestions, etc.
    

    Frontmatter Fields

    FieldRequiredValuesDescription
    nameYeskebab-case stringUnique identifier (verb-first: warn-, block-, require-*)
    enabledYestrue/falseToggle without deleting
    eventYesbash/file/stop/prompt/allWhich hook event triggers this
    actionNowarn/blockwarn (default) shows message; block prevents operation
    patternYes*regex stringPattern to match (*or use conditions for complex rules)

    Advanced Format (Multiple Conditions)

    ---
    name: warn-env-api-keys
    enabled: true
    event: file
    conditions:
      - field: file_path
        operator: regex_match
        pattern: \.env$
      - field: new_text
        operator: contains
        pattern: API_KEY
    ---
    
    You're adding an API key to a .env file. Ensure this file is in .gitignore!
    

    Condition fields by event:

    • bash: command
    • file: file_path, new_text, old_text, content
    • prompt: user_prompt

    Operators: regex_match, contains, equals, not_contains, starts_with, ends_with

    All conditions must match for rule to trigger.

    Event Type Guide

    bash Events

    Match Bash command patterns:

    • Dangerous commands: rm\s+-rf, dd\s+if=, mkfs
    • Privilege escalation: sudo\s+, su\s+
    • Permission issues: chmod\s+777

    file Events

    Match Edit/Write/MultiEdit operations:

    • Debug code: console\.log\(, debugger
    • Security risks: eval\(, innerHTML\s*=
    • Sensitive files: \.env$, credentials, \.pem$

    stop Events

    Completion checks and reminders. Pattern .* matches always.

    prompt Events

    Match user prompt content for workflow enforcement.

    Pattern Writing Tips

    Regex Basics

    • Escape special chars: . to \., ( to \(
    • \s whitespace, \d digit, \w word char
    • + one or more, * zero or more, ? optional
    • | OR operator

    Common Pitfalls

    • Too broad: log matches "login", "dialog" — use console\.log\(
    • Too specific: rm -rf /tmp — use rm\s+-rf
    • YAML escaping: Use unquoted patterns; quoted strings need \\s

    Testing

    python3 -c "import re; print(re.search(r'your_pattern', 'test text'))"
    

    File Organization

    • Location: .claude/ directory in project root
    • Naming: .claude/hookify.{descriptive-name}.local.md
    • Gitignore: Add .claude/*.local.md to .gitignore

    Commands

    • /hookify [description] - Create new rules (auto-analyzes conversation if no args)
    • /hookify-list - View all rules in table format
    • /hookify-configure - Toggle rules on/off interactively
    • /hookify-help - Full documentation

    Quick Reference

    Minimum viable rule:

    ---
    name: my-rule
    enabled: true
    event: bash
    pattern: dangerous_command
    ---
    Warning message here
    

    Alternatives

    Compare before choosing