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 從公開儲存庫中收錄這些內容。

檢舉或申請下架