본문으로 건너뛰기

Kiro Setup

본 문서는 Kiro 하네스에서 oh-my-aidlcops(OMA)를 설치·구성하는 방법을 설명합니다. OMA는 Claude Code와 Kiro를 동일한 스킬·상태 기반으로 지원하며, 두 하네스는 프로젝트 루트의 .omao/ 디렉터리를 공유합니다.

Kiro 하네스란

Kiro는 Claude Code와 다른 skills-first 에이전트 하네스입니다. 주요 차이점은 다음과 같습니다.

측면Claude CodeKiro
플러그인 단위plugin/ 디렉터리스킬 단위 flat 배포
스킬 위치~/.claude/plugins/<plugin>/skills/<skill>/~/.kiro/skills/<plugin>/<skill>/
커맨드 시스템/slash-command스킬 직접 호출
SteeringClaude Code가 자동 주입.kiro/steering/ 디렉터리 기반
트리거 힌트settings.jsonkiro.meta.yaml 사이드카

OMA는 이 차이를 install/kiro.sh에서 흡수하며, 동일한 plugins/<plugin>/skills/<skill>/SKILL.md 소스를 두 하네스에 공유 노출합니다.

사전 요구사항

도구버전설치
Kiro 런타임최신 stableKiro 공식 가이드
bash4+brew install bash (macOS)
jq1.6+brew install jq / apt install jq
git2.30+시스템 기본값
uv / uvxlatestpipx install uv (MCP 서버용)

설치

Kiro는 네이티브 마켓플레이스 경로를 제공하지 않으므로 수동 설치만 지원합니다.

git clone https://github.com/aws-samples/sample-oh-my-aidlcops
cd oh-my-aidlcops
bash scripts/install/kiro.sh

스크립트 실행 후 기대되는 출력은 다음과 같습니다.

[install-kiro] OMA repo : /.../oh-my-aidlcops
[install-kiro] KIRO_HOME: /home/user/.kiro
[install-kiro] OMA_OWNER: aws-samples
[install-kiro] skill linked: ai-infra/vllm-serving-setup
[install-kiro] skill linked: agenticops/self-improving-loop
...
[install-kiro] steering linked: /home/user/.kiro/steering

Installation complete.
skills linked : 23
kiro.meta.yaml found : 7

심링크 구조

설치가 끝나면 Kiro 홈 디렉터리에 다음 구조가 생성됩니다.

~/.kiro/
├── skills/
│ ├── ai-infra/
│ │ ├── agentic-eks-bootstrap -> <repo>/plugins/ai-infra/skills/agentic-eks-bootstrap
│ │ ├── vllm-serving-setup -> <repo>/plugins/ai-infra/skills/vllm-serving-setup
│ │ ├── inference-gateway-routing -> ...
│ │ └── ...
│ ├── agenticops/
│ │ ├── self-improving-loop -> ...
│ │ ├── autopilot-deploy -> ...
│ │ ├── incident-response -> ...
│ │ ├── continuous-eval -> ...
│ │ └── cost-governance -> ...
│ ├── aidlc/
│ └── aidlc/
├── steering -> <repo>/steering
├── guides/ # NEW: 단계별 가이드 (플러그인별 디렉터리)
│ └── ai-infra/ -> <repo>/plugins/ai-infra/guides
├── agents/ # NEW: Kiro 에이전트 설정
│ └── ai-infra.agent.json -> <repo>/plugins/ai-infra/kiro-agents/ai-infra.agent.json
└── settings/ # NEW: CLI 설정
└── cli.json # 기본 템플릿 (사용자 편집 가능)

각 심링크는 OMA 리포지터리의 원본 디렉터리를 가리킵니다. 따라서 git pull로 리포지터리를 업데이트하면 Kiro가 즉시 최신 스킬을 사용합니다.

idempotency

install/kiro.sh는 idempotent입니다. 재실행 시 기존 심링크의 타겟이 올바르면 유지하고, 오염된 링크만 새로 생성합니다. 실제 파일이 심링크 자리에 있으면 덮어쓰지 않고 경고만 출력합니다.

[install-kiro][warn] refusing to replace non-symlink: /home/user/.kiro/skills/my-skill

kiro.meta.yaml 사이드카

Claude Code의 SKILL.md frontmatter는 Kiro가 그대로 해석하지 못하는 필드를 일부 포함합니다. 일부 스킬은 Kiro 전용 메타데이터를 kiro.meta.yaml 사이드카 파일로 제공하며, 설치 스크립트는 이를 감지하면 로그를 출력합니다.

[install-kiro] skill linked: ai-infra/vllm-serving-setup
[install-kiro] kiro.meta.yaml sidecar detected for ai-infra/vllm-serving-setup

사이드카 파일 예시 구조:

# kiro.meta.yaml
kiro:
trigger_keywords:
- "vllm"
- "model serving"
- "PagedAttention"
context_files:
- SKILL.md
- reference/vllm-config.yaml
mcp_required:
- eks-mcp-server
- aws-pricing-mcp-server
phase: operations
approval_required: true

Kiro는 이 메타데이터를 읽어 다음을 수행합니다.

  • trigger_keywords — 자연어 요청에서 매칭 시 스킬을 우선 제안
  • context_files — 스킬 실행 시 함께 로드할 추가 파일
  • mcp_required — 실행 전 필수 MCP 서버 연결 확인
  • phase — Inception / Construction / Operations 단계 분류
  • approval_required — 체크포인트 승인 필요 여부

사이드카가 없는 스킬은 SKILL.md frontmatter만으로 동작합니다.

Full Kiro Layout Support

OMA는 AWS Kiro 모더나이제이션 샘플에서 사용하는 전체 디렉터리 레이아웃을 지원합니다. 설치 스크립트는 다음 5개 디렉터리를 자동으로 구성합니다.

1. skills/ — 실행 가능한 스킬

모든 플러그인의 skills/ 하위 디렉터리를 ~/.kiro/skills/<plugin>/<skill>/ 형태로 심링크합니다. 각 스킬은 SKILL.md + 선택적 kiro.meta.yaml 사이드카로 구성됩니다.

2. steering/ — 전역 오리엔테이션

steering/ 디렉터리를 ~/.kiro/steering/에 심링크합니다.

steering/
├── oma-hub.md # OMA 전역 오리엔테이션
├── commands/
│ └── oma/ # /oma:* 슬래시 커맨드 정의 (Claude Code용)
└── workflows/ # 5-checkpoint 워크플로우 템플릿

Kiro는 commands/oma/를 슬래시 커맨드로 해석하지 않지만, 파일 내용을 스킬 orchestration 참고 자료로 활용합니다. workflows/ 디렉터리의 5-체크포인트 템플릿은 두 하네스에서 동일하게 동작합니다.

3. guides/ — 단계별 안전 가이드 (Stage-Gated)

플러그인의 guides/ 디렉터리를 ~/.kiro/guides/<plugin>/ 형태로 심링크합니다. guides는 워크플로우 단계별로 로드되는 안전 기준 문서(safety-critical content)입니다.

~/.kiro/guides/
└── ai-infra/ -> <repo>/plugins/ai-infra/guides
├── aws-practices/ # AWS Well-Architected 기반 가이드
├── common/ # 공통 안전 기준
└── stages/ # 단계별 체크포인트 가이드
├── stage-1-analysis.md
├── stage-2-requirements.md
└── ...

Kiro는 워크플로우 컨텍스트에 따라 해당 단계의 가이드를 자동으로 로드합니다. 예를 들어 stage-2-requirements 단계에서는 stages/stage-2-requirements.md가 context로 주입됩니다.

4. agents/ — Kiro 에이전트 프로필

플러그인의 kiro-agents/*.json 파일을 ~/.kiro/agents/ 디렉터리로 심링크합니다. 각 에이전트 프로필은 다음을 정의합니다.

  • MCP 서버 구성(MCP Server Configuration) — 필요한 MCP 서버 목록과 환경 변수
  • 자동 승인 규칙(Auto-approval Rules) — 읽기 전용 / 파일 쓰기 / bash 명령 승인 정책
  • 리소스 로딩(Resource Loading) — 에이전트 시작 시 로드할 steering 파일 및 스킬 경로

예시: ai-infra.agent.json

{
"name": "ai-infra",
"description": "Agentic AI Platform architect for EKS + vLLM + Inference Gateway + Langfuse on AWS.",
"mcpServers": {
"awslabs.eks-mcp-server": { "command": "uvx", "args": ["awslabs.eks-mcp-server==0.1.28"] },
"awslabs.aws-documentation-mcp-server": { ... }
},
"autoApprove": {
"readOnly": true
}
}

Kiro 런타임에서 @ai-infra 형태로 해당 프로필을 활성화할 수 있습니다.

5. settings/ — CLI 기본 설정

scripts/kiro-cli.template.json 템플릿을 ~/.kiro/settings/cli.json으로 복사합니다 (기존 파일이 없는 경우에만). 이 파일은 Kiro CLI의 기본 동작을 정의합니다.

{
"defaultModel": "claude-sonnet-4-6",
"autoApprove": {
"readOnly": true,
"fileWrites": false,
"bashCommands": false
},
"steering": {
"alwaysLoad": ["oma-hub.md"]
}
}

설치 후 사용자가 직접 편집해 기본 모델, 자동 승인 정책, 항상 로드할 steering 파일을 조정할 수 있습니다.

프로젝트 초기화

Claude Code 와 동일하게 작업 프로젝트에서 .omao/ 를 초기화합니다. oma setup 을 실행했다면 이미 완료된 상태 이므로 수동 호출은 필요 없습니다.

oma setup 없이 수동 초기화:

cd <your-project>
oma init

.omao/는 harness-agnostic 이므로 같은 프로젝트에서 Claude Code와 Kiro를 병행 사용해도 상태가 동기화됩니다. 예를 들어 Kiro에서 시작한 AIDLC 루프를 Claude Code에서 이어받아 체크포인트 승인을 처리할 수 있습니다.

AIDLC 확장 적용 (opt-in)

Kiro에서도 awslabs/aidlc-workflows 확장을 적용할 수 있습니다.

bash scripts/install/aidlc-extensions.sh

스크립트는 awslabs/aidlc-workflows~/.aidlc에 clone하고 OMA의 *.opt-in.md 확장을 심링크합니다. Kiro는 ~/.aidlc를 스킬 컨텍스트로 자동 로드하지는 않으므로, 스킬 호출 시 명시적으로 참조하거나 프로젝트의 .omao/plans/ 디렉터리에 복사해야 합니다.

환경 변수

변수기본값설명
OMA_OWNERaws-samplesGitHub 소유자
KIRO_HOME$HOME/.kiroKiro 설치 디렉터리

CI 환경이나 다중 사용자 장비에서 KIRO_HOME을 재지정해 격리된 설치를 만들 수 있습니다.

KIRO_HOME=/opt/kiro-ci bash scripts/install/kiro.sh

설치 검증

# 1. 스킬 디렉터리 확인
ls ~/.kiro/skills/
# ai-infra/ agenticops/ aidlc/ modernization/

# 2. 각 플러그인 스킬 개수
for p in ai-infra agenticops aidlc; do
echo "$p: $(ls ~/.kiro/skills/$p/ 2>/dev/null | wc -l) skills"
done

# 3. Steering 심링크 확인
ls -la ~/.kiro/steering
# symbolic link to <repo>/steering 이어야 합니다.

Kiro 런타임에서 스킬을 호출해 정상 동작을 확인합니다.

> agenticops/self-improving-loop 트레이스를 분석해 개선 PR을 작성하라

트러블슈팅

스킬이 Kiro에 표시되지 않음

~/.kiro/skills/ 하위에 심링크가 생성되었는지 확인합니다.

find ~/.kiro/skills/ -maxdepth 2 -type l | head

심링크가 깨졌다면 재설치합니다.

rm -rf ~/.kiro/skills/ai-infra ~/.kiro/skills/agenticops \
~/.kiro/skills/aidlc/inception ~/.kiro/skills/aidlc/construction
bash ~/.oma/scripts/install/kiro.sh

기존에 Kiro 스킬 디렉터리에 실제 파일이 존재하는 경우입니다. 해당 파일을 백업·제거 후 재설치합니다.

mv ~/.kiro/skills/<conflicting-skill> ~/.kiro/skills/<conflicting-skill>.bak
bash ~/.oma/scripts/install/kiro.sh

kiro.meta.yaml이 반영되지 않음

Kiro 버전에 따라 사이드카 필드 지원이 다릅니다. 다음을 확인합니다.

# 사이드카 파일 존재 확인
find ~/.kiro/skills/ -name 'kiro.meta.yaml' | head

# Kiro 런타임 로그에서 사이드카 로드 확인 (Kiro 문서 참조)

지원되지 않는 필드는 무시되며, 스킬 기본 동작에는 영향이 없습니다.

Claude Code와 Kiro 간 상태 불일치

두 하네스가 같은 .omao/를 공유하므로 원칙적으로 동기화됩니다. 불일치가 발생하면 파일 시스템 동기화 문제(예: NFS, 네트워크 드라이브)일 가능성이 높습니다.

# 파일 시스템이 로컬인지 확인
df -T .omao/
# 네트워크 드라이브라면 로컬 디스크로 이동 권장

MCP 서버 연결 실패

Kiro 런타임이 uvx 경로를 찾지 못하는 경우가 있습니다. Kiro 설정에서 PATH에 uv 설치 경로(~/.local/bin 또는 ~/.cargo/bin)를 추가합니다.

Kiro 전용 고려사항

트리거 키워드 기반 호출

Kiro는 kiro.meta.yamltrigger_keywords를 기반으로 자연어 입력을 스킬에 자동 매칭합니다. Claude Code의 Keyword Triggers 훅 기반 구조와 유사하지만, Kiro 내부 엔진이 처리합니다.

체크포인트 승인 UX

Kiro는 체크포인트를 대화창 내 인라인 프롬프트로 표시합니다. 승인·거부는 approve / reject / revise <comment> 중 하나를 입력합니다. Claude Code와 입력 형식이 같으므로 학습 비용이 거의 없습니다.

로그 수집

Kiro는 실행 로그를 ~/.kiro/logs/에 저장합니다. OMA는 이 로그를 별도로 수집하지 않지만, 문제 신고 시 해당 디렉터리를 첨부해야 재현이 가능합니다.

제거

# 스킬 심링크 제거
rm -rf ~/.kiro/skills/ai-infra ~/.kiro/skills/agenticops \
~/.kiro/skills/aidlc/inception ~/.kiro/skills/aidlc/construction

# Steering 심링크 제거
rm ~/.kiro/steering

# (선택) 프로젝트 상태 제거
rm -rf <your-project>/.omao/

참고 자료

공식 문서

OMA 내부 문서