Kiro CLI meets peco ~ カスタムエージェントを自由自在に使いこなそう

ここ最近、片頭痛に悩まされていたのですが、生活習慣やカフェインの影響を受けている可能性が高く、今は漢方を飲んで心穏やかに生活できています。( ˘ω˘ ) スヤァ…

ところで、皆さんはKiroを使っていますか?私は個人で課金して使っています。課金方法はAmazon Q Developerからのアップグレードになっており、AWS OrganizationとIdentity Centerを使って課金しています。本投稿では、Kiroをpecoと組み合わせることで、カスタムエージェントを自由自在に使いこなせることを共有します。

Kiro CLIのカスタムエージェントとは

Kiro CLIのカスタムエージェントは、Kiro CLIの振る舞いをカスタマイズするための設定ファイルを用意し、それを読み込むことでKiro CLIの動作を変えられる機能です。カスタムエージェントで設定できる項目は、2026年4月時点で以下の内容があります。

設定できる機能 説明
プロンプト システムプロンプトを設定
MCPサーバー 使用するMCPサーバーを指定
ツール 使用可能なツールを指定
リソース カスタムエージェント起動時に読み込むファイルを指定
モデル 使用する基盤モデルを指定(例:Claude Sonnet 4.6など)

これらの設定内容を設定ファイルに定義してカスタムエージェントを作成することで、いつでもカスタマイズされたエージェントを呼び出すことができます。

💡そもそもKiroとは何?

KiroはClaude CodeやCursorに近いコンセプトで作られたバイブコーディングツールです。AWSはAmazon Q Developerというコマンドライン(CLI)向けのバイブコーディングツールを提供していましたが、昨年2025年12月頃に、統合開発環境(IDE)に組み込まれたバイブコーディングツールであるKiroへとブランディングが統一されました。これにより、Amazon Q Developer CLIは今後新機能の追加が行われなくなり、後継のKiro CLIが更新される方針が示されました。 Kiroはおばけのような形をしていてとても可愛いマスコットキャラクターを持っています。

Amazon Q Developer CLIとKiroの変遷
つまり、AWSのバイブコーディングツールを「Kiro」に一本化した、ということになります。 Kiroの特徴としてSpec駆動開発があります。Spec(仕様)を最初に定義し、その定義したSpecに沿って開発を進める仕組みです。このSpec駆動開発がKiroの最大のアピールポイントではありますが、本投稿では主にカスタムエージェントを取り上げます。

pecoとは

peco(読み方:ペコー)は、ログやプロセス一覧などのフィルタリング、ファイルの検索に非常に便利なターミナル用ツールです。grepとは異なり、入力しながらリアルタイムで結果を確認できるインタラクティブな操作が特徴です。

github.com

Kiro CLIのカスタムエージェントとpecoを組み合わせると何ができる?

前段の説明が長くなりましたが、Kiro CLIのカスタムエージェントとpecoを組み合わせると、コマンドラインからの起動時にインタラクティブなUIでカスタムエージェントを自在に選択できるようになります。以下の画像を見ていただければ、イメージが伝わるかと思います。

どうでしょう、伝わりましたでしょうか。このようにカスタムエージェントをインタラクティブなUIで選択できるようにすることで、自在に切り替えられるようになり、利便性が大きく向上します。

どうやっているのか

Kiro CLIは --agent オプションを付与することで、起動時にカスタムエージェントを指定できます。この --agent に指定する項目をpecoに渡して選択できるようにします。具体的なpeco呼び出しのスクリプトは下記のとおりです。(Bash前提となっており、この内容は .bashrc に記述しています。)

## Kiro CLI Custom Agentを選択
function pkiro() {
    local base_dir="$HOME/.kiro/agents"

    local selected=$(find "$base_dir" -maxdepth 1 -type f -name '*.json' ! -name 'agent_config.json.example' \
        | while read -r f; do
            local name=$(basename "$f" .json)
            local desc=$(jq -r '.description // ""' "$f")
            echo "${name}  |  ${desc}"
        done | peco | awk -F'  |  ' '{print $1}')

    if [ -n "$selected" ]; then
        kiro-cli chat --agent "$selected"
    fi
}

この処理は下記の処理を行っています。

No. 処理名 説明
1 カスタムエージェントの設定ファイルの検索 find コマンドで ~/.kiro/agents 直下の .json ファイルを検索する
2 各エージェントの名前と説明を取り出す jq でJSONファイル内の description フィールドを読み取り、 ファイル名 | 説明 の形式で1行にまとめて出力する
3 pecoでインタラクティブに選択 カスタムエージェントの一覧をpcoに渡し、ユーザーがUIでエージェント選べるようにする
4 選択されたエージェントでKiro CLIを起動 aws コマンドでエージェント名だけを取り出し、 kiro-cli chat --agent <エージェント名> を実行してカスタムエージェントとのチャット開始する

いかがでしょうか。使ってみると、とても楽しいです。個人的にはpecoはお気に入りのツールでよく使っています。

私のカスタムエージェントの使い方の紹介

カスタムエージェントを使う動機は、やはりMCPサーバーにあります!MCPサーバーへの接続先をどんどん増やすと、コンテキストウィンドウの圧迫(使用可能なトークン数の逼迫)による応答品質の低下や、MCPサーバー間の意図しない情報連携も気になるところです。特にAWSが提供するMCPサーバーはAWS認証情報を渡す設定も多く、最小権限の原則に則った権限設計も重要ですね。

私がAWSに関連する作業をKiroで行う際は、まずベーシックな知識をMCPサーバーとして指定するようにしています。それが下表の2つのMCPサーバーです。

MCP Server 説明
AWS Knowledge MCP Server AWSが公式にホストするリモートMCPサーバーで、最新のAWSドキュメント・APIリファレンス・What's New情報などをAIエージェントがリアルタイムに横断検索できるサービス
AWS Documentation MCP Server 特定のAWSドキュメントURLを直接読み込んでMarkdown変換・検索・関連コンテンツ推薦をローカルで行う、ローカル実行型のMCPサーバー

この2つを基本として、カスタムエージェントごとに必要なMCPサーバーをアドオンしています。例えばAWSの利用料金計算であれば、下表のMCPサーバーを追加します。

MCP Server 説明
AWS Pricing MCP Server AWSリアルタイム料金APIに自然言語でアクセスし、マルチリージョン料金比較・CDK/Terraformプロジェクトのコスト分析・Well-Architectedに基づくコスト最適化提案をAIから行えるコスト分析特化型ローカルMCPサーバー

また、運用に特化したMCPサーバーとして下表のものを追加することもあります。

MCP Server 説明
Amazon CloudWatch MCP Server アクティブアラームの特定・ログの異常パターン分析・メトリクストレンド解析・Log Insightsクエリ実行をAIが組み合わせてインシデントの根本原因分析と解決策提案まで行えるAIオブザーバビリティ特化型ローカルMCPサーバー

このように用途別に利用するMCPサーバーの設定を変えることで、特定の作業に特化したカスタムエージェントを実現できます。図で表すと下図のとおりです。

カスタムエージェントの定義の考え方

当ブログでは「AWSが公開するオープンソースMCPサーバー カテゴリ別早見表」を公開していますので、MCPサーバーをお探しの際にぜひご活用ください。

blog.supica.work

まとめ

本投稿では、Kiroをpecoと組み合わせることで、カスタムエージェントを自由自在に使いこなせることをご紹介しました。現時点(2026年4月1日時点)で、カスタムエージェントをpecoと組み合わせて使えるVibeコーディングツールはKiroとClaude Codeが該当します。Cursorは残念ながら、カスタムエージェントのような機能はありません。

何よりpecoを使うとターミナルの操作がインタラクティブになるので、とても楽しいです。私はpecoをAWSプロファイルの切り替えにも活用しております。

本投稿がKiroをお使いの皆さんのお役に立てれば幸いです。