Skip to content

Scene D · Agent Hook 자동화 ​

💡 이 실습에서 사용하는 Agent Hooks의 개념과 원리는 기능 카탈로그 · Agent Hooks에서 자세히 볼 수 있습니다.

목표 ​

Agent Hook을 생성하여 에이전트가 파일을 저장할 때 코드 품질 검사가 자동으로 실행되도록 설정합니다. 반복 작업의 자동화를 체험합니다.

사전 준비 ​

  • Scene C5 완료 (구현된 To-Do 앱 존재)
  • 또는 Scene A 완료된 vibe-todo 폴더에서도 실습 가능

해볼 것 ​

1단계: Agent Hook 생성 ​

  1. Kiro 패널에서 Agent Hooks 섹션 클릭
  2. 생성 버튼 클릭
  3. 아래 프롬프트를 입력:

Agent Hook 생성 프롬프트

text
JavaScript 파일을 저장할 때마다 다음을 자동으로 검사하고 개선 제안을 해주는 Hook을 만들어주세요:
1. 코드 스타일 검사 (들여쓰기, 세미콜론 등)
2. 변수명 개선 제안
3. 주석 추가 필요 부분 식별
4. 성능 최적화 가능 부분 찾기
5. 접근성 개선 사항 (HTML/CSS 관련)

트리거: 파일 저장
대상 파일: *.js, *.html, *.css

2단계: Hook 테스트 ​

채팅에서 Kiro에게 테스트용 파일 변경을 요청합니다.

text
현재 프로젝트의 JavaScript 파일(예: `js/script.js`)에 작은 주석을 하나 추가해주세요.

→ Kiro가 파일을 저장한 뒤 Hook이 실행되며 코드 품질 검사 결과와 개선 제안이 표시됩니다. 편집기에서 사람이 직접 Ctrl+S / Cmd+S로 저장한 변경은 File Save Hook의 테스트가 아닙니다.

3단계: 할 일 앱 전용 Hook 생성 (선택) ​

할 일 앱 코드 파일 저장 시 다음을 자동으로 검사하는 Hook을 만들어주세요:
- 로컬 스토리지 사용법 검증
- 접근성 속성 누락 확인 (aria-label)
- 모바일 반응형 CSS 검사
- 사용자 입력 검증 로직
- 에러 처리 코드 존재 여부

트리거: 파일 저장
대상: todo-app/**/*

4단계: 수동 품질 리포트 Steering 만들기 (선택) ​

새 IDE에서는 Manual-trigger Hook을 만들 수 없습니다. 온디맨드 검사에는 inclusion: manual Steering 파일을 사용합니다. .kiro/steering/project-quality-report.md를 만들고 다음을 작성합니다.

markdown
---
inclusion: manual
---

전체 프로젝트를 검토해 다음을 짧은 리포트로 정리한다.
- 사용하지 않는 CSS 클래스
- 중복 코드
- 파일 구조 개선 후보
- 성능 개선 후보

각 발견에는 확인한 파일 경로와 근거 위치를 함께 적는다.

채팅에서 /project-quality-report를 호출한 뒤 다음을 요청합니다.

text
현재 프로젝트를 검사하고 수동 품질 리포트를 작성해주세요.

수동 포함 Steering은 필요할 때만 호출되므로, 모든 파일 저장마다 전체 프로젝트 검사를 반복하지 않습니다.

기대 결과 ​

  • .kiro/hooks/ 폴더에 Hook 파일 생성 (예: code-quality-checker.json)
  • 에이전트가 대상 파일을 저장하면 자동으로 코드 검사 실행
  • 반복적인 품질 관리가 자동화됨
0 / 5항목을 클릭해 체크 · 진행 상태는 이 브라우저에 저장됩니다

⚠️ 흔한 실수

  • 트리거 조건 오설정 — 파일 패턴을 *.*처럼 너무 넓게 잡으면 모든 저장에서 Hook이 실행되어 작업이 느려집니다. 반대로 패턴이 너무 좁으면(app.js만) 다른 파일 변경 시 실행되지 않습니다. 대상 파일 패턴은 목적에 맞게 적절히 설정하세요.

🚨 문제 해결

  • Hook이 실행되지 않음: 편집기에서 직접 저장한 것은 File Hook을 실행하지 않습니다. 채팅에서 Kiro에게 대상 파일 수정을 요청한 뒤 파일 패턴과 Hook 활성화 상태를 확인하세요.
  • 너무 느림: 대상 파일 범위를 좁히거나(*.js만), 검사 항목을 줄여서 여러 Hook으로 분리.
  • 결과가 기대와 다름: 지시사항을 더 구체적으로 수정. 예시 코드와 기대 결과를 포함해주면 더 정확합니다.