hook-factory
Generate production-ready Claude Code hooks with interactive Q&A, automated installation, and enhanced validation. Supports 10 templates across 7 event types for comprehensive workflow automation.
Install
mkdir -p .claude/skills/hook-factory && curl -L -o skill.zip "https://mcp.directory/api/skills/download/6711" && unzip -o skill.zip -d .claude/skills/hook-factory && rm skill.zipInstalls to .claude/skills/hook-factory
About this skill
Hook Factory v2.0
Generate production-ready Claude Code hooks with interactive Q&A, automated installation, and enhanced validation.
What This Skill Does
Hook Factory v2.0 is a comprehensive hook generation system with three modes:
- Interactive Mode (NEW!) - 7-question guided flow with smart defaults
- Natural Language - Describe what you want in plain English
- Template Mode - Direct generation from 10 production templates
Key Features:
- Interactive Q&A - 7 questions with validation and smart defaults
- Automated Installation - Python and Bash installers with backup/rollback
- Enhanced Validation - Secrets detection, event-specific rules, command validation
- 10 Templates - Covering 7 event types (PostToolUse, SubagentStop, SessionStart, PreToolUse, UserPromptSubmit, Stop, PrePush)
- Comprehensive Safety - Tool detection, silent failure, atomic operations
- macOS/Linux Support - Production-ready for Unix environments
When to Use This Skill
Use hook-factory when you want to:
- Auto-format code after editing
- Automatically stage files with git
- Run tests when agents complete
- Load project context at session start
- Create custom workflow automation
- Learn how hooks work through examples
Capabilities
Three Generation Modes
1. Interactive Mode (Recommended)
python3 hook_factory.py -i
- 7-question guided flow
- Smart defaults based on event type
- Input validation and safety warnings
- Optional auto-install
2. Natural Language Mode
python3 hook_factory.py -r "auto-format Python files after editing"
- Simple keyword matching
- Quick generation for common patterns
3. Template Mode (Advanced)
python3 hook_factory.py -t post_tool_use_format -l python
- Direct template selection
- Full customization control
Supported Hook Templates (10 Total)
Formatting & Code Quality:
- post_tool_use_format - Auto-format after editing (Python, JS, TS, Rust, Go)
- post_tool_use_git_add - Auto-stage files with git
Testing & Validation: 3. subagent_stop_test_runner - Run tests when agent completes 4. pre_tool_use_validation - Validate before tool execution 5. pre_push_validation - Check before git push
Session Management: 6. session_start_load_context - Load context at session start 7. stop_session_cleanup - Cleanup at session end
User Interaction: 8. user_prompt_submit_preprocessor - Pre-process user prompts 9. notify_user_desktop - Desktop notifications (macOS/Linux)
Security: 10. security_scan_code - Security scanning with semgrep/bandit
Languages Supported
- Python (black formatter, pytest)
- JavaScript (prettier, jest)
- TypeScript (prettier, jest)
- Rust (rustfmt, cargo test)
- Go (gofmt, go test)
Enhanced Validation (v2.0)
4-Layer Validation System:
- Structure Validation - JSON syntax, required fields, types
- Safety Validation - No destructive ops, tool detection, silent failure
- Matcher Validation - Valid glob patterns, tool names, file paths
- Event-Specific Validation - Rules per event type (PreToolUse, SessionStart, etc.)
NEW in v2.0:
- ✅ Secrets Detection - AWS keys, JWT tokens, API keys, private keys (20+ patterns)
- ✅ Event-Specific Rules - PreToolUse must have tool matcher, SessionStart read-only, etc.
- ✅ Command Validation - Bash syntax, Unix commands, path validation, dangerous operations
- ✅ macOS/Linux Validation - Platform-specific command checks
Safety Features
Every generated hook includes:
- ✅ Tool detection (checks if required tools are installed)
- ✅ Silent failure mode (never interrupts your workflow)
- ✅ Appropriate timeout settings (5s-120s based on event type)
- ✅ No destructive operations
- ✅ Comprehensive validation before generation
- ✅ Clear documentation and troubleshooting guides
- ✅ Automatic backup during installation
How to Invoke
Natural Language Requests
Simply describe what you want the hook to do:
"I want to auto-format Python files after editing"
"Create a hook that runs tests when agents complete"
"Auto-add files to git after editing"
"Load my TODO.md at session start"
Explicit Template Selection
If you know which template you want:
"Generate a hook using the post_tool_use_format template for JavaScript"
"Create a test runner hook for Rust"
List Available Templates
"Show me all available hook templates"
"List hook templates"
Example Interactions
Example 1: Auto-Format Python
You: "I need a hook to auto-format my Python code after editing"
Hook Factory:
- Detects template:
post_tool_use_format - Detects language: Python
- Generates hook with black formatter
- Validates configuration
- Saves to
generated-hooks/auto-format-code-after-editing-python/ - Creates
hook.jsonandREADME.md
Example 2: Git Auto-Add
You: "Automatically stage files with git when I edit them"
Hook Factory:
- Detects template:
post_tool_use_git_add - Generates git auto-add hook
- Validates git commands
- Saves to
generated-hooks/auto-add-files-to-git-after-editing/
Example 3: Test Runner
You: "Run my JavaScript tests after the agent finishes coding"
Hook Factory:
- Detects template:
subagent_stop_test_runner - Detects language: JavaScript
- Configures jest/npm test
- Saves to
generated-hooks/run-tests-when-agent-completes-javascript/
Output Structure
For each hook, Hook Factory creates:
generated-hooks/
└── [hook-name]/
├── hook.json # Complete hook configuration (validated)
└── README.md # Installation guide, usage, troubleshooting
hook.json
Valid JSON configuration ready to copy into your Claude Code settings:
{
"matcher": {
"tool_names": ["Write", "Edit"]
},
"hooks": [
{
"type": "command",
"command": "if ! command -v black &> /dev/null; then\n exit 0\nfi\n\nif [[ \"$CLAUDE_TOOL_FILE_PATH\" == *.py ]]; then\n black \"$CLAUDE_TOOL_FILE_PATH\" || exit 0\nfi",
"timeout": 60
}
]
}
README.md
Comprehensive documentation including:
- Overview and how it works
- Prerequisites
- Installation instructions (manual)
- Configuration options
- Safety notes
- Troubleshooting guide
- Advanced customization tips
Installation of Generated Hooks
Automated Installation (NEW in v2.0!)
Using Python Installer:
cd generated-skills/hook-factory
# Install to user level (~/.claude/settings.json)
python3 installer.py install generated-hooks/[hook-name] user
# Install to project level (.claude/settings.json)
python3 installer.py install generated-hooks/[hook-name] project
# Uninstall
python3 installer.py uninstall [hook-name] user
# List installed hooks
python3 installer.py list user
Using Bash Script (macOS/Linux):
cd generated-skills/hook-factory
# Install
./install-hook.sh generated-hooks/[hook-name] user
# Features:
# - Automatic backup with timestamp
# - JSON validation before/after
# - Atomic write operations
# - Rollback on failure
# - Keeps last 5 backups
Auto-Install from Interactive Mode:
- Answer 'y' to Q7 (Auto-Install)
- Hook is automatically installed
- No manual steps required
Manual Installation (Legacy)
-
Review Generated Files
cd generated-hooks/[hook-name] cat README.md cat hook.json -
Manual Installation
- Open
.claude/settings.json(project) or~/.claude/settings.json(user) - Copy the hook configuration from
hook.json - Add to the appropriate event type array
- Save and restart Claude Code
- Open
-
Verify
- Check Claude Code logs:
~/.claude/logs/ - Test the hook by performing the trigger action
- Check Claude Code logs:
Validation
Every hook is validated for:
- JSON Syntax: Valid, parseable JSON
- Structure: Required fields present and correct types
- Safety: No destructive operations (rm -rf, etc.)
- Tool Detection: External tools have detection checks
- Silent Failure: Commands won't interrupt workflow
- Timeouts: Appropriate for event type
- Matchers: Valid glob patterns and tool names
Best Practices
- Start Simple: Use natural language requests for common patterns
- Review Before Installing: Always read the generated README.md
- Test in Isolation: Try hooks in a test project first
- Customize Gradually: Start with defaults, customize later
- Monitor Logs: Check
~/.claude/logs/if hooks aren't working
Limitations
Platform Support:
- ✅ macOS and Linux fully supported
- ❌ Windows not supported (Unix commands, bash-specific syntax)
Customization:
- Interactive mode provides smart defaults but limited deep customization
- Advanced users should use template mode + manual editing
- No GUI - CLI only
Template System:
- 10 templates cover common patterns
- Custom templates require manual addition to templates.json
- No template composition yet (combining multiple patterns)
Technical Details
Files in This Skill
Core Files:
SKILL.md- This manifest filehook_factory.py- Main orchestrator with CLI interface (687 lines)generator.py- Template substitution and hook generationvalidator.py- Enhanced validation engine (700+ lines)templates.json- 10 production hook templatesREADME.md- Skill usage guide and examples
NEW in v2.0:
installer.py- Automated installation system (536 lines)install-hook.sh- Bash installation script (148 lines)examples/- 10 reference examples (10 folders × 2 files)
Dependencies
- Python 3.7+
- Standard library only (no external dependencies)
Architecture (v2.0)
Interactive Mode Flow:
User: python3 hook_factory.py -i
↓
[7-Question Flow with Smart Defaults]
↓
[Template Selection]
↓
[Variable Substitution]
↓
[4-Layer Validation]
↓
[File Generation]
↓
[Option
---
*Content truncated.*
More by alirezarezvani
View all skills by alirezarezvani →You might also like
flutter-development
aj-geddes
Build beautiful cross-platform mobile apps with Flutter and Dart. Covers widgets, state management with Provider/BLoC, navigation, API integration, and material design.
drawio-diagrams-enhanced
jgtolentino
Create professional draw.io (diagrams.net) diagrams in XML format (.drawio files) with integrated PMP/PMBOK methodologies, extensive visual asset libraries, and industry-standard professional templates. Use this skill when users ask to create flowcharts, swimlane diagrams, cross-functional flowcharts, org charts, network diagrams, UML diagrams, BPMN, project management diagrams (WBS, Gantt, PERT, RACI), risk matrices, stakeholder maps, or any other visual diagram in draw.io format. This skill includes access to custom shape libraries for icons, clipart, and professional symbols.
ui-ux-pro-max
nextlevelbuilder
"UI/UX design intelligence. 50 styles, 21 palettes, 50 font pairings, 20 charts, 8 stacks (React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app, .html, .tsx, .vue, .svelte. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient."
godot
bfollington
This skill should be used when working on Godot Engine projects. It provides specialized knowledge of Godot's file formats (.gd, .tscn, .tres), architecture patterns (component-based, signal-driven, resource-based), common pitfalls, validation tools, code templates, and CLI workflows. The `godot` command is available for running the game, validating scripts, importing resources, and exporting builds. Use this skill for tasks involving Godot game development, debugging scene/resource files, implementing game systems, or creating new Godot components.
nano-banana-pro
garg-aayush
Generate and edit images using Google's Nano Banana Pro (Gemini 3 Pro Image) API. Use when the user asks to generate, create, edit, modify, change, alter, or update images. Also use when user references an existing image file and asks to modify it in any way (e.g., "modify this image", "change the background", "replace X with Y"). Supports both text-to-image generation and image-to-image editing with configurable resolution (1K default, 2K, or 4K for high resolution). DO NOT read the image file first - use this skill directly with the --input-image parameter.
fastapi-templates
wshobson
Create production-ready FastAPI projects with async patterns, dependency injection, and comprehensive error handling. Use when building new FastAPI applications or setting up backend API projects.
Related MCP Servers
Browse all serversConnect Blender to Claude AI for seamless 3D modeling. Use AI 3D model generator tools for faster, intuitive, interactiv
Unlock powerful text to speech and AI voice generator tools with ElevenLabs. Create, clone, and customize speech easily.
Voice Hooks — real-time voice for Claude Code: browser speech recognition, natural TTS replies, and conversation state m
Enable VTP platform deployment — deploy apps with Claude Code, analyze projects, generate configs, and list deployed app
Create Tally forms easily with AI assistants like Claude. Just describe your needs and get custom tally forms generated
Build persistent semantic networks for enterprise & engineering data management. Enable data persistence and memory acro
Stay ahead of the MCP ecosystem
Get weekly updates on new skills and servers.