はじめに
会社でAI-DLC (AI-Driven Development Lifecycle)の検証を進めるため、Kiroを利用して検証しようという流れになりました。
普段、CLIでAIエージェントツール (Claude Code)を利用することに慣れているため、KiroもCLIで利用しようと思い、
kiro-cliをインストールしたのですが、初期状態だと普段カスタムしているClaude Codeと使用感が違ったため、
kiro-cliでも寄せられないか調べてみました。
すべてを同一にするのではなく、個人的に気になった項目を記載していきます。
前提
-
kiro-cliを導入済み、または本記事の導入手順どおりにインストール可能な環境であること - 作業OS: Ubuntu
- 公式ドキュメント: Kiro CLI Docsを参照
kiro-cliで修正した項目
本記事では設定ファイル~/.kiro/settings/cli.jsonを直接編集していくスタイルで進めます。
(ファイルが存在しない場合は新規作成してください。)
キーはchat.defaultModelのような フラットなドット記法 (ネストしたオブジェクトではない)で記述します。
利用可能な全キーの一覧はkiro-cli settings list --allで確認できます。
1. モデル指定 (Opus相当の固定)
Kiro CLIでモデルを固定するには、以下の1行を追加します (例としてClaude Opus 4.6を指定)。
// ~/.kiro/settings/cli.json
{
"chat.defaultModel": "claude-opus-4.6"
}
2. Auto Compact相当を無効化
Kiro CLIではchat.disableAutoCompactionをtrueにすることで自動コンパクションがOFFになります。
// ~/.kiro/settings/cli.json
{
"chat.disableAutoCompaction": true
}
これでコンテキストが意図せず要約されて挙動が変わるのを防げます。
自動要約を無効化したぶん、文脈が満杯に近づいたら/clearで会話履歴をクリアして仕切り直す運用になります。
3. 常時Thinkingモード
Thinkingを常に有効にするには、以下の1行を追加します。
// ~/.kiro/settings/cli.json
{
"chat.enableThinking": true
}
ただし、Kiro CLIにはClaude CodeのeffortLevel: high/maxのような強度ノブはありません。
4. 権限Bypass相当
Claude Codeのpermissions.defaultMode: "bypassPermissions"相当は、Kiro CLIではchat.disableTrustAllConfirmationで実現できます。
trueにすると、起動時に出るトラスト確認ゲートをスキップしてすべてのツールを実行可能にできます。
// ~/.kiro/settings/cli.json
{
"chat.disableTrustAllConfirmation": true
}
5. コンテキスト使用量の確認
Kiro CLIのTUIモード (既定)では、プロンプト脇に◔ 1%のような形でコンテキスト使用率が常時表示されます。Claude CodeのstatusLine相当のインジケータが標準で備わっているため、追加設定なしでそのまま使えます。
より詳しく見たいときは、以下のスラッシュコマンドが用意されています。
-
/usage— 利用上限・進捗バーを表示 -
/context show— ファイル単位のトークン内訳を表示
6. 完成形のcli.json
ここまでの設定 (1〜4)をすべて適用すると、~/.kiro/settings/cli.jsonは最終的に以下のようになります。
// ~/.kiro/settings/cli.json
{
"chat.defaultModel": "claude-opus-4.6",
"chat.disableAutoCompaction": true,
"chat.enableThinking": true,
"chat.disableTrustAllConfirmation": true
}
プロジェクトガイドラインの移植: CLAUDE.md → .kiro/steering/
各プロジェクト直下のCLAUDE.mdを1枚で書いていた人は、Kiro CLIでは .kiro/steering/配下の複数ファイルに分割するのが公式推奨です。
基礎3ファイル (自動読込):
-
.kiro/steering/product.md— 製品概要 (旧CLAUDE.mdの冒頭を移植) -
.kiro/steering/tech.md— 技術スタック・コマンド (例:uv run pytest,ruff check) -
.kiro/steering/structure.md— ディレクトリ構成
例えばClaude CodeのプロジェクトCLAUDE.mdに書いていた以下のような内容は、
## 技術スタック
| カテゴリ | 技術 |
|---|---|
| 言語 | Python 3.12+ |
| パッケージ管理 | uv |
## 開発コマンド
- uv run pytest
- uv run ruff check .
そのまま.kiro/steering/tech.mdに移すだけで終わりです 。
Skillsの移植: .claude/skills/ → .kiro/skills/
Claude CodeのSkillsは、Kiro CLIでは以下に配置します。
- ワークスペース用:
.kiro/skills/<name>/SKILL.md - グローバル用:
~/.kiro/skills/<name>/SKILL.md
Kiro CLIのSkillsはClaude Codeと同じ Agent Skills標準 (AGENTS.md系) に準拠しており、SKILL.mdのfrontmatterにnameとdescriptionを書くのが基本です。
ただしKiro CLIではSkillsは 自動マッチ起動のみで、明示的な/skill <name>のような呼出構文はありません。
そのため、descriptionにユーザーの発話で現れそうな語彙を意図的に入れておくのがコツです。例えば「PDFのフォームを塗りつぶす」用のSkillなら、最小のSKILL.mdは次のような形になります。
---
name: pdf-form-fill
description: PDFフォームを自動で塗りつぶす / fill PDF forms
---
(本文に手順や前提を書く)
まとめ
AI-DLCの検証ではSpec機能を使わない方針のため、Kiro IDEではなくkiro-cliで進めることにしました。本記事の設定だけでも、Claude Codeに近い感覚で日常的に使えるレベルにはなっています。
今後AI-DLCでより踏み込んだ機能が必要になった場合は、kiro-cli単独ではなくClaude CodeやCodexでのAI-DLC実現方法も検討しようかなと思っています。。。