콘텐츠로 이동

훅은 자동으로 실행됩니다. 직접 호출하는 것이 아닙니다. Claude Code 생명주기의 특정 시점에 동작해 프롬프트와 응답을 수집하고, 세션의 컨텍스트를 정확하게 유지합니다.

Claude Code 이벤트
SessionStartClaude Code 실행
UserPromptSubmit엔터를 누를 때
CwdChanged작업 디렉터리 변경
PostCompact/compact 실행
PostToolUseSendMessage 도구 호출
StopClaude가 턴을 마칠 때

거의 없습니다. 훅은 의도적으로 조용합니다.

SessionStart가 확인 결과를 한 줄로 출력하고(키, OTEL 설정, 통신 중인 Prism), 새 플러그인 버전이 게시됐으면 그 사실도 함께 알립니다. 플러그인을 새로 불러온 뒤에는 재시작을 권합니다.

실시간 요약을 켜지 않는 한 그 외에는 아무것도 출력되지 않습니다.

Terminal window
/prism:config set show_realtime_summary true

플러그인은 프롬프트 품질 코칭, 재작성, 컨텍스트 알림을 출력하지 않습니다. 채점은 서버에서 실행되고, 코칭은 대시보드에 나타납니다(코칭은 어디에 있나 참고).

  1. ~/.prism/config.json에서 API 키를 읽습니다. 없거나 형식이 잘못됐으면 설정 안내를 출력하고, 세션을 막지 않은 채 종료합니다.
  2. 키가 발급받은 Prism과 여전히 일치하는지 확인하고, 다르면 알려 줍니다.
  3. 플러그인이 설치된 스코프의 OTEL 설정을 확인하고, 두 스코프에 모두 있으면 경고합니다.
  4. 하루 한 번 이내로 새 버전이 게시됐는지 확인해 시작 메시지 하나에 담습니다. 확인에 실패하면 조용히 넘어가고 마지막으로 알던 값을 그대로 씁니다.
  1. /prism:… 명령은 즉시 통과시킵니다.
  2. API 키가 없으면 설정 안내를 출력하고 0으로 종료합니다. 프롬프트는 그대로 전달됩니다.
  3. 프롬프트를 Prism으로 수집합니다.

submit 훅은 항상 0으로 종료합니다. 프롬프트를 막거나 지연시키는 일은 없습니다.

작업 디렉터리를 바꿀 때 실행되어, 세션 중간에 저장소를 옮겨 다녀도 프로젝트 컨텍스트가 정확하게 유지되도록 합니다.

/compact가 끝난 뒤 실행되어, compaction 단위 세션 상태를 초기화합니다. 집계가 깨끗한 기준선에서 다시 시작됩니다.

SendMessage 도구 호출 뒤 실행됩니다. git·프롬프트 “증거(evidence)”, 곧 작업 내용과 그것을 유발한 프롬프트를 이은 것을 수집해 Prism으로 보낼 큐에 넣습니다. 이 증거 큐는 /prism:status에서 확인할 수 있습니다.

Claude가 턴을 마친 뒤 실행됩니다. 경과 시간을 측정하고 응답과 해당 턴의 메타데이터를 Prism으로 보냅니다. 전송은 디스크에 쌓아 두고 서버가 수신을 확인할 때까지 재시도하므로, 네트워크 문제나 재시작으로 응답이 사라지지 않으며 재시도로 같은 응답이 중복 기록되지도 않습니다.

모든 훅은 자체 예외를 잡고 0으로 종료합니다. 훅은 fail-open입니다. 내부 단계가 실패해도 세션은 정상적으로 이어집니다. 실패 상세는 플러그인 디버그 로그에 기록되며, 디버그 로깅이 켜져 있는지와 기록 파일은 /prism:doctor가 알려 줍니다.