
Kiro IDE のカスタム power を作成してみた
いわさです。
Kiro power を使うことでセッション起動時のコンテキスト量を削減しつつ必要なステアリングファイルや MCP ツールなどをカスタムパッケージとしてインストールすることができます。
公式やコミュニティから様々な Kiro power が提供されていて自由にインストールすることができます。
一方で私たちが普段の業務を AI エージェントを活用して行っていく中で、繰り返し必要な MCP やコンテキストは自動で構成されるようにセットアップしておきたいです。
しかし、特定のタスクでしか使わないコンテキストや MCP ツールをグローバルで毎回読み込むのはコンテキストウィンドウ消費量が無駄になりますし、あるいは毎回ローカル構成を繰り返し用意するのも手間です。さらにチーム内などでそれらのパッケージを共有したい場合もあります。
こういう時にはまさに Kiro power のカスタム power を用意しておくことで解決することができます。
ステアリングファイルくらいであればエージェントステアリングあるいは Skills でも解決できるのでそちらを使っても良いと思いますが MCP ツールなど他にも様々なものを必要な時だけ導入したい時は power が選択肢になりそうです。
今回カスタム power を作成してみたのでその様子を紹介します。
カスタム power を作成してみる
今回は実用性は無視して適当な power を作成してみたいと思います。
私は普段 Backlog 公式 MCP を使うことがあるのですが、こちらを使うと Backlog URL を与えた時に MCP ツール経由で効率的にアクセスをしてくれます。

非常に便利なのですが、一方で URL を与えた時には cURL や Playwright などを使って HTTP レスポンスを直接取得して欲しいときもあります。
ということで、「URL が与えられたら Playwright MCP を優先利用する」という power を作成してみたいと思います。あまり使えなさそうだが。
カスタム power の作成方法は次のドキュメントに案内されています。必須なのが POWER.md で、あとは付属で追加のステアリングファイル群だったり mcp.json を用意します。
今回は次のような内容で適当に用意してみました。
---
name: "hoge-url"
displayName: "HOGE URL処理Power"
description: "URLを処理する時に必ず Playwright MCP ツールを優先する"
keywords: ["url", "アクセス"]
---
# Onboarding
## Step 1: Validate tools work
Node.js 18 以上が必要
# Best Practices
指示中にURLが含まれる場合は、他の MCP ツールは使わずに Playwright MCP を使ってアクセスすること
{
"mcpServers": {
"playwright": {
"args": [
"@playwright/mcp@latest"
],
"command": "npx",
"disabled": false
}
}
}
上記を特定のディレクトリに配置したら、Kiro power メニューから追加を行います。
この時 POWER.md などではなく格納されているディレクトリを選択する形になるのでご注意ください。
「Add Custom Power」から「Import power from a folder」を選びます。


フォルダを選択します。

そうするとインストール済み power 一覧にカスタム power が追加されました。それっぽく見える。

先ほどと同じようなプロンプトを与えると、power で指示したベストプラクティスに沿って MCP ツールが選定されていることがわかります。
Backlog URL を与えましたが、Playwright MCP が優先されました。

しかし、Playwright MCP だとうまく処理できない URL だったため Backlog MCP に切り替えて利用もされています。

Kiro チーム提供の「Power Builder」を使ってみる
このような形でカスタム power を作ることが出来るのですが、ドキュメントを読みながら POWER.md を用意したりなんだりするのを毎回行うのはちょっと面倒です。
そこで、Kiro チームからは power を作成するための power が提供されています。
こちらの「Build a Power」です。最早先頭大文字の Power なのか、小文字の power なのかどちらが正しいのかよくわからなくなってきました。

この power の POWER.md はこちらです。power も作りたい内容によっていくつか分類されていたりするので power 実装のベストプラクティスに準拠しつつ、うまく実装してくれるように定義されています。
先ほどの URL 処理 power を作り直してみます。
キーワードについては上記リポジトリのとおりですが、Power Builder がアクティベートされました。

必要な情報を与えると power 一式をローカルに作成してくれます。

作成された POWER.md がこちらです。
---
name: "playwright-url-priority"
displayName: "Playwright URL Priority"
description: "URLへのアクセスが指示された場合、Playwright MCP ツールを優先的に使用する。webFetch や web_search ではなく、Playwright のブラウザ操作でページにアクセスし内容を取得する。"
keywords: ["url", "アクセス", "playwright", "ブラウザ", "ページ"]
author: "いわさ"
---
# Playwright URL Priority
## Overview
このPowerは、ユーザーからURLへのアクセスを指示された際に、Playwright MCP のブラウザ操作ツールを優先的に使用するためのガイドです。
通常、URLにアクセスする場合は `webFetch` や `web_search` などのツールが使われることがありますが、このPowerが有効な場合は Playwright MCP の `browser_navigate` と `browser_snapshot` を優先して使用してください。
## ルール
### URL アクセス時の優先順位
1. **最優先: Playwright MCP** — `browser_navigate` でURLに移動し、`browser_snapshot` でページ内容を取得する
2. Playwright で取得できない場合のみ、他のツール(webFetch 等)にフォールバックする
### Playwright を使うべきケース
- ユーザーが「このURLを見て」「このページの内容を確認して」と指示した場合
- ユーザーがURLを貼り付けてその内容について質問した場合
- 「URLにアクセスして」という明示的な指示がある場合
- Webページの操作(クリック、フォーム入力など)が必要な場合
### 基本的なワークフロー
\`\`\`
1. browser_navigate でURLにアクセス
2. browser_snapshot でページのアクセシビリティスナップショットを取得
3. 必要に応じて browser_click, browser_type 等で操作
4. 詳細が必要なら browser_take_screenshot でスクリーンショットを取得
\`\`\`
## よく使うツール
| ツール | 用途 |
|--------|------|
| `browser_navigate` | URLに移動する |
| `browser_snapshot` | ページ内容をテキストで取得する |
| `browser_click` | 要素をクリックする |
| `browser_type` | テキストを入力する |
| `browser_take_screenshot` | スクリーンショットを撮る |
| `browser_evaluate` | JavaScriptを実行する |
## Troubleshooting
### ブラウザが起動しない
**原因:** Playwright のブラウザがインストールされていない
**解決策:**
1. `browser_install` ツールを実行してブラウザをインストールする
2. Node.js 18 以上がインストールされていることを確認する
### ページが正しく読み込まれない
**原因:** JavaScript レンダリングが必要なページ、または認証が必要
**解決策:**
1. `browser_wait_for` で特定のテキストが表示されるまで待つ
2. 認証が必要な場合は `browser_fill_form` でログイン情報を入力する
## Configuration
追加の設定は不要です。Playwright MCP サーバーがインストールされていれば動作します。
ワークフローやよく使うツール、トラブルシューティングなどがしっかり定義されています。
先ほど私が独自で作成したものを見てみると公式ドキュメントに記載のいくつかの要素が抜けていることがわかると思います。
さいごに
本日は Kiro IDE のカスタム power を作成してみました。
Power Builder を使って作るのが圧倒的に楽でしたね。こちらを使って色々と業務利用できて共有できそうなカスタム power を作っていってみたいと思います。
当初アナウンスされていたとおり、Kiro IDE 以外でも power 使えるようになると有り難いのだが、いつ対応されるだろうか。







