b-open-io/prompts/hook-manager
Claude Code and agent skill by b-open-io/prompts
- community
Checking that the SKILL.md file is still in the repository.
List, enable, or disable individual core hooks and check their prerequisites. Use for "list hooks", "enable a hook", "disable a hook", "hook setup", "hooks config", or a [BOPEN-HOOKS-SETUP] directive. For the full harness view, use setup.
Install
npx vskill@latest install b-open-io/prompts/hook-managerSKILL.md
Hook Manager
Manage the hooks that ship with the core plugin across Claude Code, Codex, and Grok Build. The catalog source of truth is hooks/manifest.json in the installed plugin — read it live rather than trusting a memorized list:
Each entry carries name, event, matcher, tier, runtimes, summary, and description. Hooks register automatically when the plugin is installed; this skill controls which ones actually run.
The config file
Per-hook enable/disable lives in a JSON config. Resolution order (first file with an explicit true/false verdict for a hook wins):
$BOPEN_HOOKS_CONFIG— explicit override (tests, scripts)<project>/.claude/bopen-hooks.json— per-project (Claude)<project>/.grok/bopen-hooks.json— per-project (Grok)~/.claude/core/hooks-config.json— per-user (Claude)~/.grok/core/hooks-config.json— per-user (Grok)
A hook is disabled ONLY by an explicit false. Missing files, missing keys, or unparseable JSON all mean enabled — a broken config must never silently switch the guards off. Changes take effect on the next hook invocation; no restart is required.
First-time setup (the [BOPEN-HOOKS-SETUP] directive)
When session context carries [BOPEN-HOOKS-SETUP], the user has no config yet. Do not interrupt their task; offer setup at a natural pause. The flow:
- Read the manifest (command above) and present the hooks in two tiers via
AskUserQuestion (multiSelect):
- Guards (recommended on): entries with
tier: "guard"—
they prevent work loss, secret exposure, and unticketed publishes.
- Workflow (preference): entries with
tier: "workflow".
- Run the prerequisite checks below and fold findings into the
recommendation (e.g. agent-browser-solo without agent-browser installed silently falls back to native WebFetch — still safe to leave on).
- Write
~/.claude/core/hooks-config.json(Claude/Codex) or
~/.grok/core/hooks-config.json (Grok) with the full hooks map — include every hook with an explicit boolean, even the all-defaults case. Writing the file is what dismisses the setup notice permanently.
Enabling / disabling a hook
Edit the user config (or project config for repo-scoped changes) with the Read and Write tools — read, flip the boolean, write back. Create the file from the template above when it does not exist. Never edit files inside the plugin cache; updates overwrite them.
Expect a confirmation prompt on every config write: damage-control treats these files as ask-tier so guards can never be disarmed without the user's explicit yes (on Codex the write is denied outright — have the user edit the file themselves). This is by design; do not route around it.
Warn before disabling guards: bouncer stops git reset --hard-class work loss, damage-control enforces zero-access paths like .env, publish-gate blocks unticketed npm/on-chain publishes. Disabling them is the user's call, but say plainly what protection goes away.
Diagnosis
When a hook misbehaves or the user asks "why did X get blocked/skipped":
- Hard denies surface to the model as structured permission denials; on the
Codex runtime they arrive as stderr JSON with exit 2. Both are by design.
- hammertime also has its own controls —
Skill(core:hammertime)and
the hammertime:manage skill — for rule-level tuning beyond on/off.
- The definitive behavior reference for every hook is its script header in
the plugin's hooks/ directory; read it before guessing.
What this skill never does
- Never copies hook files into
~/.claude— hooks ship with the plugin and
update through claude plugin update core@b-open-io.
- Never edits
hooks/*.sh,claude-hooks.json, or anything in the plugin
cache.
- Never disables a guard hook without telling the user what it protected.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/hook-manager/SKILL.md
Popularity
- Repository stars
- 8
- Repository forks
- 2
- 7-day trend score
- 11
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 16 Mar 2026, 7 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/b-open-io/prompts/hook-manager)