# Hook Inventory

Inventory hooks across the user, project, and project-local settings plus the...

- Repository: https://github.com/hoangsonww/Claude-Code-Agent-Monitor (1136 stars)
- Category: AI and agents
- License: MIT
- Last updated: 2026-10-31
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add hoangsonww/Claude-Code-Agent-Monitor --skill hook-inventory -g -a claude-code -y`
Codex: `npx skills add hoangsonww/Claude-Code-Agent-Monitor --skill hook-inventory -g -a codex -y`
Cursor: `npx skills add hoangsonww/Claude-Code-Agent-Monitor --skill hook-inventory -g -a cursor -y`
Gemini CLI: `npx skills add hoangsonww/Claude-Code-Agent-Monitor --skill hook-inventory -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add hoangsonww/Claude-Code-Agent-Monitor`

## Description

Inventory hooks across the user, project, and project-local settings plus the ~/.claude/hooks scripts directory, read through the Agent Monitor Config Explorer API, and flag hooks that POST to the network or run arbitrary commands. Reads /api/cc-config/hooks and /api/cc-config/hook-scripts. Use when auditing hook safety.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Hook Inventory

Catalogue every Claude Code hook the user has configured and assess its safety, read through the Agent Monitor dashboard at `http://localhost:4820`.

## Input

The user provides: **$ARGUMENTS**

This may be:
- empty, inventory all hooks across every scope (default).
- an event name (`PreToolUse`, `PostToolUse`, `Stop`, `SubagentStop`,
  `SessionStart`, `SessionEnd`, `UserPromptSubmit`, `Notification`,
  `PreCompact`), restrict to that event.
- "scripts", focus on the `~/.claude/hooks` handler scripts dir.

## Data Sources

| Endpoint | Returns |
|----------|---------|
| `GET /api/cc-config/hooks` | `{ items:[{ scope:"user"\|"project"\|"project-local", file, exists, hooks:{ <Event>:[{ matcher, type, command, timeout }] } }] }` |
| `GET /api/cc-config/hook-scripts` | `{ dir, items:[{ name, file, size, mtime }] }`, the handler scripts under `~/.claude/hooks/` |

## Report Sections

### 1. Configured hooks by scope
From `/hooks`, flatten each source into `(scope, file, Event, matcher, type,
command, timeout)`. Group by `scope` (user, project, project-local). Show the
event, matcher, hook `type`, and the raw `command`. Note which `file` each came
from so the user can edit the right one.

### 2. Hook scripts on disk
From `/hook-scripts`, list each file in `~/.claude/hooks/` with `name`, `size`
(KB), and `mtime`. Cross-reference: flag scripts referenced by a hook `command`
but missing from disk, and scripts on disk that no configured hook calls
(orphaned).

The rest: https://github.com/hoangsonww/Claude-Code-Agent-Monitor/blob/HEAD/plugins/ccam-config/skills/hook-inventory/SKILL.md
