Home / Kiro IDE / Kiro IDE 자동화와 확장
Module

Kiro IDE 자동화와 확장

Steering, Hooks, Skills, MCP, Custom Agents

⏱ 30분 135 / 189

Kiro IDE 자동화와 확장

Steering · Hooks · Skills · MCP · Custom Agents

규칙은 파일에, 실행은 AI에게

프로젝트 규칙 주입부터 외부 도구 연결까지

자동화 오버뷰

Steering · Hooks · Skills · MCP · Custom Agents

PART 1 · 자동화 오버뷰

자동화 5장치

다섯 장치가 규칙 → 자동화 → 확장 3계층으로 AI를 제어하는 구조

자동화를 이루는 5가지 장치

Steering·Hooks·Skills·MCP·Custom Agents가 계층을 이뤄 동작합니다.

  • Steering — 규칙 상시 주입
  • Hooks — 이벤트 자동 실행
  • Skills·MCP — JIT 지식·외부 도구
  • Custom Agents — 역할 위임
takeaway

설정은 한 번, 적용은 계속입니다 — .kiro/를 Git으로 공유하면 팀 전체가 같은 자동화를 씁니다.

PART 1 · 자동화 오버뷰

핵심 기능 자동화 파이프라인

규칙 주입에서 외부 도구 연결까지 일관된 흐름

  1. 1
    Steering
    • 마크다운 규칙을 AI 컨텍스트에 항상 주입
    • 코딩 표준, 아키텍처 결정, 보안 정책
    • 프로젝트 규칙의 단일 소스
  2. 2
    Hooks
    • 이벤트(파일 저장, 도구 호출, 태스크 완료) 시 자동 실행
    • 린트, 테스트, 빌드를 사람 개입 없이 반복
    • JSON으로 선언적 정의
  3. 3
    Skills
    • description 매칭으로 필요한 지식만 JIT 로딩
    • 컨텍스트 윈도우 절약하며 전문성 제공
    • 도메인 가이드, API 레퍼런스 관리
  4. 4
    MCP
    • 외부 도구를 프로토콜 표준으로 연결
    • AWS, GitHub, Figma 등 API를 에이전트가 직접 호출
    • Powers = MCP + Steering + 문서 패키지
  5. 5
    Custom Agents
    • 전문 역할 하위 에이전트 정의
    • 복잡한 작업을 메인 에이전트가 자동 위임
    • 최소 권한 원칙으로 안전한 분업
takeaway

흐름은 규칙 → 자동화 → 확장입니다 — Steering이 기준을, Hooks가 반복을, 나머지가 능력을 맡습니다.

PART 1 · 자동화 오버뷰

3계층 제어 구조

규칙 → 자동화 → 확장

규칙 계층 — Steering

프로젝트 전체에 적용되는 불변 규칙. AI가 코드 생성 시 항상 참조. 마크다운으로 작성하여 누구나 읽고 수정 가능.

자동화 계층 — Hooks

이벤트 기반 자동 실행. 사람이 반복하던 린트/테스트/포맷을 트리거에 연결. JSON으로 선언적 정의.

확장 계층 — Skills + MCP + Agents

외부 지식, 도구, 전문 에이전트로 능력을 확장. 필요할 때만 활성화되어 컨텍스트 효율 극대화.

takeaway

규칙은 항상, 자동화는 이벤트가 올 때, 확장은 필요할 때만 활성화됩니다 — 적용 시점이 세 계층을 가르는 기준입니다.

Steering

always · fileMatch · manual · auto

PART 2 · Steering

Steering

프로젝트 규칙을 AI 컨텍스트에 주입하는 방법 — 적용 시점을 가르는 4가지 모드

Steering

.kiro/steering/*.md 마크다운 규칙이 코드 생성의 기준이 됩니다.

  • always — 모든 세션 자동 로딩
  • fileMatch — 파일 패턴 매칭
  • manual — #태그 명시 로드
  • auto — description 요청 매칭
takeaway

코드 리뷰에서 반복되는 피드백이 보이면 규칙 파일로 코드화합니다 — 다음부터는 AI가 지킵니다.

PART 2 · Steering

Steering 4가지 모드

규칙 적용 시점을 제어하는 방법

always
  • 모든 세션에 자동 로딩
  • 코딩 표준, 보안 정책, 아키텍처 결정
  • 컨텍스트에 항상 포함 — 토큰 소비
fileMatch
  • 특정 파일 편집 시에만 활성화
  • 테스트 파일 규칙, API 엔드포인트 규칙 등
  • 파일 패턴에 해당하지 않으면 컨텍스트 불포함
manual
  • #태그로 필요할 때 명시적 로드
  • 도메인 특화 규칙, 드문 시나리오 대응
  • 컨텍스트 효율 최대화
auto
  • 요청 내용이 description과 매칭될 때 자동 포함
  • Skills의 JIT 로딩과 같은 원리
  • 자주 쓰지만 항상은 아닌 규칙에 적합
takeaway

전부 always로 두면 토큰을 계속 씁니다 — 적용 시점을 나누는 것이 4모드의 이유입니다.

PART 2 · Steering

Steering 실전 예시

팀의 코드 리뷰 피드백을 규칙으로 코드화

markdown
---
inclusion: always
description: 프로젝트 코딩 규칙
---

# 코딩 규칙

## TypeScript
- strict 모드 필수, any 금지
- 함수 반환 타입 명시
- enum 대신 const assertion

## React
- CloudScape 컴포넌트 우선
- CSS Modules 사용 (Tailwind 금지)
- 접근성: aria-label 필수

## 테스트
- 새 기능에 unit test 동반
- mock보다 실제 구현 우선
- describe 블록으로 시나리오 그루핑

Hooks

이벤트 기반 자동 실행

PART 3 · Hooks

Hooks

이벤트가 발생하면 자동으로 실행 — trigger와 action의 조합

Hooks

.kiro/hooks/의 JSON이 저장·도구 호출·태스크 완료에 자동으로 반응합니다.

  • trigger 10종 — PostFileSave 등
  • action — command · agent
  • 린트·테스트를 저장마다 자동
  • 자연어로 Hook 생성 가능
takeaway

결정론적 작업은 command, 판단이 필요한 작업은 agent 액션으로 겁니다.

PART 3 · Hooks

Hooks 이벤트액션

PostFileSave부터 Stop까지 trigger 10종 — 발생 시점별 활용 예시

JSON 파일로 선언하는 이벤트 기반 자동화

.kiro/hooks/ 디렉토리에 JSON으로 정의합니다. "이 이벤트가 발생하면 → 이 명령을 실행"하는 규칙. 자연어로 Hook을 생성할 수도 있습니다 (IDE 1.0+).

트리거 (trigger)발생 시점활용 예시
PostFileCreate / PostFileSave / PostFileDelete파일 생성·저장·삭제 시라이선스 헤더 삽입, ESLint + Prettier
UserPromptSubmit프롬프트 전송 시민감정보 검사, 컨텍스트 주입
PreToolUse / PostToolUse도구 호출 전·후위험 도구 검증, 호출 로깅
PreTaskExec / PostTaskExec태스크 시작 전·완료 후환경 검증, 테스트 실행
SessionStart / Stop세션 시작 · 에이전트 응답 종료 시환경 준비, 마무리 요약
PART 3 · Hooks

Hook JSON 구조 — trigger + action

.kiro/hooks/ 디렉토리에 JSON으로 정의하는 version v1 + hooks 배열 — 저장 시 린트(command)와 타입 에러 점검(agent) 두 예시

json
{
  "version": "v1",
  "hooks": [
    {
      "name": "lint-on-save",
      "trigger": "PostFileSave",
      "matcher": ".*\\.tsx?$",
      "action": {
        "type": "command",
        "command": "npx eslint --fix ."
      }
    },
    {
      "name": "typecheck-on-save",
      "trigger": "PostFileSave",
      "matcher": "src/.*",
      "action": {
        "type": "agent",
        "prompt": "수정된 파일의 타입 에러를 확인하고 고쳐주세요"
      }
    }
  ]
}
  • "version": "v1" + "hooks" 배열 — 한 파일에 여러 Hook 정의 가능
  • "trigger" — 발생 이벤트. PostFileSave 등 10종
  • "matcher" — 파일 경로·도구명을 거르는 단일 정규식 (글롭·배열 아님)
  • "action" — command(셸 명령 실행) 또는 agent(prompt를 에이전트에 자동 전달) 2종
PART 3 · Hooks

command vs agent

action의 2가지 유형 — 서로 다른 실행 방식

command

  • 터미널 명령 직접 실행
  • 결정론적 — 항상 같은 결과
  • 빠른 실행 (ms 단위)
  • eslint, prettier, tsc 등

린트, 포맷, 빌드처럼 정해진 도구를 반복 실행할 때. 예측 가능하고 빠릅니다.

agent

  • AI에게 프롬프트로 지시
  • 비결정론적 — 컨텍스트에 따라 다름
  • 느린 실행 (초 단위)
  • 코드 리뷰, 문서 생성, 에러 분석

판단이 필요한 작업에 사용. "이 변경이 올바른지 확인해줘" 같은 열린 질문에 적합합니다.

takeaway

정해진 도구의 반복은 command, 열린 판단은 agent입니다.

Skills

description 매칭 · JIT 로딩 · 컨텍스트 절약

PART 4 · Skills

Skills

필요할 때만 로딩되는 지식 — description 매칭 기반 JIT 패턴

Skills

프롬프트가 description과 매칭될 때만 컨텍스트에 로딩됩니다.

  • description 매칭 — keywords 필드 없음
  • JIT 로딩 — 토큰 절약
  • Steering(항상) vs Skills(선택)
  • .kiro/skills/*.md 프론트매터
takeaway

항상 지킬 규칙은 Steering에, 주제가 나올 때 참조할 지식은 Skills에 둡니다.

PART 4 · Skills

Skills 동작 흐름

프롬프트 입력 → description 매칭 → JIT 로딩 → 응답 생성의 4단계

  1. 1
    프롬프트 입력
    • 사용자가 질문이나 요청을 입력
    • "DynamoDB 테이블 설계해줘"
    • "Lambda 배포 방법 알려줘"
  2. 2
    description 매칭
    • Skills 메타데이터(description)와 프롬프트 매칭
    • "DynamoDB" → dynamodb-guide.md 활성화
    • 매칭 안 되면 로딩하지 않음
  3. 3
    JIT 로딩
    • 매칭된 Skills만 컨텍스트에 추가
    • 다른 Skills는 토큰을 소비하지 않음
    • Steering(항상)과의 핵심 차이점
  4. 4
    응답 생성
    • Skills 지식을 참조하여 정확한 응답 생성
    • 최신 API, 모범 사례가 자동 적용
    • 할루시네이션 감소
takeaway

매칭되지 않으면 로딩되지 않습니다 — description이 곧 활성화 조건입니다.

PART 4 · Skills

Steering vs Skills

항상 적용 vs 상황별 활성화

Steering

  • 모든 세션에 항상 로딩
  • 코딩 표준, 아키텍처 결정
  • 짧고 핵심적인 규칙
  • 컨텍스트 항상 차지

프로젝트 전체에 적용되는 불변 규칙. "이것은 항상 지켜라"라는 의미.

Skills

  • description 매칭 시에만 로딩
  • AWS 서비스 가이드, 도메인 지식
  • 상세하고 풍부한 참조 문서
  • 필요할 때만 컨텍스트 사용

"이 주제가 나오면 참조해라"라는 의미. 토큰을 절약하면서 전문성을 제공합니다.

takeaway

"항상 지켜라"는 Steering, "이 주제면 참조해라"는 Skills입니다.

PART 4 · Skills

Skill 파일 구조

.kiro/skills/*.md — 프론트매터 + 본문

markdown
---
name: dynamodb-guide
description: DynamoDB 테이블 설계와 쿼리 최적화 가이드 —
  NoSQL 단일 테이블 설계, 파티션 키 선택, GSI 설계 시 활성화
---
# keywords 필드는 없음 — 매칭 단서는 description에 녹여 쓴다

# DynamoDB 설계 가이드

## 단일 테이블 설계 원칙
- 접근 패턴을 먼저 정의하고, 그에 맞게 키를 설계
- PK(파티션 키) + SK(정렬 키) 조합으로 1:N 관계 표현
- GSI는 최대 20개 — 쿼리 패턴마다 하나씩

## 파티션 키 선택 기준
- 높은 카디널리티 (고유 값이 많을수록 좋음)
- 균등한 접근 분포 (핫 파티션 방지)
- 예: userId, orderId, deviceId

## 비용 최적화
- On-Demand: 트래픽 예측 어려울 때
- Provisioned + Auto Scaling: 안정적 트래픽
- TTL로 불필요한 항목 자동 삭제

MCP

stdio · streamable-http · Powers

PART 5 · MCP

MCP

외부 도구를 표준 프로토콜로 연결 — 로컬 stdio와 원격 streamable-http

MCP

AWS·GitHub·Figma 같은 외부 도구를 에이전트가 직접 호출합니다.

  • stdio — 로컬 CLI 프로세스
  • streamable-http — 원격·OAuth
  • Powers — MCP+Steering+문서 패키지
  • AWS IaC · Figma · Netlify
takeaway

개별 MCP를 조립하는 대신 Powers로 도구·규칙·문서를 한 번에 설치할 수도 있습니다.

PART 5 · MCP

MCP 2가지 전송 방식

stdio는 로컬 프로세스 실행, streamable-http는 OAuth 원격 연결 — 기준은 도구의 위치

stdio
  • 로컬 CLI 프로세스를 MCP 서버로 실행
  • 설치된 도구(awslabs, uvx)를 직접 호출
  • JSON-RPC over stdin/stdout
  • 인증 불필요 — 로컬 프로세스 권한 상속
streamable-http
  • 원격 HTTP 엔드포인트에 연결
  • OAuth 인증으로 보안 접근
  • 팀 전체가 동일 서버 공유 가능
  • AgentCore Gateway로 관리형 배포
takeaway

로컬 도구는 stdio, 팀이 공유하는 원격 서버는 streamable-http로 연결합니다.

PART 5 · MCP

Powers — 원클릭 확장 패키지

MCP + Steering + 문서를 한 번에 설치

AWS IaC Power

CDK/CloudFormation 가이드 + AWS MCP Server + 보안 규칙을 한 번에 설치. 인프라 코드 작성에 즉시 활용.

Figma Power

Figma MCP Server + 디자인 시스템 규칙. 디자인 파일에서 직접 컴포넌트 코드를 생성.

Netlify Power

Netlify 배포 MCP + CI/CD 규칙. 프론트엔드 프로젝트를 빌드→배포→프리뷰까지 자동화.

takeaway

MCP 서버만 붙이는 것이 아니라 Steering 규칙과 문서까지 함께 설치되는 것이 Powers입니다.

Custom Agents

역할 · 도구 제한 · 위임

PART 6 · Custom Agents

Custom Agents

역할·도구·권한을 파일로 정의하는 전문 에이전트 — 최소 권한 분업

Custom Agents

.kiro/agents/*.md에 역할과 권한을 정의하면 메인 에이전트가 위임합니다.

  • .kiro/agents/*.md — 역할 정의
  • tools 카테고리 제한 — read·write·shell
  • permissions.rules — capability deny
  • 읽기 전용 리뷰어 · 쓰기 구현자
takeaway

에이전트에게 전부를 주지 않습니다 — 역할에 필요한 최소 권한만 열어 안전하게 분업합니다.

PART 6 · Custom Agents

Custom Agent 정의 파일

.kiro/agents/*.md로 전문 에이전트 생성

markdown
---
description: 보안 취약점을 분석하는 읽기 전용 리뷰어
tools:
  - read
  - web
permissions:
  rules:
    - capability: fs_write
      effect: deny
    - capability: shell
      effect: deny
---

# 보안 리뷰어

## 역할
코드 변경에서 보안 취약점을 식별합니다.

## 지시사항
- OWASP Top 10 기준으로 검증
- 인증/인가 로직에 집중
- 발견 시 심각도(Critical/High/Medium/Low)와 수정 제안 포함
- 코드를 직접 수정하지 않음 (읽기 전용)
  • description — 메인 에이전트가 위임(delegation) 여부를 판단하는 매칭 기준
  • tools — 허용 도구 카테고리. read·web만 → 읽기 전용 리뷰어
  • permissions.rules — fs_write·shell을 deny로 이중 차단. 최소 권한 원칙
  • 본문 마크다운 — 역할·지시사항이 하위 에이전트의 시스템 프롬프트가 됨
PART 6 · Custom Agents

에이전트별 역할과 도구

최소 권한 원칙으로 안전한 분업

에이전트역할허용 도구 (카테고리)파일 쓰기
security-reviewer보안 취약점 분석read, web✗ (fs_write deny)
test-writer테스트 코드 생성read, write✓ (*.test.* 패턴만)
doc-generatorAPI 문서 자동 생성read, write✓ (docs/ 패턴만)
infra-deployerCDK 배포 실행read, shell
takeaway

리뷰어는 읽기만, 구현자는 패턴 안에서만 — 권한 표가 곧 안전 설계입니다.

Steering · Hooks · Skills · MCP가 모여 완전 자동화를 만듭니다.

한번 설정하면 프로젝트 전체에 적용