훅 개발 (Claude Code Hook Development)
Claude Code 훅(PreToolUse, Stop, SessionStart 등)을 프롬프트 기반·명령 기반으로 설계·설정·디버깅하도록 안내하는 스킬입니다.
개발·코딩중급★ 514⑂ 46AI 점수 8/10마지막 업데이트: 2026. 7. 23.
무엇을 해주나
- Claude Code의 9가지 훅 이벤트(PreToolUse, PostToolUse, Stop, SubagentStop, UserPromptSubmit, SessionStart, SessionEnd, PreCompact, Notification)를 언제·어떻게 쓰는지 표와 예시로 정리해 줍니다.
- LLM이 판단하는 프롬프트 기반 훅과 결정론적인 명령 훅의 차이·선택 기준을 알려줍니다.
- 플러그인용
hooks/hooks.json(래퍼 형식)과 사용자 설정.claude/settings.json(직접 형식)의 차이를 명확히 구분합니다. - 훅 입력/출력 JSON 스펙, 종료 코드(0/2),
permissionDecision,decision: approve|block,systemMessage사용법을 제시합니다. - matcher 정규식 패턴(
Read|Write|Edit,mcp__.*__delete.*),${CLAUDE_PLUGIN_ROOT}이식성 규칙, 타임아웃 기본값, 병렬 실행 특성, 보안 체크(경로 순회·민감 파일·변수 인용) 가이드를 담고 있습니다. - 플래그 파일/설정값으로 훅을 임시 활성화하는 패턴과
claude --debug기반 디버깅 절차도 다룹니다.
이런 분께 추천
- Claude Code 플러그인이나 팀 표준을 만들면서 정책을 자동으로 강제하고 싶은 개발자
- 위험한 Bash 명령이나
.env같은 민감 파일 수정을 차단하고 싶은 팀 리드 - 작업 완료 조건(테스트 통과, 빌드 성공)을 Stop 훅으로 검증하려는 사람
- 세션 시작 시 프로젝트 컨텍스트나 환경 변수를 자동으로 주입하고 싶은 사람
활용 예시
- "Write/Edit 전에 경로 순회와 민감 파일을 차단하는 PreToolUse 훅을 만들어줘" → matcher
Write|Edit와 검증 스크립트가 포함된hooks.json생성. - "테스트와 빌드가 끝나지 않으면 멈추지 못하게 해줘" → 프롬프트 기반 Stop 훅으로
decision: block+ 이유 반환 구성. - "세션 시작 시 프로젝트 타입을 감지해 환경 변수로 저장해줘" → SessionStart 명령 훅에서
$CLAUDE_ENV_FILE에 export 추가.
· · · 설치 가이드 · · ·
설치 없이 지금 한 번 써보기
아래를 Claude에 붙여넣으면 설치하지 않고도 이 스킬을 그대로 씁니다.
이 파일의 지시를 읽고 그대로 따라서 나를 도와줘: https://raw.githubusercontent.com/tzachbon/smart-ralph/HEAD/.agents/skills/Hook Development/SKILL.md 내가 원하는 것: (여기에 하고 싶은 일을 쓰세요)
Claude가 링크를 열지 못하면, 링크를 직접 열어 내용을 복사해 붙여넣으세요.
↓ 쓸 만하면 아래에서 ZIP을 받아 설치하세요. 그러면 매번 붙여넣지 않아도 알아서 작동합니다.
Claude 앱에 설치 (터미널 필요 없음)
- 아래 버튼으로 ZIP 파일을 받으세요.
- Claude 설정 → Capabilities에서 '코드 실행 및 파일 생성'을 켭니다. (한 번만)
- Claude에서 Customize → Skills → + → '스킬 업로드'를 누르고 받은 ZIP을 올립니다.
Claude Code에 설치
Claude에게 맡기기 — 아래 문장을 Claude Code에 붙여넣으세요
클로드스킬마트에서 찾은 스킬을 설치해줘. GitHub 저장소 tzachbon/smart-ralph 의 .agents/skills/Hook Development 폴더를 내 ~/.claude/skills/hook-development/ 에 그대로 복사해줘. 설치가 끝나면 이 스킬로 무엇을 할 수 있는지 한 줄로 알려줘.
직접 명령으로 설치하기
git clone https://github.com/tzachbon/smart-ralph.git && mkdir -p ~/.claude/skills && cp -r "smart-ralph/.agents/skills/Hook Development" ~/.claude/skills/hook-development⚠ 제3자가 만든 스킬입니다. 설치 전 원본 저장소를 한 번 확인하세요.
- 터미널을 열고 작업할 디렉터리로 이동합니다.
- 저장소를 내려받습니다:
git clone https://github.com/tzachbon/smart-ralph.git - 스킬 폴더를 만듭니다:
mkdir -p ~/.claude/skills - 스킬을 통째로 복사합니다(참조 문서·예시 스크립트가 함께 있어야 하므로 폴더 전체 복사):
cp -r "smart-ralph/.agents/skills/Hook Development" ~/.claude/skills/hook-development ~/.claude/skills/hook-development/SKILL.md와references/,examples/,scripts/폴더가 있는지 확인합니다.jq가 설치되어 있는지 확인합니다(jq --version). 없으면 macOS는brew install jq, Ubuntu는sudo apt install jq.- Claude Code를 재시작한 뒤 "PreToolUse 훅을 만들어줘"처럼 요청하면 스킬이 활성화됩니다.
- 훅 설정을 수정했다면 반드시 Claude Code를 종료하고 다시 실행해야 반영됩니다.
claude --debug로 로딩 로그를 확인하세요.
GitHub에서 원본 보기 ↗라이선스: MIT