eval-hooks

An evaluator for Claude Code hooks, which are commands that run when events such as tool calls or user prompts occur. It checks their files, timing, exit codes, and use of interactive or background behavior.

In plain words
What is it for?
Use it when adding hooks, investigating hooks that misbehave, or checking copied settings before committing them.
Why use it?
A misconfigured hook may never run, run too often, block the wrong operation, or make the agent wait unnecessarily.

Skill for Claude CodeCodex

Part of the ai-methodology plugin — 17 skills, 4 commands, 2 agents, 1 hook shipped together

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/florianbruniaux/claude-code-plugins/eval-hooks
Any agent
npx skills add FlorianBruniaux/claude-code-plugins --skill eval-hooks
Clone the repo
git clone --depth 1 https://github.com/FlorianBruniaux/claude-code-plugins

Made for: Claude Code, Codex.

Or install ai-methodology, the plugin that ships this one along with the rest of its 17 skills, 4 commands, 2 agents, 1 hook.

Per session 78 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 4,172 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 2 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00078 $0.04172
Opus 5 $0.00039 $0.02086
Sonnet 5 $0.00016 $0.00834
Haiku 4.5 $0.00008 $0.00417

Measured 3d ago against content hash 25e1616567ad, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

eval-hooks scanned grade A with 2 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Reads agent configuration directorieslowAgent snooping

.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.

| `~/.claude/settings.json` | Global user | No |

Downgraded: this mod is about security review, or the phrase is quoted, so it is likely naming the pattern rather than instructing it.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

Flag any PreToolUse script that contains slow operations (`curl`, `sleep`, network calls) without a surrounding timeout guard.
plugins/ai-methodology/skills/eval-hooks/SKILL.md · 353 lines

How it starts

The opening of the file, as written. The whole thing — 353 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Hooks Evaluator

Discover all Claude Code hooks across every settings file in scope, validate each one against the filesystem and hook semantics, then run an interactive session to confirm or improve them.

The goal is not just to score; it is to leave every hook working, correctly scoped, and safe to run.

When to Use

  • First time adding hooks (validate before committing)
  • A hook never fires, or fires on every tool call
  • The agent hangs noticeably before executing a tool
  • A PreToolUse hook is supposed to block but doesn't
  • After copying hooks from another project or machine
  • Periodic hygiene: "are all these hooks still doing something useful?"

Key Concepts

Event types

Event When it fires Can block? (exit 2)
PreToolUse Before any tool call Yes
PermissionRequest When a permission dialog appears Yes
PostToolUse After tool completes successfully No (shows stderr to Claude)
PostToolUseFailure After a tool fails No
PostToolBatch After a full batch of parallel tool calls resolves Yes (stops agentic loop)
UserPromptSubmit When user submits a prompt Yes
UserPromptExpansion When a slash command expands Yes
Stop When Claude finishes responding Yes (continues the turn)
SubagentStop When a subagent finishes Yes (continues the subagent)
TeammateIdle When an agent team teammate goes idle Yes
TaskCreated When a task is being created Yes
TaskCompleted When a task is being marked as completed Yes
PreCompact Before context compaction Yes
ConfigChange When a configuration file changes Yes (except policy_settings)
PermissionDenied When auto-mode classifier denies a tool call No
SessionStart When a session starts or resumes No
Setup On --init-only or -p --init/--maintenance No
StopFailure When the turn ends due to API error No
Notification When Claude sends a notification No
MessageDisplay While assistant message streams No
SubagentStart When a subagent is spawned No
InstructionsLoaded When a CLAUDE.md or rules file is loaded No
CwdChanged When working directory changes No
FileChanged When a watched file changes on disk No
WorktreeCreate When a worktree is created (replaces default git behavior) Yes (any non-zero fails)
WorktreeRemove When a worktree is removed No
PostCompact After compaction completes No
SessionEnd When a session terminates No
ElicitationResult After user responds to MCP elicitation Yes
Elicitation When MCP server requests user input Yes

Read the full file on GitHub · 353 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 3d ago First seen · 353 lines · 78 tokens per session scan A 25e1616567ad

Subscribe to this mod's changes

eval-hooks is a skill published in the GitHub repository FlorianBruniaux/claude-code-plugins (40 stars, last pushed 3mo ago), licensed MIT. It adds 78 tokens to every session and 4,172 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 2 findings (reads agent configuration directories, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

setup

创建一个新的 Workframe 项目,或把已有项目接入 Workframe。按用户意图与目标目录状态分流(新建 / 接入),对话采集业务上下文后落骨架、订阅 core 插件、完成落盘验收。仅用于 Workframe 框架的项目初始化,不承担 npm init / create-react-app / git init 等通用脚手架。.

ryanzhao1011/workframe · 88 tokens

material-intake

存量资料的盘点、分流与结构推荐。扫描给定路径产出资料台账(形态 × 数量 × 覆盖率),按资料形态判定每一批的去向(migrate-to-modules / requirement-archiving / code-to-doc / 手动放置),并从资料聚类推荐 basic/sub 模块树。只出计划不做搬运,重型执行交给对应 skill。.

ryanzhao1011/workframe · 99 tokens

code-review

代码审查,从需求符合度/正确性/安全性/可维护性/性能五维度评审代码变更,输出风险分级的 Finding 列表.

ryanzhao1011/workframe · 40 tokens

product-metrics-design

产品度量体系设计,支持 AARRR/HEART/North Star/OKR 四框架,输出三层指标体系与监控方案.

ryanzhao1011/workframe · 37 tokens

requirement-analysis

结构化需求澄清与优先级评估:判断需求形态(Full PRD / One-Pager / Quick Brief)、6 问澄清、RICE + MoSCoW 评估;Full PRD 移交 prd-writer,中小需求输出轻量需求摘要.

ryanzhao1011/workframe · 69 tokens

technical-design

技术方案设计与实施,提供轻量路径(小改动直接落地)和完整路径(架构/数据/API/多文件高风险变更走完整方案+实施+交付)双档分流.

ryanzhao1011/workframe · 50 tokens