Kiroを使って仕様駆動で趣味のツールを作ってみた(失敗談あり)
この記事は、AWS Community Builders Advent Calendar 2025 14日目の記事です。
投稿がめちゃくちゃ遅れてすみません。
みなさんKiro使ってますか?きっと使ってますよね。
気になっていたものの、ちゃんと使っていなかったので、この度使って、個人的な必要なツールの開発をしてみました。
と言いながら、ファーストインプレッションを語るLTをしてたりします。
Kiroの最大の特徴としては、仕様駆動(Spec)開発ですね。
なお、AWS IAM Identity Centerにユーザー作って、Proに課金してます。
反省の弁
実は、今回作ったものとほぼ同じようなツールを作っていました。
Kiroで。
一応望むものはできたのですが、ただ、全然動かず、あーだこーど指示を出して、なんとか動くものはできました。
ふと気づいたのです。
これって、はVibe Coding だと。
最初は仕様駆動開発していたのですが、
一通り作った後の改善はVibe Codingになってたのです。
それが悪いことではないと思うのですが、今回の趣旨からは外れるなとおもって、お蔵入りさせました、
改めて、仕様駆動開発
ということで、改めて仕様駆動開発にチャレンジしてみました。
作ったものに関しては後述します。


今回は仕様ができた段階で、作られた仕様を確認するようにしました(これをしてなかったから前回ダメだったんですが)。
今回は specsの中に作られるrequirements.md、design.md、tasks.mdの中身を確認したり、
想定されるコマンドの仕様やパラメーターを確認してから、実装を開始しました。
あとはtaskを実行していけば・・・ですが・・・。

途中で仕様変更
今回の作っているツール、Pythonで書いてもらっています。
これは、作った後のメンテを考えてものです。
しかし、Pythonのライブラリでは仕様を満たせないことがわかりました。
そのため、taskを一旦止めて、設計をやり直し、taskも必要なところから再度実行してます。

実のところ、一度作ったときも、この部分はうまくいかなかったのですが、忘れてました。
仕様変更後は、テストの再施行等もありましたが、実際使うファイルでのテストも経て、
完成となりました。
作ったもの
Kiroで作りましたが、ローカルで動くツールです。
趣味で、色々写真を撮っていますが、撮った写真の整理は以下の2つのフローで行っています。
- 母艦PCにコピー後、JPEGファイルのみAndroidタブレットにコピーして、Androidタブレットで選別後、同じファイルのRAWファイルを探して、調整後現像。
- 母艦PCにコピー、CANONのDigital Photo Processer4もしくはAdobe Lightroom classicに取り込んで、選別して調整後現像。
- iPad AirのAdobe Lightroomに取り込んで、選別して調整後現像。
2、3は大抵の方が行っているワークフローだと思います。
私の場合、撮影枚数が多くなりがちで、2、3だと取り込み自体に時間がかかるし、選別にも時間がかかるので、
外出中とかにできるように1.を多用しています。
ただ、最終的にはJPEGファイルとRAWファイルのマッチングが必要で、cpコマンドとか駆使していたのですが、
ツール作るか!と思いまして、今回Kiroで作ってみたわけです。
作ったものは以下で公開しています。
使い方
まず、RAWファイルの情報を収集します。
マッチングには、ファイル名と撮影日で行っていますが、
撮影日はExif情報をみないとわからないので、
Exif情報を収集するのに、exiftoolというMac/Windowsで提供されてるフリーのツールを使っています。
途中で仕様変更したのがこの部分で、最近のRAWファイルだと、Pythonにあるライブラリでは対応しておらず、このツールを使う必要があり、使うように設計し直しています。
この方式だと、1つ問題があって、Exif情報取得に時間がかかるので、毎回RAWファイルのExif情報を参照するのではなく、事前に情報を集めておくようにしています。
※なお、ファイルが増えたときように差分追加や別ディレクトリの追加も可能になってます。
とはいえ、収集自体も時間かかるので、ファイル数が多いとだいぶ待ちます。

JPEGとRAWファイルのマッチング自体は、
JPEGファイルが入っているディレクトリを指定すると、事前に収集してあった情報から同じファイル名、同じ撮影日のRAWファイルをみつけて、
指定したディレクトリにコピーしてきます。


indexの差分追加とか、特定Indexから取ってくるとか色々ついてます。
軽く試した感じは問題なさげなので、完成です。まあ、漏れとかありそうですけど。
ちょうどいくつか選別が終わったので、使ってみようと思います。
まとめ
初めて、Spec開発ちゃんとやってみましたが、
まだまだ仕様の詰めが甘いな・・・というのが感想ですね。(外部ツール使うのわかっていたのに漏れた)
この辺をスキルアップするべく、
個人開発中心にKiro使って、色々作っていきたいともいます。
最終的には業務にも使えるようになるといいなと思います。
AWS re:Invnet 2025のSpecial Closing Keynoteで Dr. Werner Vogels 氏もおっしゃっていましたが、
The work is yours, not the tools.
この言葉を胸に、AIをもっと使っていきたいと思います。
最後に
仕様はちゃんと確認してから開発しよう。
おまけ
今回作ったツール、試してくれる写真付きの方お待ちしてます。
できれば、CANON以外のカメラメーカー(NIKON、SONY、OMシステムなど)の方のお試しお待ちしております。
参考
Discussion