
Kiro Web にローカルの .kiro 設定をアップロードしてみた
いわさです。
9月上旬に Kiro Web が GA になっています。
これまで何度か触ったことがあったのですが Kiro Web はクラウドのサンドボックスでセッションが動くもので、普段 Kiro CLI や Kiro IDE などローカル環境でカスタマイズが十分されていてそこでセッションを動かしていると、Kiro Web は別環境になるため同じ使用感で使うのが難しかったです。
そんな中、Kiro Web が GA する少し前に、ローカルの Kiro グローバル設定を Kiro Web に持ち込む機能が追加されていました。
上記アップデートは同期というよりは、ローカルの設定をクラウド側へ一方向でアップロードする機能です。
これとは別で、逆にクラウドの設定を新規のローカルセッションに読み込ませる方向の機能もあります。
これによってローカルのカスタマイズ環境をある程度 Kiro Web に適用できそうです。
今日はこのローカルからクラウドへのアップロード側を試してみたので紹介します。
アップロードしてみる
まず Kiro Web のグローバル設定ですが、アカウントメニューの Settings にある Steering / Skills / Agents / Hooks / Powers で管理することが出来ます。

そしてそれらの上の「Sync」が今回使うローカルとクラウドの同期機能です。
こちらからアップロードできるインターフェースになってます。

上の「Apply your cloud configuration to local sessions」がクラウド→ローカルの読み込み、下の「Upload local configuration to the cloud」がローカル→クラウドのアップロードです。
今日使うのは下側です。
ローカル環境では~/.kiroフォルダにグローバル設定が保存されています。

以下のドキュメントによると、この.kiroを同期できるっぽいので、まずはこのフォルダをまるっとアップロードしてみますか。

アップロードしようとしたところ次のようにエラーメッセージが表示されました。
どうやら.kiroフォルダのアップロードはサポートされていないようです。

エラーメッセージによると.kiroフォルダの中の以下がサポートされているようです。なるほど。

まずはsteeringフォルダをアップロードしてみますか。
アップロード操作をしたところ、その中のどのステアリングファイルを取り込むか選択できるようになっていました。デフォルトは全部選択された状態です。

これらのグローバルステアリングファイルはすべての作業横断で適用したいルールとか私の好みとかなんかその辺りが定義されてます。
あと私のローカル端末固有の制限とかもあってそれのワークアラウンドとかも定義されてたりします。詳しくは秘密なんですが。
Upload 8 filesボタンを押すとこれらの取り込みが開始され、すぐに処理が完了しました。

ステアリング画面を見てみると、取り込まれていることがわかります。これが Kiro Web でのグローバルステアリングってことですね。

続いて他のフォルダもどんどん取り込んでいきましょう。
settingsフォルダってなんだっけと思っていたのですが、グローバル MCP 定義が含まれているフォルダでした。なるほどね。

取り込もうとしたのですが最初いくつかの MCP 設定がエラーになりました。

ただ、Retry failed ボタンを何度か推してると取り込めるようになりました。
これで良いのかよくわからないです。後述しますが、MCP はうまく動いてませんでした。

グローバル MCP 設定はプロファイルのサンドボックス設定から確認できあます。
Network configuration が Open internet とかの制限なしモードになっていると MCP が有効化されます。

コマンドパスがめっちゃローカル端末のパスですね。これはこのままだと動かない気がしますね。まぁ今日はいいわ。
skillsもこんな感じで取り込みましょう。これもまぁ詳しくは秘密です。

agentsがカスタムエージェントなのですが、これがちょっと苦労しました。
Kiro Crew を最近使ってるせいか、自動でエージェント関連のファイルがなんか自動で作成されているみたいで、これをポチポチと選択外すのが大変でした...フィルタリングしたり一括解除したりする機能があると良いなと思いました。

医療ガイドライン周りのナレッジ検索エージェントとか作っていて、ローカル PDF を読み込む機能とかあったのですが、アップロードできるファイル制限が 4MB みたいで一部の PDF がアップロード出来ませんでした。
このあたりも分割するとか、ちょっと工夫が必要そうです。今回はこのまま無視して TOO LARGE なファイルは取り込まずにいきました。

アップロードされた環境を使ってみる
さて、グローバル設定が一通り取り込めたのでローカル環境と同じ使用感なのか確認してみます。
チャットで投げかけたところ早速 MCP 周りでエラーが発生しました。STDIO でも動くはずなのでシンプルに MCP 定義の問題ですね。ここは設定変更すれば治ると思います。

エージェントの回答を見ると、私の名前を認識してますね。
「俺はこういう人間だ」というのをグローバルステアリングファイルで定義しているので私の名前や所属や趣向などをエージェントが把握できている状態です。

また、独自のカスタムエージェントも認識されていますね。気になったのは、Kiro Web の場合は Kiro IDE や Kiro Crew などと違って、チャット欄で明示的にこのエージェントを使うよと指定が出来ないっぽいんですよね。
私は普段モデル指定する感覚でカスタムエージェント指定しているので、これはちょっとつらいかもしれないな。
普段の私のカスタムエージェントの使い方なのですが、タスクを分解してエージェントの役割に応じてオーケストレーションさせています。
ワーカーがオーケーストレーターエージェントにタスク計画を立ててもらって、それで専門エージェントに委譲しながらタスクを遂行する感じです。
まぁ...詳しくは秘密です。
さいごに
本日は Kiro Web にローカルの .kiro 設定をアップロードしてみました。
背景として、私は最近 Kiro を活用しているのですが、活用度合いが進んでくるとローカルコンテキスト・ローカルセッションだと色々なところでボトルネックを感じるようになってきました。
以下のブログでいう STAGE 1 と STAGE 2 あたりまではローカル環境で単独タスクあるいは複数タスクを並行処理で頑張るくらいでいけるのですが、STAGE 3 と STAGE 4 あたりになってくると自律性を高めるためにクラウドやパイプラインとの連携がどうしても必要になりそうで、ローカルだけだと限界を感じています。
Kiro Crew をリモート環境でホスティングしてクラウドセッション張る方法もまぁあるのですが、Kiro Web もクラウドセッションとして使えるので活用できるならしたいところなんですよね。
最終的にはパイプラインとなる基盤が必要で、GitHub リポジトリになるのかなぁという気はちょっとしているのですが、そのあたりも含めて Kiro Web 連携をもう少し試行錯誤してみたいなと最近思っています。








