npx claudepluginhub tiagokrebs/claude-agentic-platform --plugin sre-toolkitDefined in hooks/hooks.json
bash -c 'input=$(cat); cmd=$(echo "$input" | jq -r ".command // empty"); if echo "$cmd" | grep -qE "^git commit"; then cd "$(echo $input | jq -r ".cwd // \".\"")" && if [ -f package.json ] && npm test --if-present 2>&1 | grep -q FAIL; then echo "Tests failed — commit blocked" >&2; exit 2; fi; fi'bash -c 'input=$(cat); file=$(echo "$input" | jq -r ".path // empty"); if [ -n "$file" ]; then ext="${file##*.}"; if echo "php js ts" | grep -qw "$ext"; then echo "[post-write] $file written — consider running /review before committing" >&2; fi; fi'bash -c 'msg=$(cat | jq -r ".message // \"Claude task complete\""); if command -v notify-send >/dev/null 2>&1; then notify-send "Claude Code" "$msg"; elif command -v osascript >/dev/null 2>&1; then osascript -e "display notification \"$msg\" with title \"Claude Code\""; fi'{"riskFlags": {"touchesBash": false, "matchAllTools": true, "touchesFileWrites": false}, "typeStats": {"command": 3}, "eventStats": {"PreToolUse": 1, "PostToolUse": 1, "Notification": 1}, "originCounts": {"absolutePaths": 0, "pluginScripts": 0, "projectScripts": 0}, "timeoutStats": {"commandsWithoutTimeout": 3}}