From 5dcf150855f58a53dcedcdea384ac1891a69848f Mon Sep 17 00:00:00 2001 From: "takemi.ohama" Date: Thu, 6 Aug 2026 01:54:46 +0000 Subject: [PATCH] =?UTF-8?q?Fix:=20Kiro=E7=89=88NDF=E3=82=A8=E3=83=BC?= =?UTF-8?q?=E3=82=B8=E3=82=A7=E3=83=B3=E3=83=88=E3=81=ABtools=E5=AE=A3?= =?UTF-8?q?=E8=A8=80=E3=82=92=E8=BF=BD=E5=8A=A0=20(v4.20.1)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Kiro CLI は tools を宣言していない agent config を、ツールを1つも持たない エージェントとして読み込む。installer が生成する default エージェントには tools が無く、skill が SKILL.md を読むことも git / gh を実行することも できない状態だった。skill 一覧の表示は動くため、一見正常に見えていた。 - agents/default.json.template に "tools": ["*"] を追加 - runtime smoke test に tools 宣言の検査を追加。従来はファイルの生成有無 しか見ておらず、この欠落を検出できなかった 検証: - tools を外した状態で smoke test が exit 1 になることを確認 - 修正版 installer で生成したエージェントが 13 ツールを持ち、symlink 越しの SKILL.md 読み込みと git コマンド実行が動作することを kiro-cli 2.16.1 で確認 Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01Wa3ZT8WCqEDTyybpZ6Zncw --- .claude-plugin/marketplace.json | 2 +- AGENTS.md | 2 +- README.md | 9 +++++++-- plugins/ndf-claude/.claude-plugin/plugin.json | 2 +- plugins/ndf-codex/.codex-plugin/plugin.json | 2 +- plugins/ndf-kiro/agents/default.json.template | 3 +++ tests/runtime-smoke/assertions/assert-plugin-files.sh | 9 +++++++++ 7 files changed, 23 insertions(+), 6 deletions(-) diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index b3877ae..b18c11b 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -9,7 +9,7 @@ { "name": "ndf", "source": "./plugins/ndf-claude", - "description": "Claude Code plugin (v4.20.0): 8 specialized agents, focused NDF skills for PR/review workflows, implementation planning, plan-to-spec, browser smoke testing, statusline, Codex CLI delegation, transcript retention guard, default statusline setup, and optional Slack notifications." + "description": "Claude Code plugin (v4.20.1): 8 specialized agents, focused NDF skills for PR/review workflows, implementation planning, plan-to-spec, browser smoke testing, statusline, Codex CLI delegation, transcript retention guard, default statusline setup, and optional Slack notifications." }, { "name": "mcp-playwright", diff --git a/AGENTS.md b/AGENTS.md index d81e177..61f3369 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -72,7 +72,7 @@ ai-plugins/ ## NDFプラグインについて -**NDFプラグイン**は、このマーケットプレイスの主要プラグインです(v4.20.0)。plugin 名は全ランタイムで `ndf` を維持し、配布物は `plugins/ndf-claude` / `plugins/ndf-codex` / `plugins/ndf-kiro` に分離しています。 +**NDFプラグイン**は、このマーケットプレイスの主要プラグインです(v4.20.1)。plugin 名は全ランタイムで `ndf` を維持し、配布物は `plugins/ndf-claude` / `plugins/ndf-codex` / `plugins/ndf-kiro` に分離しています。 - 共通編集元は `plugins/ndf-shared/` - Claude Code版は 8個の専門サブエージェント、公開Skills、SessionStart/Stopフックを提供 - Codex版は Codex向け公開Skillsと任意Slack通知hookを提供 diff --git a/README.md b/README.md index 2d254ea..97a6176 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ Claude Code / Codex / Kiro CLI向けのスキル・MCP設定を共有するた このマーケットプレイスは、チーム全体でAI開発ツール(Claude Code / Codex / Kiro CLI)の導入を加速するための事前設定されたプラグインを提供します。 -**NDFプラグイン v4.20.0** は、同じ `ndf@ai-plugins` という名前で Claude Code / Codex / Kiro CLI へ配布されるランタイム別プラグインです。共通ソースは `plugins/ndf-shared/` に集約し、利用者が install する配布物は `plugins/ndf-claude/` / `plugins/ndf-codex/` / `plugins/ndf-kiro/` に分かれています。 +**NDFプラグイン v4.20.1** は、同じ `ndf@ai-plugins` という名前で Claude Code / Codex / Kiro CLI へ配布されるランタイム別プラグインです。共通ソースは `plugins/ndf-shared/` に集約し、利用者が install する配布物は `plugins/ndf-claude/` / `plugins/ndf-codex/` / `plugins/ndf-kiro/` に分かれています。 - **公開Skills**: Claude Code向け core 29個、Kiro向け core 28個、Codex向け core 30個に分離。 - **元Skills(49個)**: @@ -100,7 +100,12 @@ kiro-cli chat | プラグイン名 | バージョン | 説明 | 詳細 | |------------|----------|------|------| -| **ndf** | 4.20.0 | Claude Code / Codex / Kiro CLI 向けに runtime 別配布物を提供する NDF プラグイン。8個の専門エージェント(Claude版)、公開Skills(Claude Code向け core 29個、Kiro向け core 28個、Codex向け core 30個)、Claude SessionStart/Stopフック、Codex/Kiro向け通知・実行補助を提供。v4.0.0 で Codex MCP サーバを廃止し、`/ndf:codex` skill + `corder` エージェント経由の CLI 直接実行に一本化。 | [Claude](./plugins/ndf-claude/README.md) / [Codex](./plugins/ndf-codex/README.md) / [Kiro](./plugins/ndf-kiro/README.md) | +| **ndf** | 4.20.1 | Claude Code / Codex / Kiro CLI 向けに runtime 別配布物を提供する NDF プラグイン。8個の専門エージェント(Claude版)、公開Skills(Claude Code向け core 29個、Kiro向け core 28個、Codex向け core 30個)、Claude SessionStart/Stopフック、Codex/Kiro向け通知・実行補助を提供。v4.0.0 で Codex MCP サーバを廃止し、`/ndf:codex` skill + `corder` エージェント経由の CLI 直接実行に一本化。 | [Claude](./plugins/ndf-claude/README.md) / [Codex](./plugins/ndf-codex/README.md) / [Kiro](./plugins/ndf-kiro/README.md) | + +### NDF v4.20.1 の主な変更 + +- Kiro CLI 版のエージェント定義に `tools` を宣言しました。未宣言のままでは Kiro CLI がツールを1つも持たないエージェントとして読み込むため、skill が SKILL.md を読むことも git / gh を実行することもできませんでした。 +- runtime smoke test に、生成された Kiro エージェント定義が `tools` を宣言しているかの検査を追加しました。従来はファイルの生成有無しか見ておらず、この欠落を検出できませんでした。 ### NDF v4.20.0 の主な変更 diff --git a/plugins/ndf-claude/.claude-plugin/plugin.json b/plugins/ndf-claude/.claude-plugin/plugin.json index 435d514..1dfb737 100644 --- a/plugins/ndf-claude/.claude-plugin/plugin.json +++ b/plugins/ndf-claude/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "ndf", - "version": "4.20.0", + "version": "4.20.1", "description": "Claude Code plugin with 8 specialized agents, focused NDF skills for PR/review workflows, implementation planning, debugging principles, statusline, browser smoke testing, Codex CLI delegation, transcript retention guard, default statusline setup, and optional Slack notifications.", "author": { "name": "takemi-ohama", diff --git a/plugins/ndf-codex/.codex-plugin/plugin.json b/plugins/ndf-codex/.codex-plugin/plugin.json index 85c3e74..806a9c3 100644 --- a/plugins/ndf-codex/.codex-plugin/plugin.json +++ b/plugins/ndf-codex/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "ndf", - "version": "4.20.0", + "version": "4.20.1", "description": "Codex plugin with focused NDF skills for PR/review workflows, cross-review, implementation planning, Playwright testing, Docker container access, GitHub operations, and optional Slack completion notifications.", "skills": "./skills/", "hooks": "./hooks/hooks.json" diff --git a/plugins/ndf-kiro/agents/default.json.template b/plugins/ndf-kiro/agents/default.json.template index 4d83a2f..59bcc0c 100644 --- a/plugins/ndf-kiro/agents/default.json.template +++ b/plugins/ndf-kiro/agents/default.json.template @@ -1,6 +1,9 @@ { "name": "default", "description": "NDF統合開発エージェント(Kiro CLI用)", + "tools": [ + "*" + ], "resources": [ "file://AGENTS.md", "file://README.md", diff --git a/tests/runtime-smoke/assertions/assert-plugin-files.sh b/tests/runtime-smoke/assertions/assert-plugin-files.sh index 869fca1..b205ad7 100755 --- a/tests/runtime-smoke/assertions/assert-plugin-files.sh +++ b/tests/runtime-smoke/assertions/assert-plugin-files.sh @@ -20,6 +20,15 @@ case "$runtime" in ;; kiro) test -f "$PROJECT_DIR/.kiro/agents/default.json" + # tools が未宣言だと Kiro CLI はツールなしのエージェントとして読み込み、 + # skill が SKILL.md を読むことも git / gh を実行することもできなくなる。 + python3 -c ' +import json, sys +config = json.load(open(sys.argv[1])) +tools = config.get("tools") +if not tools: + sys.exit("agent config declares no tools: " + sys.argv[1]) +' "$PROJECT_DIR/.kiro/agents/default.json" find -L "$PROJECT_DIR/.kiro/skills" -path '*/SKILL.md' -print | grep -q . test -f "$PROJECT_DIR/.kiro/prompts/pr.md" test -L "$PROJECT_DIR/.kiro/mcp_runtime/mcp-bigquery"