코어 훅
omx setup이 설치하는 4개의 내장 훅 — 키워드 감지, ralph 중단 게이트, Bash 안전 가드, 종료 코드 안내
코어 훅은 omx setup을 돌리면 알아서 깔리는 훅 핸들러다. 별도 설정 하나 없이 OMX 워크플로우 스킬을 Codex 라이프사이클 이벤트에 그대로 물려 준다. 훅 하나가 맡는 일은 딱 하나다. 자기 관심사가 비활성이면? 그냥 아무것도 안 한다.
구조
네 훅은 전부 .codex/hooks.json에 등록되고, 진입점은 dist/scripts/codex-native-hook.js 파일 하나를 공유한다. 이 진입점이 들어온 Codex 이벤트 유형을 보고 알맞은 핸들러로 넘긴다. 켜는 건 플래그 하나. .codex/config.toml에 [features] codex_hooks = true만 넣으면 끝이다.
.omx/hooks/*.mjs 플러그인 훅은 이 인터페이스를 확장할 뿐, 대체하지는 않는다.
내장 훅 4개
keyword-detector (UserPromptSubmit)
모든 사용자 프롬프트를 훑어 매직 키워드 구문을 스캔한다. 걸리면 .omx/state/에 스킬 활성화 상태를 적고, 필요하면 개발자 컨텍스트를 앞에 붙인다. $skill 같은 명시적 호출은 물론 "team", "parallel" 같은 암묵적 구문까지 잡아내되, 어쩌다 나온 평범한 문장에서 오발하지 않도록 의도 가드를 달아 뒀다. 자세한 건 매직 키워드를 보면 된다.
ralph stop-gate (Stop)
모델이 멈추려 할 때, ralph·autopilot·ultrawork·ultraqa 실행이 아직 살아 있는지 확인한다. 살아 있고 종료 조건도 아니면 decision: "block"을 돌려줘서 계속 돌라고 지시한다. 상태는 .omx/state/{mode}-state.json에서 읽는다.
pre-tool-use guard (PreToolUse, Bash 전용)
rm -rf dist 같은 파괴적인 명령엔 경고를 띄우고, 필수 트레일러(Co-authored-by: OmX <omx@oh-my-codex.dev>)가 빠진 인라인 git commit 호출은 아예 막는다.
post-tool-use advisor (PostToolUse, Bash 전용)
비정상 종료 코드, 권한 거부 오류, 경로 미발견 메시지를 해석해서, 다음 프롬프트 컨텍스트에 "이렇게 고쳐라"는 안내를 끼워 넣는다.
상태 확인
훅이 제대로 설치됐는지 확인:
omx doctor키워드 감지 후 훅 상태 직접 확인:
cat .omx/state/skill-active-state.json