Powers 만들기
도구·워크플로·모범 사례를 하나의 패키지로 묶어, 개발자의 대화 맥락에 맞춰 Kiro가 자동으로 활성화하도록 만드는 방법을 안내합니다.
Power란 무엇인가
Power는 특정 영역에서 자주 쓰이는 도구·문서·작업 방식 묶음을 정의해두고, 개발자가 관련 키워드를 언급하는 순간 Kiro가 알아서 컨텍스트와 도구를 끌어와 활성화하도록 만든 단위입니다. 출시 시점부터 Datadog, Figma, Neon, Netlify, Postman, Supabase, Stripe 등 파트너가 큐레이션한 Power가 제공되며, SaaS 앱이나 AWS CDK 인프라, Amazon Aurora DSQL용 커뮤니티 Power도 사용할 수 있습니다. 큐레이션된 목록은 kiro.dev/powers에서 확인합니다.
준비물
모든 Power는 최소한 POWER.md 한 파일을 포함해야 합니다. 필요에 따라 다음을 추가합니다.
mcp.json— MCP 서버 연결 설정steering/— 워크플로별 가이드 문서를 모아두는 디렉터리
POWER.md 작성하기
이 파일은 frontmatter와 에이전트 지시문 두 영역으로 나뉩니다. 일반적으로 CLI 설치나 hook 등록 같은 온보딩 절차를 먼저 두고, 그 뒤에 워크플로와 모범 사례가 담긴 steering 지시문을 배치합니다. 규모가 큰 Power라면 지시문을 여러 steering 파일로 분리하는 편이 좋습니다.
Frontmatter: 언제 활성화할지 알리기
Frontmatter는 개발자가 그 도구를 이야기할 때 자주 쓰는 단어를 keywords에 모아둠으로써, Kiro가 어떤 발화에서 Power를 끌어올지 판단하게 합니다.
---
name: "supabase"
displayName: "Supabase with local CLI"
description: "Build fullstack applications with Supabase's Postgres database, authentication, storage, and real-time subscriptions"
keywords: ["database", "postgres", "auth", "storage", "realtime", "backend", "supabase", "rls"]
author: "Supabase"
---
예를 들어 사용자가 "database"라고 말하면 Kiro가 키워드 매칭으로 Supabase Power를 활성화하고, 연결된 MCP 도구와 문서를 자동으로 로드합니다.
온보딩 지시문
Power가 처음 사용될 때 한 번 실행되는 영역으로, 의존성 검증·환경 설명·workspace hook 생성 등을 수행합니다.
- 도구 동작 확인 — Docker Desktop이 설치·실행 중인지
docker --version으로, Supabase CLI는supabase --version으로 확인합니다. - Hook 등록 —
.kiro/hooks/review-advisors.kiro.hook경로에 "Review Database Performance & Security" hook을 만듭니다."type": "userTriggered"로 동작하며,askAgent액션이 MCP의get_advisors를 호출하는 형태입니다. JSON에서는enabled,name,description,version,when,then,type,prompt키를 사용합니다.
Docker가 설치되지 않았거나 실행 중이 아니라면 Supabase 셋업을 진행하지 않아야 합니다. 온보딩 단계에서 분명한 중단 조건을 명시해 두세요.
Steering 지시문
선택 사항이며 두 가지 방식 중 하나를 고를 수 있습니다.
- 간단한 방식 — 온보딩 뒤에 모든 가이드를
POWER.md안에 직접 작성합니다. 예: 모든 사용자 데이터 테이블에 UUID 기본 키와 timestamps, RLS를 적용하라는 스키마 규칙과 예시 SQL을 함께 둡니다. - 고급 방식 — 워크플로별로 별도의 steering 파일에 매핑합니다. 예시 매핑은 다음과 같습니다.
- 데이터베이스 셋업 →
database-setup-workflow.md - SQL 코드/포매팅 →
supabase-code-format-sql.md - RLS 정책 →
supabase-database-rls-policies.md - PostgreSQL 함수 →
supabase-database-functions.md - 선언형 스키마(
supabase/schemas/) →supabase-declarative-database-schema.md - Next.js + Supabase SSR 인증 →
supabase-nextjs-supabase-auth.md - Realtime 기능 →
supabase-use-realtime.md
- 데이터베이스 셋업 →
Kiro는 현재 작업과 관련된 steering 파일만 골라서 로드하므로, 컨텍스트가 불필요하게 부풀어 오르는 일을 막을 수 있습니다.
MCP 서버 연결
Power가 MCP 도구를 사용한다면 mcp.json을 함께 둡니다. POWER.md에서 참조하는 서버 이름은 mcpServers 키에 정의된 이름과 정확히 일치해야 합니다.
{
"mcpServers": {
"supabase-local": {
"command": "npx",
"args": ["-y", "@supabase/mcp-server-supabase"],
"env": {
"SUPABASE_URL": "${SUPABASE_URL}",
"SUPABASE_ANON_KEY": "${SUPABASE_ANON_KEY}"
}
}
}
}
비밀값은 환경변수로 처리합니다. 설치 시 Kiro가 서버 이름에 네임스페이스를 붙여 충돌을 방지하므로, supabase-local은 내부적으로 power-supabase-supabase-local처럼 변환됩니다.
디렉터리 구조
power-supabase/
├── POWER.md # 메타데이터, 온보딩, steering 매핑
├── mcp.json # MCP 서버 설정
└── steering/ # 워크플로별 가이드
├── database-setup-workflow.md
├── supabase-code-format-sql.md
├── supabase-database-rls-policies.md
└── supabase-edge-functions.md
로컬에서 테스트
- 필요한 파일을 갖춘 Power 디렉터리를 만듭니다.
- Kiro의 Powers 패널에서 Add power from Local Path를 선택합니다.
- 방금 만든 디렉터리를 지정합니다.
- 등록한 키워드를 대화에 포함시켜 활성화 여부를 확인합니다.
Power 공유하기
공개 GitHub 저장소에 올리면 다른 사용자가 바로 설치할 수 있습니다.
git init
git add POWER.md mcp.json steering/
git commit -m "Initial release"
git push origin main
공개 저장소는 누구나 접근할 수 있지만, 비공개 저장소는 설치하려는 사용자에게 별도 접근 권한이 있어야 합니다.
다른 사용자는 Add power from GitHub에서 저장소 URL을 입력해 설치합니다.
예시 패턴
- 단순한 Power —
power-simple-tool/처럼POWER.md와 선택적인mcp.json만으로 구성. - 단일 도구 + steering —
power-prisma/에POWER.md,mcp.json,steering/schema-patterns.md를 둡니다. - 복합 도구 —
power-full-stack/아래에database-setup.md,deployment.md,api-integration.md를 둡니다. - 문서 전용 —
power-react-patterns/처럼 MCP 없이POWER.md와component-patterns.md,hooks-patterns.md만으로 구성.