Event Hooks
Community

oh-my-claude

8 events · 24 hooks

Install
1
Install the plugin
$
npx claudepluginhub techdufus/oh-my-claude --plugin oh-my-claude

Want just this hook?

Then install: npx claudepluginhub u/[userId]/[slug]

Risk Indicators
Executes bash commandsModifies files
Source

Defined in hooks/hooks.json

Configuration
{
  "Stop": [
    {
      "hooks": [
        {
          "type": "command",
          "command": "uv run --script ${CLAUDE_PLUGIN_ROOT}/hooks/todo_enforcer.py",
          "timeout": 10,
          "statusMessage": "Checking incomplete tasks..."
        },
        {
          "type": "command",
          "command": "uv run --script ${CLAUDE_PLUGIN_ROOT}/hooks/openkanban_status.py",
          "timeout": 2,
          "statusMessage": "Updating status..."
        },
        {
          "type": "command",
          "command": "uv run --script ${CLAUDE_PLUGIN_ROOT}/hooks/notification_alert.py",
          "timeout": 5,
          "statusMessage": "Sending notification..."
        }
      ],
      "matcher": ".*"
    }
  ],
  "PreCompact": [
    {
      "hooks": [
        {
          "type": "command",
          "command": "uv run --script ${CLAUDE_PLUGIN_ROOT}/hooks/precompact_context.py",
          "timeout": 10,
          "statusMessage": "Preserving context..."
        }
      ],
      "matcher": ".*"
    }
  ],
  "PreToolUse": [
    {
      "hooks": [
        {
          "type": "command",
          "command": "uv run --script ${CLAUDE_PLUGIN_ROOT}/hooks/danger_blocker.py",
          "timeout": 5,
          "statusMessage": "Scanning command..."
        },
        {
          "type": "command",
          "command": "uv run --script ${CLAUDE_PLUGIN_ROOT}/hooks/commit_quality_enforcer.py",
          "timeout": 10,
          "statusMessage": "Validating commit message..."
        }
      ],
      "matcher": "Bash"
    },
    {
      "hooks": [
        {
          "type": "command",
          "command": "uv run --script ${CLAUDE_PLUGIN_ROOT}/hooks/tdd_enforcer.py",
          "timeout": 5,
          "statusMessage": "Checking test files..."
        },
        {
          "type": "command",
          "command": "uv run --script ${CLAUDE_PLUGIN_ROOT}/hooks/delegation_enforcer.py",
          "timeout": 5,
          "statusMessage": "Checking delegation..."
        }
      ],
      "matcher": "Edit|Write"
    },
    {
      "hooks": [
        {
          "type": "command",
          "command": "uv run --script ${CLAUDE_PLUGIN_ROOT}/hooks/openkanban_status.py",
          "timeout": 2,
          "statusMessage": "Updating status..."
        }
      ],
      "matcher": ".*"
    }
  ],
  "PostToolUse": [
    {
      "hooks": [
        {
          "type": "command",
          "command": "uv run --script ${CLAUDE_PLUGIN_ROOT}/hooks/plan_execution_injector.py",
          "timeout": 5,
          "statusMessage": "Preparing execution context..."
        }
      ],
      "matcher": "ExitPlanMode"
    },
    {
      "hooks": [
        {
          "type": "command",
          "command": "uv run --script ${CLAUDE_PLUGIN_ROOT}/hooks/edit_error_recovery.py",
          "timeout": 5,
          "statusMessage": "Checking edit result..."
        }
      ],
      "matcher": "^Edit$"
    },
    {
      "hooks": [
        {
          "type": "command",
          "command": "uv run --script ${CLAUDE_PLUGIN_ROOT}/hooks/agent_usage_reminder.py",
          "timeout": 5,
          "statusMessage": "Checking agent usage..."
        }
      ],
      "matcher": "^Grep$|^Glob$"
    },
    {
      "hooks": [
        {
          "type": "command",
          "command": "uv run --script ${CLAUDE_PLUGIN_ROOT}/hooks/verification_reminder.py",
          "timeout": 5,
          "statusMessage": "Checking verification..."
        }
      ],
      "matcher": "^Task$"
    },
    {
      "hooks": [
        {
          "type": "command",
          "command": "uv run --script ${CLAUDE_PLUGIN_ROOT}/hooks/context_monitor.py",
          "timeout": 5,
          "statusMessage": "Monitoring context usage..."
        }
      ],
      "matcher": ".*"
    }
  ],
  "Notification": [
    {
      "hooks": [
        {
          "type": "command",
          "command": "uv run --script ${CLAUDE_PLUGIN_ROOT}/hooks/notification_alert.py",
          "timeout": 5,
          "statusMessage": "Sending notification..."
        }
      ],
      "matcher": "permission_prompt|idle_prompt"
    }
  ],
  "SessionStart": [
    {
      "hooks": [
        {
          "type": "command",
          "command": "uv run --script ${CLAUDE_PLUGIN_ROOT}/hooks/context_guardian.py",
          "timeout": 5,
          "statusMessage": "Loading context protection..."
        },
        {
          "once": true,
          "type": "command",
          "command": "uv run --script ${CLAUDE_PLUGIN_ROOT}/hooks/claudemd_health.py",
          "timeout": 5,
          "statusMessage": "Checking CLAUDE.md health..."
        },
        {
          "type": "command",
          "command": "uv run --script ${CLAUDE_PLUGIN_ROOT}/hooks/openkanban_status.py",
          "timeout": 2,
          "statusMessage": "Updating status..."
        }
      ],
      "matcher": ".*"
    }
  ],
  "UserPromptSubmit": [
    {
      "hooks": [
        {
          "type": "command",
          "command": "uv run --script ${CLAUDE_PLUGIN_ROOT}/hooks/ultrawork_detector.py",
          "timeout": 5,
          "statusMessage": "Detecting mode..."
        },
        {
          "type": "command",
          "command": "uv run --script ${CLAUDE_PLUGIN_ROOT}/hooks/openkanban_status.py",
          "timeout": 2,
          "statusMessage": "Updating status..."
        }
      ],
      "matcher": ".*"
    }
  ],
  "PermissionRequest": [
    {
      "hooks": [
        {
          "type": "command",
          "command": "uv run --script ${CLAUDE_PLUGIN_ROOT}/hooks/safe_permissions.py",
          "timeout": 5,
          "statusMessage": "Checking permissions..."
        }
      ],
      "matcher": "Bash"
    },
    {
      "hooks": [
        {
          "type": "command",
          "command": "uv run --script ${CLAUDE_PLUGIN_ROOT}/hooks/safe_permissions.py",
          "timeout": 5,
          "statusMessage": "Checking permissions..."
        }
      ],
      "matcher": "Read|Glob|Grep"
    },
    {
      "hooks": [
        {
          "type": "command",
          "command": "uv run --script ${CLAUDE_PLUGIN_ROOT}/hooks/safe_permissions.py",
          "timeout": 5,
          "statusMessage": "Checking permissions..."
        }
      ],
      "matcher": "Write|Edit"
    },
    {
      "hooks": [
        {
          "type": "command",
          "command": "uv run --script ${CLAUDE_PLUGIN_ROOT}/hooks/openkanban_status.py",
          "timeout": 2,
          "statusMessage": "Updating status..."
        }
      ],
      "matcher": ".*"
    }
  ]
}
Summary
{
  "riskFlags": {
    "touchesBash": true,
    "matchAllTools": false,
    "touchesFileWrites": true
  },
  "typeStats": {
    "command": 24
  },
  "eventStats": {
    "Stop": 3,
    "PreCompact": 1,
    "PreToolUse": 5,
    "PostToolUse": 5,
    "Notification": 1,
    "SessionStart": 3,
    "UserPromptSubmit": 2,
    "PermissionRequest": 4
  },
  "originCounts": {
    "absolutePaths": 0,
    "pluginScripts": 24,
    "projectScripts": 0
  },
  "timeoutStats": {
    "commandsWithoutTimeout": 0
  }
}
Stats
Stars84
Forks3
Last CommitFeb 19, 2026

Similar Hooks