6
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Kiro CLIでSpec Kitが使えないのはなぜ?

Last updated at Posted at 2025-12-12

NTTテクノクロスの渡邉です。

今回は、Kiro CLIでSpec Kitが利用できなかった件の調査と、それを通じて見えてきた各ツールの設計について共有します。

この記事は2025/12/13時点での状況です。

Kiro CLI

2025/11/18に、AWSからエージェントツール「Kiro CLI」が発表されました。

AWSには従来からIDEの「Kiro(β版)」とCLIの「Amazon Q Developer CLI」がありましたが、KiroのGAに合わせて、CLI側もKiroブランドとして統合されたようです。

Kiro CLIは機能を見る限り、Amazon Q Developer CLIをベースにした後継版と考えるのが自然です。主な差分については、AWS Japan のブログがまとまっています。

Amazon Q Developer CLI の今後

Amazon Q Developer CLIの今後については、AWS re:Invent 2025では特に触れられていませんでした。(単にキャッチできていないだけかもしれません。) しかし、2025/12/9 にAmazon Q Developer CLI側のREADME.mdに以下の文言が追記されました。

Important

This open source project is no longer being actively maintained and will only receive critical security fixes. Amazon Q Developer CLI is now available as Kiro CLI, a closed-source product. For the latest features and updates, please use Kiro CLI.

これを踏まえて、ユーザとしてはざっくり以下のニュアンスで理解するとよさそうです。

  • Kiro CLIはAmazon Q Developer CLIの後継であり、後者は重要なセキュリティ修正のみが提供されるメンテナンスモードに入った。

  • Kiro CLIはClaude Codeと同様に今後はクローズドソースで提供される。

  • KiroのリポジトリはClaude Codeと同様に、最低限の資材とissue受付のみの運用になっている。

少々脱線しましたが、以降、Kiro CLIの話の中にAmazon Q Developer CLIの話題が挟まるのは、このような経緯があるためです。

Spec Kit

Spec KitはGitHubが提供する、仕様駆動開発を支援するツールキットです。

specify​コマンドでの仕様化、planコマンドでの実装計画化、tasksコマンドでのタスクリスト化、という3つのプロセスを経て、ユーザの仕様をタスクリストに変換し、タスク駆動でのエージェント実行を支援するものです。

仕様駆動開発

仕様駆動開発は微妙に解釈が定まらない概念ですが、個人的には次の二つの言葉が本質だと思っています。


A specification is a kind of (version controlled, human-readable) super prompt.

仕様書とは、一種の(バージョン管理され、人間が読める)スーパープロンプトです。

Kiro and the future of AI spec-driven software development
https://kiro.dev/blog/kiro-and-the-future-of-software-development/


That’s why we’re rethinking specifications — not as static documents, but as living, executable artifacts that evolve with the project.

仕様書を静的な文書ではなく、プロジェクトと共に進化する生きた実行可能な成果物として捉え直しています。

Spec-driven development with AI: Get started with a new open source toolkit
https://github.blog/ai-and-ml/generative-ai/spec-driven-development-with-ai-get-started-with-a-new-open-source-toolkit/


すなわち「Spec(仕様)は静的な文章ではなく、あくまで人間とAIが相互に扱えるプロンプトである」という訳です。

Appendix.Specへのレビューについての覚書

余談ですが、この種のSpecに対して過剰なレビューをする動きがありますが、個人的にはあまり推奨できません。ドキュメントと実装の二重管理というウォーターフォール開発での負の部分を想起させるためです。仕様とテストケースについては厚くレビューしつつ、中間生成物については優先度を下げるなど、メリハリのついたレビューのプラクティスが2026年以降に現れることを期待しています。

Spec KitはKiro CLIに対応していない

前置きが長かったですが、本ブログの本題に移っていきます。Spec Kitは複数のコーディングエージェントに対応していますが、2025/12/11現在、Kiro CLIには対応していません。Kiro側でもそのうち仕様駆動開発の機能は実装されるかもしれないですが、複数のエージェントで同じSpecの仕様を利用したい場合はこれを満たせません。

スクリーンショット 2025-12-11 115041.png

これは前身のAmazon Q Developer CLIからの課題であり、「Amazon Q Developer CLIは、スラッシュコマンドのカスタム引数をサポートしていません。」とある点がネックになっているようです。

Spec Kitはどのように実装されているか

なぜ「スラッシュコマンドのカスタム引数をサポートしていない」という一点が、現状のSpec KitとKiro CLIの間でボトルネックになるのでしょうか? Spec Kitの動きについても、おさらいしてみましょう。

Spec Kitではspecify CLIを使って、プロジェクトに各種スクリプトを配置し、各コーディングエージェントからそのスクリプトを叩く、という2段構えの構成になっています。

もう少し具体的に表現します。カスタムスラッシュコマンドに対応するエージェントでは、.github/agents/(GitHub Copilot)や.claude/commands/(Claude Code)など、ユーザ管理のスラッシュコマンドを配置して利用できる仕組みが用意されています。Spec Kitはその機能に「間借り」する形で、/speckit.specify/speckit.tasksといったスラッシュコマンドを定義し、このコマンドが内部で.specify/scripts配下のスクリプトを呼び出す、という構造になっています。

Amazon Q Developer CLIでの「カスタムスラッシュコマンド」実装の状況

実はAmazon Q Developer CLIでも「カスタムスラッシュコマンド」相当の機能であるPromptsは存在しています。

公式ドキュメントにもあるように、~/.aws/amazonq/promptsに保存されたプロンプトを「@」付きでこのように呼び出せます。

@Create_sequence_diagram using the files in the @lib folder

一見すると引数を使えているように見えますが、これは明確に異なります。このプロンプトを展開するとこのようになります。

<@Create_sequence_diagram> + "using the files in the" + <@libで参照したパス> + "folder"

つまり「Create_sequence_diagram」の本文に、以降の文字列を動的に埋め込めてはいません。よって間借りするための機能が用意されていない以上、Amazon Q Developer CLIではSpec Kitは動作しないという訳です。

この「カスタムスラッシュコマンド」未実装問題については、Amazon Q Developer CLI時代にGitHubでIssueは上げられていました。

Pull Requestもありましたが、Openのままでした。

Kiro CLIでの「カスタムスラッシュコマンド」実装の状況

後継のKiro CLIについてはどうでしょうか? 新しいドキュメントを確認します。

MCP server prompts can accept arguments to customize their behavior. File-based prompts (local and global) do not support arguments.

とあるように、引数に対応しているのは「MCPサーバ用」のみであって、ローカル・グローバルでは動作しないように見えます。

Pull Requestはあるのですが、どうもローカル・グローバルで動くように書かれており、ちょっと微妙なステータスです。仮にAmazonの従業員で、PR外のコミュニケーションをしている可能性も無くはないですが、期待半分くらいに留めておきましょう。

まとめ

長々と書いてきましたが、以下の2点だけ覚えれば良さそうです。

  • 現状クローズド開発のKiro CLIが主体になり、Amazon Q Developer CLIはメンテナンスフェーズである。
  • Spec Kitは「引数付きカスタムコマンド」が前提だが、Kiro CLIでも未整備のためしばらく利用不可。

引数付きカスタムコマンドもそうですが、KiroのSpecモードが移植されると部分的には良くなると思うので、引き続きKiro CLIには期待していきたいところですね。

明日は@natsu22さんの記事です。内容はYellowfin系の記事とのことです。

6
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?