diff --git a/plugins/plugin-dev/skills/hook-development/SKILL.md b/plugins/plugin-dev/skills/hook-development/SKILL.md index e775e54..bcc696e 100644 --- a/plugins/plugin-dev/skills/hook-development/SKILL.md +++ b/plugins/plugin-dev/skills/hook-development/SKILL.md @@ -528,55 +528,6 @@ All matching hooks run **in parallel**: 3. Cache validation results in temp files 4. Minimize I/O in hot paths -## Temporarily Active Hooks - -Create hooks that activate conditionally by checking for a flag file or configuration: - -### Pattern: Flag file activation - -```bash -#!/bin/bash -# Only active when flag file exists -FLAG_FILE="$CLAUDE_PROJECT_DIR/.enable-strict-validation" - -if [ ! -f "$FLAG_FILE" ]; then - # Flag not present, skip validation - exit 0 -fi - -# Flag present, run validation -input=$(cat) -# ... validation logic ... -``` - -### Pattern: Configuration-based activation - -```bash -#!/bin/bash -# Check configuration for activation -CONFIG_FILE="$CLAUDE_PROJECT_DIR/.claude/plugin-config.json" - -if [ -f "$CONFIG_FILE" ]; then - enabled=$(jq -r '.strictMode // false' "$CONFIG_FILE") - if [ "$enabled" != "true" ]; then - exit 0 # Not enabled, skip - fi -fi - -# Enabled, run hook logic -input=$(cat) -# ... hook logic ... -``` - -**Use cases:** - -- Enable strict validation only when needed -- Temporary debugging hooks -- Project-specific hook behavior -- Feature flags for hooks - -**Best practice:** Document activation mechanism in plugin README so users know how to enable/disable temporary hooks. - ## Hook Lifecycle and Limitations ### Hooks Load at Session Start @@ -681,7 +632,7 @@ echo "$output" | jq . For detailed patterns and advanced techniques, consult: -- **`references/patterns.md`** - Common hook patterns (8+ proven patterns) +- **`references/patterns.md`** - 10 proven patterns including temporarily active and configuration-driven hooks - **`references/migration.md`** - Migrating from basic to advanced hooks - **`references/advanced.md`** - Advanced use cases and techniques