Hook Types
Agent Hooks가 지원하는 트리거 유형별 동작과 활용 시나리오를 정리한 문서입니다.
Kiro의 Agent Hooks는 다양한 시점에서 자동화를 걸 수 있도록 여러 트리거 유형을 제공합니다. 각 유형은 서로 다른 자동화 상황을 염두에 두고 설계되어 있어, 워크플로의 어느 지점에서 작업을 끼워 넣고 싶은지에 따라 적절한 트리거를 선택하면 됩니다.
Prompt Submit
사용자가 프롬프트를 제출하는 순간에 발화되는 트리거입니다. shell 명령으로 동작을 정의할 경우, 입력된 프롬프트 내용은 USER_PROMPT 환경 변수로 전달되어 그대로 활용할 수 있습니다.
- 프롬프트와 관련된 추가 컨텍스트를 자동으로 주입
- 특정 키워드가 포함된 프롬프트를 차단
- 모든 사용자 프롬프트를 한 곳에 로그로 적재
Agent Stop
에이전트가 자신의 턴을 마치고 응답을 완료한 직후에 실행됩니다. 마무리 단계에서 후속 검증이나 정리 작업을 자동화하기에 적합합니다.
- 변경된 코드를 빌드하여 실패가 발생하면 에이전트에 결과를 되돌려 주기
- 에이전트가 생성한 코드를 포맷팅하거나 리뷰
- 변경 내역을 검토한 뒤 추가 지시를 자동으로 주입
Pre Tool Use
에이전트가 도구(tool)를 호출하기 직전에 실행됩니다. 도구 호출을 가로채서 차단하거나, 호출 전에 별도의 가이드를 덧붙이는 용도로 유용합니다.
Tool Name 필드에서는 다음과 같은 내장 카테고리를 지정할 수 있습니다.
read— 모든 내장 파일 읽기 도구write— 모든 내장 파일 쓰기 도구shell— 모든 내장 shell 명령 관련 도구web— 모든 내장 웹 도구spec— 모든 내장 spec 도구*— 내장 도구와 MCP 도구를 포함한 전체
도구 출처를 기준으로 좁혀서 매칭하려면 다음 prefix를 사용할 수 있습니다.
@mcp— 모든 MCP 도구@powers— 모든 Powers 도구@builtin— 모든 내장 도구
@로 시작하는 prefix는 정규식으로 매칭됩니다. 예를 들어 @mcp.*sql.*처럼 작성하면 이름에 sql이 포함된 특정 MCP 도구만 골라 잡을 수 있습니다. 사용 가능한 도구 이름이 기억나지 않는다면 Kiro에게 직접 물어보세요.
- 특정 도구 호출을 사전에 차단
- 도구 호출 전에 추가 지시 사항을 주입
Post Tool Use
에이전트가 도구를 호출한 직후에 실행됩니다. Tool Name 필드의 사용 방식은 Pre Tool Use와 동일하며, 호출 결과를 후처리하거나 감사 로그를 남길 때 유용합니다.
- 도구 호출 내역을 감사용으로 로깅
write계열 호출 이후 변경된 파일을 포맷팅하거나 리뷰- 도구 응답에 더해 에이전트에게 추가 지시를 덧붙이기
File Create
지정한 패턴에 해당하는 새 파일이 워크스페이스에 생성될 때 발화됩니다. 새 파일이 만들어지는 시점에 한 번에 처리해 두면 좋은 작업을 자동화할 수 있습니다.
- 새 컴포넌트에 대한 보일러플레이트 코드 자동 생성
- 새 파일에 라이선스 헤더 삽입
- 구현 파일과 짝을 이루는 테스트 파일 동시 생성
File Save
지정한 패턴에 해당하는 파일이 저장될 때 실행됩니다. 가장 일상적으로 활용되는 트리거 중 하나로, 저장 시점마다 코드 품질을 다듬는 데 적합합니다.
- linting과 formatting 자동 실행
- 관련 파일을 함께 갱신
- 문서 자동 생성
- 변경된 파일에 대한 테스트 실행
File Delete
지정한 패턴의 파일이 삭제되는 순간에 발화됩니다. 파일이 사라지면서 발생할 수 있는 부수 효과를 일관되게 처리할 수 있습니다.
- 관련 파일을 함께 정리
- 다른 모듈의 import 참조를 갱신
- 프로젝트 무결성 유지
Pre Task Execution
Spec mode에서 task가 시작되어 상태가 in_progress로 바뀌는 시점에 실행됩니다. 작업을 본격적으로 진행하기 전에 환경을 준비하는 단계로 활용하기 좋습니다.
- 셋업 스크립트 실행 또는 환경 준비
- task 실행 전 사전 조건 검증
- task 시작 시점을 추적용으로 기록
Post Task Execution
Spec mode의 task가 완료되어 상태가 completed로 전환되는 시점에 실행됩니다. 한 단위 작업이 끝날 때마다 검증과 마감 작업을 자동화할 수 있습니다.
- task 완료 후 테스트를 돌려 결과 검증
- 변경된 파일에 대한 lint와 format 적용
- 완료된 작업에 대한 문서 자동 생성
- 외부 시스템에 task 완료 알림
Manual Trigger
예약된 시점이 아닌, 사용자가 원할 때만 직접 실행하는 수동 트리거입니다. 일상적으로 자동화할 필요는 없지만 필요할 때 한 번에 돌리고 싶은 작업에 적합합니다.
- 온디맨드 코드 리뷰
- 문서 생성
- 보안 점검 스캔
- 성능 최적화 분석