
Kiro CLI v3(Early Access)のQuick Specを試してみた
はじめに
Kiro CLI v3のEarly Accessが公開されました。既存のKiro CLI 2.xに --v3 フラグを付けるだけで、新しいエンジンを試すことができます。
本記事は公開されている公式ドキュメントおよび筆者の検証結果に基づいています。
v3では複数の新機能が導入されていますが、主な変更点は以下のとおりです。
| 項目 | v2 | v3 |
|---|---|---|
| 開発ワークフロー | チャット中心 | チャットに加え、Spec-driven development(要件→設計→タスク)を利用可能 |
| 権限モデル | ツール個別信頼(--trust-all-tools) |
capability-based permissions(permissions.yaml) |
| Hooks | エージェント設定に埋め込み | 独立ファイル(.kiro/hooks/*.json)、新トリガー |
| エンジン | CLI 固有 | IDE / ウェブ と統一エンジン |
| ヘッドレスモード | 対応 | 非対応(TUI 必須) |
本記事では、v3の目玉機能である Spec-driven development の中から、最も手軽に試せる Quick Spec にフォーカスして検証しました。
検証内容
検証環境
- Kiro CLI 2.8.0(
kiro-cli --v3でv3エンジンを起動) - Linux
v3 の起動
kiro-cli --v3
以下のTUIが起動しました。
Welcome to the new Kiro CLI UX! /feedback for thoughts.
Prefer the classic experience? Relaunch with kiro-cli --classic.
Default · Claude Opus 4.6 · High · ◔ 1%
Quick Spec の作成
Quick Specは /spec new → 質問応答 → 3ドキュメント自動生成 → タスク実行という流れで進みます。
/spec new コマンドでSpecの作成を開始しました。
> /spec new hello1
エージェントから新機能・バグ修正・Quick Specのいずれかを聞かれます。ここで Quick Spec を選択しました。
Is this a new feature or a bugfix?
Build a Feature
Fix a Bug
❯ Quick Spec
Quick Specは、詳細な対話フローを短縮し、要件・設計・タスクのSpecを素早く生成するモードです。Build a Feature(より詳細な要件定義フロー)やFix a Bug(バグ修正特化)も用意されています。
質問フロー
Quick Specを選択すると、機能の内容を把握するための質問が続きました。
何を作るか:
What should "hello1" do?
❯ Hello World CLI app
Hello World Web app
Something else
Skip questions
→ Hello World CLI app を選択
言語の選択:
What programming language would you like to use for this CLI app?
TypeScript
❯ Python
Go
Skip remaining questions
→ Python を選択
挙動の選択:
Should the CLI accept a user's name as input to personalize the greeting, or just
print a fixed "Hello, World!" message?
Fixed greeting only
Accept a name argument
❯ Both (default + optional name)
→ Both (default + optional name) を選択
質問は計5つで、選択肢が提示される形式でした。選択肢を選ばず自由記述で答えることも可能です。
権限確認
Quick Specの実行中、サブエージェントの呼び出しやツール使用に対して権限確認が表示されました。
Invoke Agent requires approval
subagent → fast-task-workflow
Allow
❯ Always allow
Deny
Always deny
さらに、サブエージェント内のツール使用にも承認が求められます。
⚠ 1 tool approval pending from subagents
(a) Approve all pending
❯ (f) Approve all pending and auto-approve all future requests
(c) Configure individually (agent monitor)
(x) Exit (cancel subagents)
今回のQuick Spec実行中に表示された承認フローは、次の2種類に分かれていました。
- サブエージェントの呼び出し自体の許可(Allow / Always allow / Deny / Always deny)
- サブエージェント内のツール使用の許可(個別承認 / 一括承認 / 自動承認)
今回の検証では、Spec生成中に権限確認が計7回表示されました。検証用ディレクトリでの作業だったため Always allow と (f) auto-approve を選択して進めました。
Spec の生成
権限を承認すると、エージェントがrequirements → design → tasksの順に3ドキュメントを自動生成しました。
Now I'll generate the requirements, design, and tasks documents.
Requirements generated. Now generating the design document.
Design generated. Now generating the task list.
生成完了後、タスクプランのサマリーが提示されます。
Here's the plan for hello1:
Implementation:
- Create hello.py — a single Python file that prints "Hello, World!" with no args,
"Hello, <name>!" with one arg, and shows a usage error on 2+ args.
Optional tests:
- Property test: any name produces the correct personalized greeting with exit 0
- Property test: 2+ arguments always trigger stderr + non-zero exit
- Unit tests for all three cases (no arg, one arg, too many args)
Final step: Verify all tests pass.
The core implementation is a single file with no external dependencies.
Here's your task plan. Want to adjust anything?
❯ Ready to execute the tasks?
I'd like to change something
ここで「I'd like to change something」を選べば修正できます。今回はタスクプランを変更せず確定しました。
Spec 生成の所要時間: 6分53秒
生成された成果物
.kiro/specs/hello1/ ディレクトリに3ファイルが生成されました。
requirements.md(要件定義):
WHEN/SHALL形式の受け入れ基準が定義されています。
### Requirement 1: Default Greeting
- WHEN no Name Argument is provided, THE CLI SHALL print "Hello, World!" to standard output.
- WHEN no Name Argument is provided, THE CLI SHALL exit with a zero exit code.
### Requirement 2: Personalized Greeting
- WHEN a Name Argument is provided, THE CLI SHALL print "Hello, <name>!" to standard output.
- WHEN a Name Argument is provided, THE CLI SHALL exit with a zero exit code.
### Requirement 3: Single Positional Argument
- THE CLI SHALL accept zero or one positional command-line argument.
- IF more than one positional argument is provided, THEN THE CLI SHALL display a usage
error message to standard error and exit with a non-zero exit code.
design.md(設計):
データフロー、実装コード例、正当性プロパティ(Property-based testingの対象)が含まれています。
sys.argv → validate arg count → branch:
- 0 extra args → print "Hello, World!" → exit 0
- 1 extra arg → print "Hello, {name}!" → exit 0
- 2+ extra args → print usage error to stderr → exit 1
tasks.md(タスク計画):
チェックボックス付きのタスク一覧で、各タスクが要件にトレースされています。
- [ ] 1.1 Create hello.py with argument parsing and greeting logic
- _Requirements: 1.1, 1.2, 2.1, 2.2, 3.1, 3.2_
- [ ]* 1.2 Write property test for personalized greeting format
- [ ]* 1.3 Write property test for excess arguments error
- [ ]* 1.4 Write unit tests for default and personalized greetings
- [ ] 2. Final checkpoint — Ensure all tests pass
今回生成された tasks.md では、* 付きのタスクがオプション(MVPでは省略可)として記載されており、タスク間の依存関係も定義されていました。
タスクの実行
Spec生成後、自然言語でタスク実行を指示しました。
> tasks.md のタスク 1.1 を実行して
エージェントがtasks.mdを読み込み、spec-task-execution サブエージェントが起動しました。
実行結果:
タスク 1.1 完了です。hello.py をワークスペースルートに作成しました:
import sys
def main():
args = sys.argv[1:]
if len(args) > 1:
print("Usage: python hello.py [name]", file=sys.stderr)
sys.exit(1)
name = args[0] if args else "World"
print(f"Hello, {name}!")
if __name__ == "__main__":
main()
動作確認済み:
- python hello.py → Hello, World! (exit 0)
- python hello.py Alice → Hello, Alice! (exit 0)
- python hello.py a b → usage error on stderr (exit 1)
エージェントが実装後に動作確認まで行い、3パターンすべてがrequirementsの受け入れ基準を満たすことを出力で報告しました。
タスク実行の所要時間: 1分11秒
注意事項
- v3はヘッドレスモード(
--no-interactive)に対応していません。TUIでの操作が必須です - v3で作成したセッションはv2では再開できません。
~/.kiro/sessions/のバックアップを推奨します - Amazon Linux 2では v3 は動作しませんでした(筆者環境での確認)
まとめ
Kiro CLI v3のQuick Specを使って、Hello World CLIアプリの要件定義から実装・動作確認まで試しました。今回の検証での所要時間は、Spec生成が6分53秒、タスク実行が1分11秒の合計約8分でした。質問数や所要時間は検証の題材や環境によって変わります。
Quick Specは最も軽量なモードですが、v3にはBuild a Feature(より詳細な構造化フロー)やFix a Bug(バグ修正特化)も用意されています。より複雑な機能開発では、これらのモードが力を発揮しそうです。
v3はまだEarly Accessであり、ヘッドレスモード非対応などの制約もあります。今後のアップデートでpermissions.yamlの活用やヘッドレス対応が進めば、CI/CDとの連携など活用の幅が広がりそうです。









