Discover and install automation hooks for Claude Code and Opencode. This skill should be used when users ask to "list hooks", "install a hook", "show available hooks", "enable hook", "what hooks are available", or need help managing agent automation hooks.
From bopen-toolsnpx claudepluginhub b-open-io/claude-plugins --plugin bopen-toolsThis skill uses the workspace's default tool permissions.
README.mdSearches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Compares coding agents like Claude Code and Aider on custom YAML-defined codebase tasks using git worktrees, measuring pass rate, cost, time, and consistency.
Help users discover, install, and diagnose automation hooks from the bopen-tools collection.
| Hook | Event | Description | Recommendation |
|---|---|---|---|
protect-env-files | PreToolUse | Blocks edits to .env files (security) | Recommended |
uncommitted-reminder | Stop | Shows uncommitted changes when agent stops | Optional |
auto-git-add | PostToolUse | Auto-stages files after edits | Optional |
time-dir-context | UserPromptSubmit | Adds timestamp/dir/branch to prompts | Optional |
lint-on-save | PostToolUse | Runs lint:fix after file edits | Optional |
lint-on-start | SessionStart | Runs linting on session start | Optional |
auto-test-on-save | PostToolUse | Runs tests after file edits | Optional |
protect-shadcn-components | PreToolUse | Protects shadcn UI components | Optional |
Hooks live in the plugin cache. The exact version path segment varies; use a glob to locate them:
# Claude Code
ls ~/.claude/plugins/cache/bopen-tools/user/.claude/hooks/
# Opencode
ls ~/.opencode/plugins/cache/bopen-tools/user/.claude/hooks/
To install a hook, copy its JSON file to the correct hooks directory and inform the user to restart their agent.
Claude Code:
mkdir -p ~/.claude/hooks
cp ~/.claude/plugins/cache/bopen-tools/user/.claude/hooks/<hook-name>.json ~/.claude/hooks/
Opencode:
mkdir -p ~/.opencode/hooks
cp ~/.opencode/plugins/cache/bopen-tools/user/.claude/hooks/<hook-name>.json ~/.opencode/hooks/
After copying, tell the user: restart Claude Code (or Opencode) for the hook to take effect.
# Claude Code
ls ~/.claude/hooks/
# Opencode
ls ~/.opencode/hooks/
When a user asks what hooks to install without specifying a use case:
protect-env-files first — it is a security safeguard with no downsides.auto-git-add, uncommitted-reminderbun lint:fix: lint-on-save, lint-on-startprotect-shadcn-componentstime-dir-contextBlocks Write/Edit on .env* files. No performance cost. Recommended universally.
Runs on Stop event; exits with code 2 if uncommitted changes exist, feeding the message back to the agent.
Runs git add -A after Write/Edit/MultiEdit. Stages only; never commits. 5s timeout.
Injects Context: <timestamp> | <cwd> | Branch: <branch> into every UserPromptSubmit.
Runs bun lint:fix. Requires lint:fix in package.json and bun + jq on PATH.
Runs tests after file edits. Can be slow on large suites — confirm user wants this before installing.
Blocks edits to shadcn/ui component files. Only relevant when project uses shadcn/ui.
See the hook catalog above for all available hooks and their configurations.