Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
{
"name": "ndf",
"source": "./plugins/ndf",
"description": "Claude Code plugin (v10.16.1): 8 specialized agents and 45 focused NDF skills for PR/review workflows, cross-review, implementation planning, plan-to-spec, Docker container access, statusline, external AI delegation (Codex/agy), transcript retention guard, and optional Slack notifications.",
"description": "Claude Code plugin (v10.17.0-dev.1): 8 specialized agents and 45 focused NDF skills for PR/review workflows, cross-review, implementation planning, plan-to-spec, Docker container access, statusline, external AI delegation (Codex/agy), transcript retention guard, and optional Slack notifications.",
"policy": {
"installation": "AVAILABLE",
"authentication": "ON_INSTALL"
Expand Down
2 changes: 1 addition & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ ai-plugins/

## NDFプラグインについて

**NDFプラグイン**は、このマーケットプレイスの主要プラグインです(v10.16.1)。plugin 名は全ランタイムで `ndf` を維持し、配布物は `plugins/ndf/` の1ディレクトリにまとまっています。
**NDFプラグイン**は、このマーケットプレイスの主要プラグインです(v10.17.0-dev.1)。plugin 名は全ランタイムで `ndf` を維持し、配布物は `plugins/ndf/` の1ディレクトリにまとまっています。
- Skill の実体は `plugins/ndf/skills/` の1箇所。配布先は `plugins/ndf/manifests/*-skills.txt` が決める
- Claude Code版は 8個の専門サブエージェント、公開Skills、PreToolUse/SessionStart/Stopフックを提供
- Codex版は Codex向け公開Skillsと任意Slack通知hookを提供
Expand Down
20 changes: 20 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,26 @@
**開発版(接尾辞の付いた版)は載せない。** `9.8.0` は `9.8.0-dev.1` までしか出ておらず、
その内容は `10.0.0` で届いている。

## [ndf 10.17.0] - 2026-09-23

### 追加

- **PreToolUse hook `scripts/token-guard.sh` を足した(Claude Code だけ)**(#829 #830)。前景の Bash で
`while` / `until` のループの本体にある `sleep` と 5 秒を超える `sleep`、変わらないファイルの同じ範囲を
3 回続けて読む Read、文脈が 200,000 を超えた conductor が工程 Skill か持ち場の supervisor を起動することを、
理由の欄に代わりの手段を書いて止める。文脈量の拒否は起動ごとに 1 度で、同じ起動をもう一度行えば通る。
環境変数 `NDF_SLEEP_GUARD` / `NDF_SLEEP_MAX_SEC` / `NDF_READ_REPEAT_GUARD` / `NDF_READ_REPEAT_LIMIT` /
`NDF_CONTEXT_GUARD` / `NDF_CONTEXT_LIMIT` で止める・上限を変える
- **待ち方の規約 `development-workflow/references/waiting.md` を足した**(#829)。`agent-layers.md` の
supervisor / worker の規則と、前景の待ちのループを持つ 4 文書(`cli-codex.md` / `cli-agy.md` /
`qa-security-scan/03-report-template.md` / `release/references/completion-check.md`)から指す

### 変更

- **`context-window.md` の「前提: 実測ではない」を #827 の実測値に置き換え、「上限を超えたら hook が止める」
「新しい会話で戻す」の節を足した**(#830)。`development-workflow/SKILL.md` に、4 つの切れ目で conductor が
引き継ぎの 1 行(`/ndf:development-workflow #<課題>`)を出す規約を足した

## [ndf 10.16.1] - 2026-09-22

### 修正
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Claude Code / Codex / Kiro CLI / agy 向けのスキル・MCP設定を共有す

このマーケットプレイスは、チーム全体でAI開発ツール(Claude Code / Codex / Kiro CLI / agy)の導入を加速するための事前設定されたプラグインを提供します。

**NDFプラグイン v10.16.1** は、同じ `ndf@ai-plugins` という名前で Claude Code / Codex / Kiro CLI / agy へ配布されるプラグインです。配布物は `plugins/ndf/` の1ディレクトリにまとまっており、Skill の実体は `plugins/ndf/skills/` の1箇所だけです。どのランタイムへ配るかは `plugins/ndf/manifests/*-skills.txt` が決めます。
**NDFプラグイン v10.17.0-dev.1** は、同じ `ndf@ai-plugins` という名前で Claude Code / Codex / Kiro CLI / agy へ配布されるプラグインです。配布物は `plugins/ndf/` の1ディレクトリにまとまっており、Skill の実体は `plugins/ndf/skills/` の1箇所だけです。どのランタイムへ配るかは `plugins/ndf/manifests/*-skills.txt` が決めます。

- **公開Skills**: Claude Code向け core 45個、Kiro向け core 44個、Codex向け core 43個、agy向け core 43個に分離。
- **元Skills(45個)**:
Expand Down Expand Up @@ -110,7 +110,7 @@ hook を効かせる手順と、新しい版へ入れ替える手順は

| プラグイン名 | バージョン | 説明 | 詳細 |
|------------|----------|------|------|
| **ndf** | 10.16.1 | Claude Code / Codex / Kiro CLI / agy へ 1 ディレクトリから配布する NDF プラグイン。8個の専門エージェント(Claude版)、公開Skills(Claude Code向け core 45個、Kiro向け core 44個、Codex向け core 43個、agy向け core 43個)、4ランタイム共通の作業ツリー運用フック(PreToolUse / SessionStart / userPromptSubmit / agentSpawn / PreInvocation)、Claude Stopフック、Codex/Kiro向け通知・実行補助を提供。v4.0.0 で Codex MCP サーバを廃止し、`/ndf:external-ai` skill + `corder` エージェント経由の CLI 直接実行に一本化。 | [README](./plugins/ndf/README.md) |
| **ndf** | 10.17.0-dev.1 | Claude Code / Codex / Kiro CLI / agy へ 1 ディレクトリから配布する NDF プラグイン。8個の専門エージェント(Claude版)、公開Skills(Claude Code向け core 45個、Kiro向け core 44個、Codex向け core 43個、agy向け core 43個)、4ランタイム共通の作業ツリー運用フック(PreToolUse / SessionStart / userPromptSubmit / agentSpawn / PreInvocation)、Claude Stopフック、Codex/Kiro向け通知・実行補助を提供。v4.0.0 で Codex MCP サーバを廃止し、`/ndf:external-ai` skill + `corder` エージェント経由の CLI 直接実行に一本化。 | [README](./plugins/ndf/README.md) |
| **playwright-kit** | 2.0.3 | Playwright による E2E テストの計画・実装・証跡管理を提供するプラグイン。ページ役割からのテスト計画、動画 / trace 付きスクリプト実装、レポート生成と Drive 保管、playwright_kit ランタイム(init、a11y / CWV スキャン)の 4 Skill。NDF v7.0.0 で分離。 | [README](./plugins/playwright-kit/README.md) |

### 変更履歴
Expand Down
22 changes: 21 additions & 1 deletion docs/ndf-version-decisions.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# NDF の版ごとの決定と理由(v10.12.0〜v10.16.1
# NDF の版ごとの決定と理由(v10.12.0〜v10.17.0

`CLAUDE.md` から移した、出た版の記録である。**その版で何を決め、なぜそう決めたか**を残す。
変更点の列挙は `CHANGELOG.md` にあり、こちらは判断の理由を持つ。**`CLAUDE.md` へ書くのは
Expand Down Expand Up @@ -257,3 +257,23 @@ claude の旧い形は記録にも実行ファイルにも 0 件のため足し
ときも、理由は「実行できない」として出す** ── Python の起動は「見つからない」と「実行権が無い」を
同じ例外で返し、見分けるには検索のパスを自分で辿り直すことになって、確認を 1 つ走らせる関数の範囲を
超える。理由に権限の拒否が出れば、利用者は検索のパスとファイルの権限を見ればよい。

v10.17.0 で待つ間の問い合わせと、長い conductor の会話を止めた(マイルストーン 26「17 トークン消費の
削減」のまとまり 1、#829 #830)。確定仕様は
[ndf-token-waits-and-context-cut.md](specifications/ndf-token-waits-and-context-cut.md) にある。

**規定を書くだけでは守られなかったため、hook で止める**(#829 #830)。`context-window.md` は以前から
「遅くとも 20 万で切る」と定めていたが、#827 の実測で守られていなかった。Claude Code 本体の前景の
`sleep` の制限もサブエージェントには掛からない。**止めるのはループの本体の `sleep` と 5 秒を超える
`sleep` だけにする** ── 前景の `sleep` の費用の 87% がループの中にあり、ループの外の短い間と `for` の
照会の間隔には代わりの手段が無い。**連続 Read は「空」ではなく「変わっていない」で見る** ── hook は
実行の前に呼ばれ、読んだ中身を知らない。

**文脈量の拒否は起動ごとに 1 度にし、同じ起動の 2 回目を通す**(#830)。毎回拒否すると続けると
決めた利用者が同じ工程をやり直せず、会話ごとに 1 度にすると以後の切れ目で止まらない。案内だけを
足す形は、規定が読み流された実測があるため採らない。**引き継ぎの 1 行は `development-workflow` を
起動する形にする** ── 工程 Skill はモード・作業ツリー・承認の状態を戻す手順を持たない。

**hook は Claude Code にだけ置く**(#829 #830)。代わりの待ち方(`run_in_background` の通知と
`Monitor`)と文脈量を読む記録を持つのが Claude Code だけで、#827 の実測も Claude Code の記録だけで
ある。Codex / Kiro / agy は規約と引き継ぎの 1 行で守り、CLI 側の消費を測った後に改めて決める。
12 changes: 6 additions & 6 deletions docs/versioning-and-distribution.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,15 +57,15 @@ semver の順序で除外されるのは、プラグイン間の依存解決(`

| 版 | 形 | 意味 |
| --- | --- | --- |
| 正式版 | `10.16.1` | 利用者が常用してよい |
| 開発版 | `10.17.0-dev.1` | 検証中。入れたくない利用者は取得を控えられる |
| 公開前の確認版 | `10.17.0-rc.1` | 正式版の候補。残るのは確認だけ |
| 正式版 | `10.17.0` | 利用者が常用してよい |
| 開発版 | `10.18.0-dev.1` | 検証中。入れたくない利用者は取得を控えられる |
| 公開前の確認版 | `10.18.0-rc.1` | 正式版の候補。残るのは確認だけ |

- 接尾辞は**次に出す正式版の版数へ付ける**。`10.16.1` の次を開発するなら `10.17.0-dev.1`
- 接尾辞は**次に出す正式版の版数へ付ける**。`10.17.0` の次を開発するなら `10.18.0-dev.1`
- 連番は開発版を出すたびに増やす。**同じ版数で中身を差し替えない**。差し替えると、利用者の
手元にある版と `main` の版が同じ番号で別物になり、何を確かめたのかが分からなくなる
- **正式版を出すときは接尾辞を外す。** `10.17.0-dev.3` の次は `10.17.0`
- 順序は semver に従い `10.17.0-dev.1` < `10.17.0-rc.1` < `10.17.0` になる
- **正式版を出すときは接尾辞を外す。** `10.18.0-dev.3` の次は `10.18.0`
- 順序は semver に従い `10.18.0-dev.1` < `10.18.0-rc.1` < `10.18.0` になる

## ランタイムごとの取得と導入

Expand Down
4 changes: 2 additions & 2 deletions plugins/ndf/.claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "ndf",
"version": "10.16.1",
"description": "Claude Code plugin (v10.16.1): 8 specialized agents and 45 focused NDF skills for PR/review workflows, cross-review, implementation planning, plan-to-spec, Docker container access, statusline, external AI delegation (Codex/agy), transcript retention guard, and optional Slack notifications.",
"version": "10.17.0-dev.1",
"description": "Claude Code plugin (v10.17.0-dev.1): 8 specialized agents and 45 focused NDF skills for PR/review workflows, cross-review, implementation planning, plan-to-spec, Docker container access, statusline, external AI delegation (Codex/agy), transcript retention guard, and optional Slack notifications.",
"author": {
"name": "takemi-ohama",
"url": "https://github.com/takemi-ohama"
Expand Down
4 changes: 2 additions & 2 deletions plugins/ndf/.codex-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "ndf",
"version": "10.16.1",
"description": "Codex plugin (v10.16.1): 43 focused NDF skills for PR/review workflows, cross-review, implementation planning, plan-to-spec, Docker container access, external AI delegation (Codex/agy), and optional Slack completion notifications.",
"version": "10.17.0-dev.1",
"description": "Codex plugin (v10.17.0-dev.1): 43 focused NDF skills for PR/review workflows, cross-review, implementation planning, plan-to-spec, Docker container access, external AI delegation (Codex/agy), and optional Slack completion notifications.",
"skills": [
"./skills/cherry-pick-pr",
"./skills/cross-refactoring",
Expand Down
31 changes: 15 additions & 16 deletions plugins/ndf/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ bash plugins/ndf/dev.kiro/install.sh --dry-run

```bash
python3 -c "import json;print(json.load(open('.kiro/agents/ndf.json'))['description'])"
# => NDF統合開発エージェント(Kiro CLI用 / v10.16.1)
# => NDF統合開発エージェント(Kiro CLI用 / v10.17.0-dev.1)
```

### agy
Expand Down Expand Up @@ -119,21 +119,20 @@ agy plugin list
# => {"imports":[{"name":"ndf","source":"antigravity","components":["skills","agents","hooks"]}]}
```

## v10.16.1 へ更新するとき
## v10.17.0-dev.1 へ更新するとき

**収束ループが、codex と claude の利用上限で止まった担当を起動し直さなくなり、読めない
ディレクトリを含む `PATH` でも始まるようにしました**(マイルストーン 17「10.16.0 のリリース後
テストで不合格だった条件」、#811 #813)。Skill の数は変わりません。引数・Skill・スクリプトの
削除や改名は無く、記録の移行も要りません(前の版で始めた状態ファイルはそのまま読めます)。
変更点の一覧は [CHANGELOG.md](../../CHANGELOG.md) にあります。
**Claude Code で、待つ間の繰り返しの問い合わせと、文脈が上限を超えた conductor の工程の起動を
hook が止めるようにしました**(マイルストーン 26「17 トークン消費の削減」、#829 #830)。Skill の数は
変わりません。引数・Skill・スクリプトの削除や改名は無く、記録の移行も要りません。Codex / Kiro / agy の
hook は変わりません。変更点の一覧は [CHANGELOG.md](../../CHANGELOG.md) にあります。

**正式版です。** `main` に載ります。中身は開発版 `10.16.1-dev.1` と同じで、版数の接尾辞だけを
外しました
**開発版です。** `develop` にだけ載ります。取得元へ `#develop` を足す手順は
[docs/versioning-and-distribution.md の「開発版を試す」](../../docs/versioning-and-distribution.md#開発版を試す)にあります

| 変わったこと | 中身 |
| --- | --- |
| **codex と claude の利用上限を理由として報告します**(#811) | 担当が利用上限で止まったときの実物の文言(codex の 2 形・claude の 5 形)を照合に足しました。理由が「結果ファイル無し」ではなく「利用上限」になり、同じラウンドで起動し直しません。行頭で始まる行だけを読むため、担当が差分や文書を読み上げた行では止まりません |
| **読めないディレクトリを含む `PATH` でも始まります**(#813) | 認証の確認が、確認コマンドを起動できない理由(権限の拒否・実行形式でないファイル)を「通らない」として返します。`PATH` に読めないディレクトリがあり、CLI が 1 者欠けている環境でも、2 つの開始の手順は終了コード 0 で終わり、使える者だけで始まります |
| **前景の `sleep` の待ちと、変わらないファイルの読み直しを止めます**(#829) | `while` / `until` のループの本体にある `sleep` と 5 秒を超える `sleep`、同じファイルの同じ範囲を変わらないまま 3 回続けて読む Read を、理由の欄に代わりの待ち方(`run_in_background: true` で起動して完了通知を待つ / `Monitor`)を書いて止めます。待ち方の規約は `development-workflow/references/waiting.md` にあります。`NDF_SLEEP_GUARD=0` / `NDF_READ_REPEAT_GUARD=0` で止められます |
| **文脈が 200,000 を超えた conductor の工程の起動を 1 度止めます**(#830) | 工程 Skill か持ち場の supervisor を起動すると、新しい会話で打つ 1 行(`/ndf:development-workflow #<課題>`)を示して止めます。このまま続けるなら同じ起動をもう一度行えば通ります。`NDF_CONTEXT_GUARD=0` で止め、`NDF_CONTEXT_LIMIT` で上限を変えられます |

正式版のチャネル(ref を指定せずに登録した取得元)なら、次で入れ替わります。**動いているセッションには
反映されない**ため、更新したあとは起動し直してください。開発版を試すために `develop` を登録した
Expand All @@ -156,8 +155,8 @@ codex plugin add ndf@ai-plugins
にあります。

```bash
grep -q "You\['’\]ve hit your" "$SCRIPTS/lib/monitor.py"; echo "exit=$?" # 0 なら codex と claude の上限の文言を読む
grep -q 'except OSError' "$SCRIPTS/lib/auth.py"; echo "exit=$?" # 0 なら起動できない確認コマンドで落ちない
grep -q 'token-guard.sh' "$SCRIPTS/../hooks/claude.json"; echo "exit=$?" # 0 なら hook が登録されている
test -f "$SCRIPTS/../skills/development-workflow/references/waiting.md"; echo "exit=$?" # 0 なら待ち方の規約がある
```

## Playwright テストについて
Expand Down Expand Up @@ -322,7 +321,7 @@ agy models # 認証の確認

```text
# 動く: 実体パスを示して読ませる
~/.codex/plugins/cache/ai-plugins/ndf/10.16.1/skills/deploy/SKILL.md を読んで、その手順どおりに qa/staging へ deploy PR を作成してください。
~/.codex/plugins/cache/ai-plugins/ndf/10.17.0-dev.1/skills/deploy/SKILL.md を読んで、その手順どおりに qa/staging へ deploy PR を作成してください。

# 動かない: 明示起動 ($ は展開されない)
$deploy qa/staging
Expand All @@ -344,14 +343,14 @@ marketplace 経由でインストールした場合、Skill の実体は **ワ
```text
$CODEX_HOME/plugins/cache/<marketplace>/<plugin>/<version>/skills/<skill>/SKILL.md
# 既定 ($CODEX_HOME=~/.codex) の例:
# ~/.codex/plugins/cache/ai-plugins/ndf/10.16.1/skills/deploy/SKILL.md
# ~/.codex/plugins/cache/ai-plugins/ndf/10.17.0-dev.1/skills/deploy/SKILL.md
```

そのため「`deploy` の SKILL.md を探して読んで」のような曖昧な依頼は、Codex のファイル探索がワークスペース内に限られる状況では失敗しえます。**抑止した Skill は `$<skill 名>` が展開されない**ので、`codex plugin list` で実体パスを確認し、絶対パスを渡してください。

```bash
codex plugin list | grep 'ndf@ai-plugins'
# => ndf@ai-plugins installed, enabled 10.16.1 <path>
# => ndf@ai-plugins installed, enabled 10.17.0-dev.1 <path>
```

抑止していない Skill(`markdown-writing` など)はキャッシュ配下でも `$<skill 名>` で解決するため、そちらは `$` 起動が使えます。
Expand Down
4 changes: 2 additions & 2 deletions plugins/ndf/dev.agy/plugin.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"name": "ndf",
"version": "10.16.1",
"description": "Antigravity CLI plugin (v10.16.1): 43 focused NDF skills for PR/review workflows, cross-review, implementation planning, plan-to-spec, Docker container access, external AI delegation, and worktree guidance hooks."
"version": "10.17.0-dev.1",
"description": "Antigravity CLI plugin (v10.17.0-dev.1): 43 focused NDF skills for PR/review workflows, cross-review, implementation planning, plan-to-spec, Docker container access, external AI delegation, and worktree guidance hooks."
}
Loading