Hook Management

VerifiedCaution

Session-scoped hook lifecycle management with enable/disable controls, execution profiling, and color-coded performance alerts for ClaudeKit's event-driven system.

Sby Skills Guide Bot
DevOpsIntermediate
3/10/2026
Claude Code
#hooks#claude-code#session-management#performance-profiling#tooling-config

Recommended for

Automated summary

Manages ClaudeKit hooks within a session, offering enable/disable/status controls plus execution-time profiling and performance alerts.

Strengths

  • Explicit /hook:enable, /hook:disable and /hook:status commands to control individual hooks
  • Profiling with color thresholds (green under 3s, yellow over 3s, red over 5s) and flags for output larger than 10KB
  • Changes are strictly session-scoped, so persistent configuration cannot be broken
  • Covers all four hook families (PreToolUse, PostToolUse, UserPromptSubmit, Stop/SubagentStop)

Limitations

  • Assumes the project already runs the ClaudeKit hook system with its dedicated slash commands
  • Persists nothing: the same steps must be repeated in every new session
  • Performance thresholds appear fixed and not user-configurable
When to use it

Use it when a hook is slowing down or blocking a session and you need to disable it temporarily or inspect its execution timings.

When not to use it

Don't use it to permanently change a project's hook configuration or to author brand-new hooks.

Security analysis

Caution
Quality score82/100

The skill is documentation for managing hooks and does not contain destructive, exfiltrating, or obfuscated instructions. However, it explicitly supports disabling safety-oriented hooks such as `file-guard` for a session, and it grants Bash access, so it warrants caution rather than being fully safe.

Findings
  • •The skill can disable session-scoped protective hooks, including `file-guard`, which blocks sensitive file access.
  • •Declared Bash access is powerful, although the described operations are hook lifecycle management and profiling rather than destructive commands.
How this analysis is made

Examples

Disable a slow hook
The lint-changed hook keeps firing on every edit and slowing me down. Disable it for this session and show me the current hook status.
Check hook profiling
Run /hook:status and tell me which hooks are taking more than 3 seconds or producing unusually large output.
Re-enable a hook
I disabled file-guard earlier — re-enable it now and confirm it's active for this session.

name: hook-management description: Session-scoped hook lifecycle management with enable/disable/status controls, execution profiling, and color-coded performance alerts. allowed-tools: Read, Bash, Grep, Glob

Hook Management

Overview

Session-scoped hook lifecycle management for ClaudeKit's event-driven hook system. Provides enable/disable/status controls with execution profiling and performance alerts.

Hook Types

PreToolUse Hooks

  • file-guard: Blocks sensitive file access (195+ patterns)

PostToolUse Hooks

  • typecheck-changed: Type checking on modified files
  • lint-changed: Linting on modified files
  • test-changed: Testing related to modified files
  • check-comment-replacement: Detects code replaced with comments
  • check-unused-parameters: Detects unused function parameters

UserPromptSubmit Hooks

  • codebase-map: Invisible project context injection
  • thinking-level: Reasoning enhancement (4 levels)

Stop/SubagentStop Hooks

  • create-checkpoint: Git-backed state snapshot
  • typecheck-project: Full project type checking
  • lint-project: Full project linting
  • test-project: Full test suite execution
  • self-review: Comprehensive change review

Session Isolation

All hook changes are session-scoped. Disabling a hook only affects the current session and does not persist.

Profiling

  • Red alert: execution time > 5s
  • Yellow warning: execution time > 3s
  • Green: execution time < 3s
  • Output size monitoring: flag > 10KB

Commands

  • /hook:enable [hookName] -- Enable a disabled hook
  • /hook:disable [hookName] -- Disable a hook for this session
  • /hook:status -- Show all hook states and profiling data

When to Use

  • When a hook is causing issues during a session
  • To check performance of hook executions
  • To temporarily bypass a hook for a specific operation

Processes Used By

  • claudekit-orchestrator (hook pipeline setup)
  • claudekit-safety-pipeline (hook profiling)

From the file to a first result

The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.

View the source and supporting files

This download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.

1. Download the file

Download SKILL.md

From the root of a test project, save the file as .skill-downloads/hook-management-mmk3nhyb/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.

Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.

mkdir -p '.skill-downloads/hook-management-mmk3nhyb' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/hook-management-mmk3nhyb/download' --output '.skill-downloads/hook-management-mmk3nhyb/SKILL.md.part' && mv '.skill-downloads/hook-management-mmk3nhyb/SKILL.md.part' '.skill-downloads/hook-management-mmk3nhyb/SKILL.md'

2. Check prerequisites

Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.

Tools declared by the author (check availability in your agent): Read, Bash, Grep, Glob

No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.

The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.

3. Load the skill

After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.

Claude Code
test -f '.skill-downloads/hook-management-mmk3nhyb/SKILL.md' && test -s '.skill-downloads/hook-management-mmk3nhyb/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/hook-management' && cp -R '.skill-downloads/hook-management-mmk3nhyb' '.claude/skills/hook-management'

OpenSkills

OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.

Official OpenSkills installation
openskills install './.skill-downloads/hook-management-mmk3nhyb'

openskills read 'hook-management-mmk3nhyb'

Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.

For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.

openskills sync

Manual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.

4. Try a first task

Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:

Read .skill-downloads/hook-management-mmk3nhyb/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.

Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.

Related skills