Hooks

作者 parcadeid07ff4b06b62无许可证3.9K 个星标收录于 2026年10月8日更新于 2026年10月8日仓库8个月前更新

Hook Development Rules

仅含说明AI & Agents
AI 生成的概览

构建 Claude Code 钩子的参考规则:shell 包装脚本、TypeScript 处理器、事件、测试与注册。

功能
该技能为 .claude/hooks/ 目录下的文件提供开发规则。它说明了通过 npx tsx 运行的 shell 包装脚本加 TypeScript 的模式、从标准输入读取 JSON 并输出 JSON 结果的 TypeScript 处理器模板、可用的钩子事件、手动测试命令,以及在 .claude/settings.json 中注册钩子的方法。它产出的是指导说明和代码模板,而不是可直接运行的成品。
适用场景
在创建或修改项目 .claude/hooks 目录中的 Claude Code 钩子时使用。将钩子事件接入 .claude/settings.json 或从命令行测试钩子时也适用。
运行要求
该技能不附带脚本,仅为说明性内容。按其操作需要具备带 .claude/hooks 目录的 Claude Code 项目、可用的 Node.js 与 npx 及 tsx 包,以及 bash 等 shell。

Hook Development Rules

When working with files in .claude/hooks/:

Pattern

Shell wrapper (.sh) → TypeScript (.ts) via npx tsx

Shell Wrapper Template

bash
#!/bin/bashset -ecd "$CLAUDE_PROJECT_DIR/.claude/hooks"cat | npx tsx <handler>.ts

TypeScript Handler Pattern

typescript
interface HookInput {  // Event-specific fields}
async function main() {  const input: HookInput = JSON.parse(await readStdin());
  // Process input
  const output = {    result: 'continue',  // or 'block'    message: 'Optional system reminder'  };
  console.log(JSON.stringify(output));}

Hook Events

  • PreToolUse - Before tool execution (can block)
  • PostToolUse - After tool execution
  • UserPromptSubmit - Before processing user prompt
  • PreCompact - Before context compaction
  • SessionStart - On session start/resume/compact
  • Stop - When agent finishes

Testing

Test hooks manually:

bash
echo '{"type": "resume"}' | .claude/hooks/session-start-continuity.sh

Registration

Add hooks to .claude/settings.json:

json
{  "hooks": {    "EventName": [{      "matcher": ["pattern"],  // Optional      "hooks": [{        "type": "command",        "command": "$CLAUDE_PROJECT_DIR/.claude/hooks/hook.sh"      }]    }]  }}

来源与署名

来源:parcadei/continuous-claude-v3位于.claude/skills/hooks提交d07ff4b

许可证: 无许可证

内容归原作者所有。SourceWeft 从公开仓库中收录这些内容。

举报或申请下架