Stats
Actions
Tags
Help us improve
Share bugs, ideas, or general feedback.
From frontend-skills
Runs 15+ lifecycle hooks on Stop event including architecture review, Biome autofix, typecheck, React doctor, quality gates, performance regression checks, and CI audit. Executes bash scripts and writes files.
13 events · 98 hooks
npx claudepluginhub redpanda-data/ui-harness --plugin frontend-skillsSafety signals detected in this hook configuration
Where this hook configuration is defined
Defined in hooks/hooks.json
Event handlers and matchers — expand Raw Configuration for the full JSON
f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/architecture-review-stop.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/biome-autofix.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/typecheck-stop.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/react-doctor-stop.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/registry-check.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/orchestration-stop.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/test-perf-stop.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/quality-gate-stop.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/lifecycle-stop.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/pr-feedback-completeness-stop.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/ci-warning-audit.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/perf-regression-stop.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/violation-summary-stop.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/cache-telemetry-stop.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/metrics-summary-stop.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/pre-compact.sh"; [ -x "$f" ] && exec "$f"; exit 0Edit|Write|Bashf="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/violation-nudge.sh"; [ -x "$f" ] && exec "$f"; exit 0Bashf="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/enforce-toolchain.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/llm-test-flags.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/conventional-commits-check.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/branch-safety-check.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/bash-verbose-guard.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/github-write-guard.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/rtk-rewrite.sh"; [ -x "$f" ] && exec "$f"; exit 0mcp__.*f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/mcp-ban.sh"; [ -x "$f" ] && exec "$f"; exit 0Readf="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/read-size-guard.sh"; [ -x "$f" ] && exec "$f"; exit 0WebFetchf="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/webfetch-dedup.sh"; [ -x "$f" ] && exec "$f"; exit 0Agent|Taskf="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/subagent-length-cap.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/session-end.sh"; [ -x "$f" ] && exec "$f"; exit 0package.json|bun.lockb|package-lock.jsonf="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/file-changed-deps.sh"; [ -x "$f" ] && exec "$f"; exit 0*.proto|*.graphql|*.graphqlsf="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/file-changed-schema.sh"; [ -x "$f" ] && exec "$f"; exit 0biome.jsonc|biome.json|tsconfig.json|tsconfig.*.json|vitest.config.*f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/file-changed-config.sh"; [ -x "$f" ] && exec "$f"; exit 0src/env.tsf="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/file-changed-env.sh"; [ -x "$f" ] && exec "$f"; exit 0skill-manifest.jsonf="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/file-changed-manifest.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/post-compact-context.sh"; [ -x "$f" ] && exec "$f"; exit 0Edit|Writef="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/vendor-file-check.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/ui-registry-warn.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/react-rules-check.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/tailwind-check.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/accessibility-check.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/zustand-check.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/tanstack-router-check.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/tanstack-router-gen.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/connect-query-check.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/react-compiler-check.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/env-validation-check.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/bundle-guard.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/test-perf-check.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/ux-copy-check.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/orchestration-guidance.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/form-mode-check.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/file-size-check.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/hook-location-check.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/mutation-side-effect-check.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/connect-error-check.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/connect-error-format-check.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/unhappy-path-check.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/tdd-prompt-check.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/error-boundary-check.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/field-mask-check.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/route-visual-test-check.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/legacy-linter-check.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/biome-ignore-check.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/legacy-import-check.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/test-convention-check.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/form-watch-check.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/as-cast-check.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/ts-no-escape-hatches-check.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/tsconfig-strict-check.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/llm-failure-mode-check.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/security-audit-check.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/mutation-naming-check.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/magic-number-check.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/disabled-button-tooltip-check.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/query-pattern-check.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/copyright-check.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/zustand-subscription-check.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/url-state-check.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/duplicate-function-check.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/mutation-onerror-check.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/edit-loop-check.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/lockfile-sync-check.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/connect-error-fieldmap-check.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/proto-form-parallel-state-check.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/form-setvalue-options-check.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/form-error-summary-check.sh"; [ -x "$f" ] && exec "$f"; exit 0Bashf="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/llm-truncate.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/consecutive-failure-check.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/test-warning-check.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/session-env.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/rtk-install-check.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/llm-env.sh"; [ -x "$f" ] && exec "$f"; exit 0self-reviewer|code-reviewer|adversarial-reviewerf="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/subagent-stop.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/subagent-start.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/worktree-create.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/user-prompt-context.sh"; [ -x "$f" ] && exec "$f"; exit 0f="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/intent-detect.sh"; [ -x "$f" ] && exec "$f"; exit 0Bashf="${CLAUDE_PLUGIN_ROOT}/.claude/hooks/post-tool-failure.sh"; [ -x "$f" ] && exec "$f"; exit 0Share bugs, ideas, or general feedback.