跳到正文
cccskills
免费在 GitHub 公开

hooks-check

Validate hooks configuration and scripts. Use after adding or editing hooks in settings.json, before committing hook changes, or when a hook fails to fire.

中文简介正在准备中。当前显示原文说明。

查看安装方法

包含的文件(1)

  • SKILL.md3.3 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Hooks Validator

Validate hooks configuration in .claude/settings.json and hook scripts against the official Claude Code spec.


Validation Steps

1. Check settings.json

Verify the hooks section exists and is valid.

2. Validate Hook Event Names

Claude Code defines 30 hook events. Accept any of them; flag unknown names with a typo hint (e.g. PrePromptSubmit -> UserPromptSubmit, PostToolBatchFailure -> PostToolBatch, SubagentStarts -> SubagentStart).

GroupEvents
LifecycleSessionStart, SessionEnd, Setup
PromptUserPromptSubmit, UserPromptExpansion
ToolPreToolUse, PostToolUse, PostToolUseFailure, PostToolBatch
PermissionPermissionRequest, PermissionDenied
SubagentSubagentStart, SubagentStop
StopStop, StopFailure
TaskTaskCreated, TaskCompleted
CompactionPreCompact, PostCompact
NotificationNotification, MessageDisplay
MCP elicitationElicitation, ElicitationResult
EnvironmentConfigChange, CwdChanged, FileChanged, InstructionsLoaded, WorktreeCreate, WorktreeRemove, TeammateIdle

That is all 30 events. See the official hooks docs for each event's payload.

3. Validate Each Hook Entry

  • type is one of: command, prompt, http, mcp_tool, agent (default command)
  • If type: command: command path exists and script is executable
  • If type: prompt: prompt string is non-empty
  • matcher is a string if present (tool events: tool name, regex, or *)
  • timeout is a positive integer if present (default: 60s per hook)
  • once is boolean if present
  • if / statusMessage are strings if present

4. Validate Hook Scripts

  • File exists and is executable
  • Has an appropriate shebang
  • If the script emits structured output on stdout, it is valid JSON. Silent / exit-code-only hooks are valid — no stdout is required (exit 0 = allow/continue, exit 2 = block for PreToolUse).

Decision Output Schema

When a script does emit JSON, validate it against the event contract:

  • PreToolUse: hookSpecificOutput.permissionDecision is allow, deny, or ask. The legacy top-level {"decision": "approve" | "block"} is still accepted.
  • Stop / SubagentStop: continuation uses {"decision": "block", "reason": "<next prompt>"} — the key is reason.
  • Input JSON always carries the event under hook_event_name (not hook_type).

Output Format

## Hooks Validation Report

### Configuration Status: VALID / INVALID

### Configured Hooks
| Event | Matcher | Script | Status |
|-------|---------|--------|--------|
| Stop | * | auto-loop-stop.sh | OK |

### Script Validation
| Script | Exists | Executable | Output |
|--------|--------|------------|--------|
| auto-loop-stop.sh | OK | OK | JSON OK / silent |

### Issues Found
1. [Issue and fix]

Auto-Fix

  • Make scripts executable
  • Add missing shebang
  • Create missing hook scripts
  • Correct a misspelled event name to the nearest valid event
  • Normalize hook_type -> hook_event_name in emitted JSON

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Validate custom agent file format and structure. Use after creating or editing an agent, before committing agent changes, or when an agent fails to load.

中文简介正在准备中。当前显示原文说明。

claude-world/director-mode-lite802026年8月31日 更新

Generate custom agent from template. Use when creating a new subagent from scratch, or scaffolding an agent file with correct frontmatter.

中文简介正在准备中。当前显示原文说明。

claude-world/director-mode-lite802026年8月31日 更新

agents

免费

List all available agents (core, expert, self-evolving). Use when the user asks what agents are available or runs /agents.

中文简介正在准备中。当前显示原文说明。

claude-world/director-mode-lite802026年8月31日 更新

auto-loop

免费

TDD-based autonomous development loop with checkpoint recovery and observability changelog

中文简介正在准备中。当前显示原文说明。

claude-world/director-mode-lite802026年8月31日 更新

changelog

免费

View and manage the runtime changelog for observability

中文简介正在准备中。当前显示原文说明。

claude-world/director-mode-lite802026年8月31日 更新

Track development session events in a daily markdown changelog, including file changes, test results, and key decisions.

中文简介正在准备中。当前显示原文说明。

claude-world/director-mode-lite802026年8月31日 更新

查看 claude-world 的全部技能

报告此技能的问题