diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index 804511616..48c80873b 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -9,7 +9,7 @@ { "name": "ndf", "source": "./plugins/ndf", - "description": "Claude Code plugin (v10.20.0-dev.2): 8 specialized agents (plus 1 worker agent for the 3-layer workflow) and 48 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.20.0): 8 specialized agents (plus 1 worker agent for the 3-layer workflow) and 48 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" diff --git a/README.md b/README.md index 193ad065c..28e4d063d 100644 --- a/README.md +++ b/README.md @@ -67,7 +67,7 @@ Claude Code では `/ndf:` と打って呼びます。**Skill** は | プラグイン名 | バージョン | できること | 詳細 | | --- | --- | --- | --- | -| **ndf** | 10.20.0-dev.2 | 開発の作業手順(Skill)と専門のサブエージェント。4 つの AI ツールへ同じ名前で入る | [README](./plugins/ndf/README.md) | +| **ndf** | 10.20.0 | 開発の作業手順(Skill)と専門のサブエージェント。4 つの AI ツールへ同じ名前で入る | [README](./plugins/ndf/README.md) | | **playwright-kit** | 3.0.1 | Playwright による E2E テストの計画・スクリプト作成・証跡のレポート | [README](./plugins/playwright-kit/README.md) | 外部サービスへつなぐ MCP サーバーの設定のプラグインが 10 個あります(Claude Code / Codex / Kiro CLI 向け)。 @@ -88,7 +88,7 @@ Claude Code では `/ndf:` と打って呼びます。**Skill** は ### NDF プラグインの Skill の一覧 -**NDFプラグイン v10.20.0-dev.2** に入る Skill の数は、AI ツールごとに違います。 +**NDFプラグイン v10.20.0** に入る Skill の数は、AI ツールごとに違います。 Claude Code向け core 48個、Kiro向け core 45個、Codex向け core 44個、agy向け core 44個です。 元Skills(48個)の内訳は次のとおりです。 - Pull Request とレビュー (7): pr, pr-tests, fix, pr-review, cherry-pick-pr, deploy, merged diff --git a/docs/metrics/ndf-token-usage/2026-10-25.json b/docs/metrics/ndf-token-usage/2026-10-25.json new file mode 100644 index 000000000..6f8e67529 --- /dev/null +++ b/docs/metrics/ndf-token-usage/2026-10-25.json @@ -0,0 +1,1243 @@ +{ + "per_pr": [ + { + "version": "10.18.0", + "mode": "standard", + "model": "claude-opus-5-5", + "cc": "2.1.302", + "reviewers": "-", + "sessions": 2, + "sessions_with_pr": 0, + "prs": 0 + }, + { + "version": "10.18.0", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.302", + "reviewers": "-", + "sessions": 1, + "sessions_with_pr": 0, + "prs": 0 + }, + { + "version": "10.18.0", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.302", + "reviewers": "claude+codex+kiro", + "sessions": 1, + "sessions_with_pr": 1, + "prs": 1, + "conductor_cost": 3793977.5, + "supervisor_cost": 2826140.75, + "worker_cost": 0.0, + "context": 49400676.0, + "out": 239071.0, + "minutes": 333.7103833317757, + "codex_input": 3880219.0, + "codex_out": 15394.0, + "kiro_credit": 20.331091179601987, + "claude_seat_cost": 684832.65 + }, + { + "version": "10.18.0", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.303", + "reviewers": "claude+codex+kiro", + "sessions": 1, + "sessions_with_pr": 1, + "prs": 2, + "conductor_cost": 358683.77499999997, + "supervisor_cost": 1730397.575, + "worker_cost": 472447.1, + "context": 21053799.5, + "out": 109546.0, + "minutes": 50.52392500042915, + "codex_input": 83458.5, + "codex_out": 587.0, + "kiro_credit": 1.5869470433665007, + "claude_seat_cost": 38764.0 + }, + { + "version": "10.19.0", + "mode": "light", + "model": "claude-opus-5-5", + "cc": "2.1.310", + "reviewers": "-", + "sessions": 1, + "sessions_with_pr": 0, + "prs": 0 + }, + { + "version": "10.19.0", + "mode": "standard", + "model": "claude-opus-5-5", + "cc": "2.1.310", + "reviewers": "-", + "sessions": 4, + "sessions_with_pr": 0, + "prs": 0 + }, + { + "version": "10.19.0", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.303", + "reviewers": "claude+codex+kiro", + "sessions": 1, + "sessions_with_pr": 0, + "prs": 0 + }, + { + "version": "10.19.0", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.310", + "reviewers": "-", + "sessions": 2, + "sessions_with_pr": 0, + "prs": 0 + }, + { + "version": "10.19.0", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.310", + "reviewers": "claude+codex+kiro", + "sessions": 1, + "sessions_with_pr": 0, + "prs": 0 + } + ], + "per_role": [ + { + "version": "10.18.0", + "mode": "standard", + "model": "claude-opus-5-5", + "cc": "2.1.302", + "reviewers": "-", + "layer": "conductor", + "role": "-", + "agent_type": "-", + "count": 2, + "cost": 543204.425, + "context": 2459308.0, + "out": 32026.5, + "minutes": 5.589449999729792, + "p": 58597.0, + "k": 21.0, + "w5": 0.0, + "w1h": 133367.5, + "rewrites": 0, + "rewrites_after_5m": 0, + "rewrites_untimed": 0, + "rewrite_tokens": 0, + "rewrite_tokens_after_5m": 0, + "read_tokens_after_5m": 0, + "rewrite_gap_median": null + }, + { + "version": "10.18.0", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.302", + "reviewers": "-", + "layer": "conductor", + "role": "-", + "agent_type": "-", + "count": 1, + "cost": 4301485.649999999, + "context": 49903625.0, + "out": 182684.0, + "minutes": 148.1581833322843, + "p": 72988.0, + "k": 166.0, + "w5": 0.0, + "w1h": 457716.0, + "rewrites": 0, + "rewrites_after_5m": 0, + "rewrites_untimed": 0, + "rewrite_tokens": 0, + "rewrite_tokens_after_5m": 0, + "read_tokens_after_5m": 2301352, + "rewrite_gap_median": null + }, + { + "version": "10.18.0", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.302", + "reviewers": "-", + "layer": "supervisor", + "role": "その他", + "agent_type": "ndf:worker", + "count": 16, + "cost": 360630.534375, + "context": 2848803.4375, + "out": 22107.5, + "minutes": 4.508250000327825, + "p": 35556.625, + "k": 36.375, + "w5": 89653.125, + "w1h": 0.0, + "rewrites": 0, + "rewrites_after_5m": 0, + "rewrites_untimed": 0, + "rewrite_tokens": 0, + "rewrite_tokens_after_5m": 0, + "read_tokens_after_5m": 0, + "rewrite_gap_median": null + }, + { + "version": "10.18.0", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.302", + "reviewers": "claude+codex+kiro", + "layer": "conductor", + "role": "-", + "agent_type": "-", + "count": 1, + "cost": 3793977.5, + "context": 27184053.0, + "out": 82823.0, + "minutes": 333.7103833317757, + "p": 45170.0, + "k": 147.0, + "w5": 0.0, + "w1h": 1036077.0, + "rewrites": 5, + "rewrites_after_5m": 5, + "rewrites_untimed": 0, + "rewrite_tokens": 783412, + "rewrite_tokens_after_5m": 783412, + "read_tokens_after_5m": 1188991, + "rewrite_gap_median": 160.4631333311399 + }, + { + "version": "10.18.0", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.302", + "reviewers": "claude+codex+kiro", + "layer": "supervisor", + "role": "その他", + "agent_type": "ndf:worker", + "count": 5, + "cost": 565228.15, + "context": 4443324.6, + "out": 31249.6, + "minutes": 8.089913334051769, + "p": 37220.2, + "k": 34.4, + "w5": 155623.8, + "w1h": 0.0, + "rewrites": 0, + "rewrites_after_5m": 0, + "rewrites_untimed": 0, + "rewrite_tokens": 0, + "rewrite_tokens_after_5m": 0, + "read_tokens_after_5m": 0, + "rewrite_gap_median": null + }, + { + "version": "10.18.0", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.303", + "reviewers": "claude+codex+kiro", + "layer": "conductor", + "role": "-", + "agent_type": "-", + "count": 1, + "cost": 717367.5499999999, + "context": 6828712.0, + "out": 25918.0, + "minutes": 101.0478500008583, + "p": 45331.0, + "k": 59.0, + "w5": 0.0, + "w1h": 126261.0, + "rewrites": 0, + "rewrites_after_5m": 0, + "rewrites_untimed": 0, + "rewrite_tokens": 0, + "rewrite_tokens_after_5m": 0, + "read_tokens_after_5m": 687493, + "rewrite_gap_median": null + }, + { + "version": "10.18.0", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.303", + "reviewers": "claude+codex+kiro", + "layer": "supervisor", + "role": "その他", + "agent_type": "ndf:worker", + "count": 2, + "cost": 409272.925, + "context": 3391583.5, + "out": 23578.0, + "minutes": 6.194699998696645, + "p": 36723.0, + "k": 40.0, + "w5": 101439.0, + "w1h": 0.0, + "rewrites": 0, + "rewrites_after_5m": 0, + "rewrites_untimed": 0, + "rewrite_tokens": 0, + "rewrite_tokens_after_5m": 0, + "read_tokens_after_5m": 0, + "rewrite_gap_median": null + }, + { + "version": "10.18.0", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.303", + "reviewers": "claude+codex+kiro", + "layer": "supervisor", + "role": "仕上げ", + "agent_type": "ndf:supervisor", + "count": 2, + "cost": 1086291.625, + "context": 9448080.5, + "out": 44751.0, + "minutes": 21.169100000460944, + "p": 46723.0, + "k": 71.0, + "w5": 324996.5, + "w1h": 0.0, + "rewrites": 2, + "rewrites_after_5m": 2, + "rewrites_untimed": 0, + "rewrite_tokens": 277936, + "rewrite_tokens_after_5m": 277936, + "read_tokens_after_5m": 0, + "rewrite_gap_median": 9.49864166577657 + }, + { + "version": "10.18.0", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.303", + "reviewers": "claude+codex+kiro", + "layer": "supervisor", + "role": "検査", + "agent_type": "ndf:supervisor-waits", + "count": 1, + "cost": 469666.04999999993, + "context": 3848777.0, + "out": 13925.0, + "minutes": 19.254916667938232, + "p": 46002.0, + "k": 46.0, + "w5": 0.0, + "w1h": 106412.0, + "rewrites": 0, + "rewrites_after_5m": 0, + "rewrites_untimed": 0, + "rewrite_tokens": 0, + "rewrite_tokens_after_5m": 0, + "read_tokens_after_5m": 85075, + "rewrite_gap_median": null + }, + { + "version": "10.18.0", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.303", + "reviewers": "claude+codex+kiro", + "layer": "worker", + "role": "その他", + "agent_type": "ndf:worker", + "count": 1, + "cost": 543978.85, + "context": 3902593.0, + "out": 29179.0, + "minutes": 4.96715000073115, + "p": 38351.0, + "k": 30.0, + "w5": 169081.0, + "w1h": 0.0, + "rewrites": 0, + "rewrites_after_5m": 0, + "rewrites_untimed": 0, + "rewrite_tokens": 0, + "rewrite_tokens_after_5m": 0, + "read_tokens_after_5m": 0, + "rewrite_gap_median": null + }, + { + "version": "10.18.0", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.303", + "reviewers": "claude+codex+kiro", + "layer": "worker", + "role": "修正", + "agent_type": "general-purpose", + "count": 2, + "cost": 106847.325, + "context": 560230.5, + "out": 3355.5, + "minutes": 0.8205583333969116, + "p": 46218.0, + "k": 9.0, + "w5": 51701.0, + "w1h": 0.0, + "rewrites": 0, + "rewrites_after_5m": 0, + "rewrites_untimed": 0, + "rewrite_tokens": 0, + "rewrite_tokens_after_5m": 0, + "read_tokens_after_5m": 0, + "rewrite_gap_median": null + }, + { + "version": "10.18.0", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.303", + "reviewers": "claude+codex+kiro", + "layer": "worker", + "role": "検証", + "agent_type": "ndf:worker", + "count": 1, + "cost": 187220.7, + "context": 727728.0, + "out": 6701.0, + "minutes": 1.4462666670481363, + "p": 36728.0, + "k": 11.0, + "w5": 97757.0, + "w1h": 0.0, + "rewrites": 0, + "rewrites_after_5m": 0, + "rewrites_untimed": 0, + "rewrite_tokens": 0, + "rewrite_tokens_after_5m": 0, + "read_tokens_after_5m": 0, + "rewrite_gap_median": null + }, + { + "version": "10.19.0", + "mode": "light", + "model": "claude-opus-5-5", + "cc": "2.1.310", + "reviewers": "-", + "layer": "conductor", + "role": "-", + "agent_type": "-", + "count": 1, + "cost": 1580626.7999999998, + "context": 15322315.0, + "out": 40691.0, + "minutes": 104.58703333536783, + "p": 45714.0, + "k": 107.0, + "w5": 0.0, + "w1h": 313251.0, + "rewrites": 1, + "rewrites_after_5m": 1, + "rewrites_untimed": 0, + "rewrite_tokens": 137235, + "rewrite_tokens_after_5m": 137235, + "read_tokens_after_5m": 336685, + "rewrite_gap_median": 70.46963333288828 + }, + { + "version": "10.19.0", + "mode": "standard", + "model": "claude-opus-5-5", + "cc": "2.1.310", + "reviewers": "-", + "layer": "conductor", + "role": "-", + "agent_type": "-", + "count": 4, + "cost": 790017.9125, + "context": 5449293.25, + "out": 39295.75, + "minutes": 7.291179166237513, + "p": 60245.75, + "k": 35.5, + "w5": 0.0, + "w1h": 164619.0, + "rewrites": 0, + "rewrites_after_5m": 0, + "rewrites_untimed": 0, + "rewrite_tokens": 0, + "rewrite_tokens_after_5m": 0, + "read_tokens_after_5m": 0, + "rewrite_gap_median": null + }, + { + "version": "10.19.0", + "mode": "standard", + "model": "claude-opus-5-5", + "cc": "2.1.310", + "reviewers": "-", + "layer": "supervisor", + "role": "pr", + "agent_type": "claude -p", + "count": 3, + "cost": 14530.199999999999, + "context": 5085.0, + "out": 939.0, + "minutes": 0.1716666666666667, + "k": 1.0, + "w5": 0.0, + "w1h": 4912.333333333333 + }, + { + "version": "10.19.0", + "mode": "standard", + "model": "claude-opus-5-5", + "cc": "2.1.310", + "reviewers": "-", + "layer": "supervisor", + "role": "その他", + "agent_type": "general-purpose", + "count": 1, + "cost": 78418.5, + "context": 210156.0, + "out": 2246.0, + "minutes": 0.42386666536331175, + "p": 35958.0, + "k": 5.0, + "w5": 47226.0, + "w1h": 0.0, + "rewrites": 0, + "rewrites_after_5m": 0, + "rewrites_untimed": 0, + "rewrite_tokens": 0, + "rewrite_tokens_after_5m": 0, + "read_tokens_after_5m": 0, + "rewrite_gap_median": null + }, + { + "version": "10.19.0", + "mode": "standard", + "model": "claude-opus-5-5", + "cc": "2.1.310", + "reviewers": "-", + "layer": "worker", + "role": "work", + "agent_type": "claude -p", + "count": 2, + "cost": 891737.1, + "context": 8005439.0, + "out": 46100.5, + "minutes": 11.610000000000001, + "k": 70.0, + "w5": 0.0, + "w1h": 133770.0 + }, + { + "version": "10.19.0", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.303", + "reviewers": "claude+codex+kiro", + "layer": "conductor", + "role": "-", + "agent_type": "-", + "count": 1, + "cost": 2890206.5999999996, + "context": 28513219.0, + "out": 87742.0, + "minutes": 171.43461667299272, + "p": 47102.0, + "k": 128.0, + "w5": 0.0, + "w1h": 525939.0, + "rewrites": 1, + "rewrites_after_5m": 1, + "rewrites_untimed": 0, + "rewrite_tokens": 232887, + "rewrite_tokens_after_5m": 232887, + "read_tokens_after_5m": 1771202, + "rewrite_gap_median": 358.21480000019073 + }, + { + "version": "10.19.0", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.303", + "reviewers": "claude+codex+kiro", + "layer": "supervisor", + "role": "judge", + "agent_type": "claude -p", + "count": 1, + "cost": 26969.0, + "context": 12753.0, + "out": 293.0, + "minutes": 0.1, + "k": 1.0, + "w5": 0.0, + "w1h": 12751.0 + }, + { + "version": "10.19.0", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.303", + "reviewers": "claude+codex+kiro", + "layer": "supervisor", + "role": "その他", + "agent_type": "ndf:worker", + "count": 1, + "cost": 249842.25, + "context": 1072197.0, + "out": 14921.0, + "minutes": 2.4877000013987223, + "p": 37174.0, + "k": 14.0, + "w5": 101334.0, + "w1h": 0.0, + "rewrites": 0, + "rewrites_after_5m": 0, + "rewrites_untimed": 0, + "rewrite_tokens": 0, + "rewrite_tokens_after_5m": 0, + "read_tokens_after_5m": 0, + "rewrite_gap_median": null + }, + { + "version": "10.19.0", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.303", + "reviewers": "claude+codex+kiro", + "layer": "worker", + "role": "work", + "agent_type": "claude -p", + "count": 2, + "cost": 182567.6, + "context": 828977.5, + "out": 9151.0, + "minutes": 9.639999999999999, + "k": 21.0, + "w5": 0.0, + "w1h": 48884.5 + }, + { + "version": "10.19.0", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.310", + "reviewers": "-", + "layer": "conductor", + "role": "-", + "agent_type": "-", + "count": 2, + "cost": 399154.825, + "context": 3439595.5, + "out": 9929.0, + "minutes": 57.553641668955485, + "p": 45655.5, + "k": 34.0, + "w5": 0.0, + "w1h": 91005.0, + "rewrites": 0, + "rewrites_after_5m": 0, + "rewrites_untimed": 0, + "rewrite_tokens": 0, + "rewrite_tokens_after_5m": 0, + "read_tokens_after_5m": 493227, + "rewrite_gap_median": null + }, + { + "version": "10.19.0", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.310", + "reviewers": "-", + "layer": "supervisor", + "role": "judge", + "agent_type": "claude -p", + "count": 2, + "cost": 21323.0, + "context": 9945.0, + "out": 287.0, + "minutes": 0.09583333333333334, + "k": 1.0, + "w5": 0.0, + "w1h": 9943.0 + }, + { + "version": "10.19.0", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.310", + "reviewers": "-", + "layer": "supervisor", + "role": "pr", + "agent_type": "claude -p", + "count": 2, + "cost": 16059.3, + "context": 5591.5, + "out": 1075.5, + "minutes": 0.18416666666666667, + "k": 1.0, + "w5": 0.0, + "w1h": 5333.5 + }, + { + "version": "10.19.0", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.310", + "reviewers": "-", + "layer": "worker", + "role": "work", + "agent_type": "claude -p", + "count": 8, + "cost": 168870.8125, + "context": 1128408.875, + "out": 7766.125, + "minutes": 4.774166666666667, + "k": 16.875, + "w5": 0.0, + "w1h": 37738.125 + }, + { + "version": "10.19.0", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.310", + "reviewers": "claude+codex+kiro", + "layer": "conductor", + "role": "-", + "agent_type": "-", + "count": 1, + "cost": 1302219.2999999998, + "context": 13641232.0, + "out": 46811.0, + "minutes": 111.83238333463669, + "p": 45790.0, + "k": 87.0, + "w5": 0.0, + "w1h": 197902.0, + "rewrites": 0, + "rewrites_after_5m": 0, + "rewrites_untimed": 0, + "rewrite_tokens": 0, + "rewrite_tokens_after_5m": 0, + "read_tokens_after_5m": 807684, + "rewrite_gap_median": null + }, + { + "version": "10.19.0", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.310", + "reviewers": "claude+codex+kiro", + "layer": "supervisor", + "role": "judge", + "agent_type": "claude -p", + "count": 1, + "cost": 26567.0, + "context": 12862.0, + "out": 169.0, + "minutes": 0.07666666666666666, + "k": 1.0, + "w5": 0.0, + "w1h": 12860.0 + }, + { + "version": "10.19.0", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.310", + "reviewers": "claude+codex+kiro", + "layer": "supervisor", + "role": "その他", + "agent_type": "general-purpose", + "count": 1, + "cost": 266341.7, + "context": 1191026.0, + "out": 16716.0, + "minutes": 3.8735833326975504, + "p": 47274.0, + "k": 16.0, + "w5": 102650.0, + "w1h": 0.0, + "rewrites": 0, + "rewrites_after_5m": 0, + "rewrites_untimed": 0, + "rewrite_tokens": 0, + "rewrite_tokens_after_5m": 0, + "read_tokens_after_5m": 0, + "rewrite_gap_median": null + }, + { + "version": "10.19.0", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.310", + "reviewers": "claude+codex+kiro", + "layer": "supervisor", + "role": "その他", + "agent_type": "ndf:worker", + "count": 2, + "cost": 273687.05, + "context": 1227869.0, + "out": 17647.0, + "minutes": 2.6616083323955535, + "p": 37498.5, + "k": 14.0, + "w5": 103360.0, + "w1h": 0.0, + "rewrites": 0, + "rewrites_after_5m": 0, + "rewrites_untimed": 0, + "rewrite_tokens": 0, + "rewrite_tokens_after_5m": 0, + "read_tokens_after_5m": 0, + "rewrite_gap_median": null + }, + { + "version": "10.19.0", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.310", + "reviewers": "claude+codex+kiro", + "layer": "worker", + "role": "work", + "agent_type": "claude -p", + "count": 6, + "cost": 130515.00833333335, + "context": 452460.8333333333, + "out": 7489.833333333333, + "minutes": 1.5158333333333334, + "k": 16.666666666666668, + "w5": 0.0, + "w1h": 36112.333333333336 + } + ], + "external": [ + { + "version": "10.18.0", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.302", + "reviewers": "claude+codex+kiro", + "runtime": "claude", + "skill": "cross-review", + "cli_model": "claude-opus-5-5", + "count": 3, + "context": 850207.0, + "out": 7207.666666666667, + "cost": 228277.55000000002, + "minutes": 1.640577777226766, + "p": 34193.0, + "k": 11.666666666666666, + "w5": 0.0, + "w1h": 76772.66666666667, + "rewrites": 0, + "rewrites_after_5m": 0, + "rewrites_untimed": 0, + "rewrite_tokens": 0, + "rewrite_tokens_after_5m": 0, + "read_tokens_after_5m": 0, + "rewrite_gap_median": null, + "call_seats": 3 + }, + { + "version": "10.18.0", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.302", + "reviewers": "claude+codex+kiro", + "runtime": "codex", + "skill": "cross-review", + "cli_model": "gpt-6.1-sol", + "count": 4, + "input": 970054.75, + "cached": 879488.0, + "out": 3848.5, + "minutes": 1.3303749978542327, + "p": 31997.25, + "k": 11.25, + "rewrites": 0, + "rewrites_after_5m": 0, + "rewrites_untimed": 0, + "rewrite_tokens": 0, + "rewrite_tokens_after_5m": 0, + "read_tokens_after_5m": 0, + "rewrite_gap_median": null, + "call_seats": 4 + }, + { + "version": "10.18.0", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.302", + "reviewers": "claude+codex+kiro", + "runtime": "kiro", + "skill": "cross-review", + "cli_model": "auto", + "count": 8, + "credit": 2.5413863974502484, + "minutes": 1.6125, + "turns": 1.0 + }, + { + "version": "10.18.0", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.303", + "reviewers": "claude+codex+kiro", + "runtime": "claude", + "skill": "cross-review", + "cli_model": "claude-opus-5-5", + "count": 1, + "context": 103385.0, + "out": 1640.0, + "cost": 77528.0, + "minutes": 0.3216000000635783, + "p": 28959.0, + "k": 3.0, + "w5": 0.0, + "w1h": 32899.0, + "rewrites": 0, + "rewrites_after_5m": 0, + "rewrites_untimed": 0, + "rewrite_tokens": 0, + "rewrite_tokens_after_5m": 0, + "read_tokens_after_5m": 0, + "rewrite_gap_median": null, + "call_seats": 1 + }, + { + "version": "10.18.0", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.303", + "reviewers": "claude+codex+kiro", + "runtime": "codex", + "skill": "cross-review", + "cli_model": "gpt-6.1-sol", + "count": 1, + "input": 166917.0, + "cached": 128000.0, + "out": 1174.0, + "minutes": 0.5329499999682109, + "p": 29954.0, + "k": 4.0, + "rewrites": 0, + "rewrites_after_5m": 0, + "rewrites_untimed": 0, + "rewrite_tokens": 0, + "rewrite_tokens_after_5m": 0, + "read_tokens_after_5m": 0, + "rewrite_gap_median": null, + "call_seats": 1 + }, + { + "version": "10.18.0", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.303", + "reviewers": "claude+codex+kiro", + "runtime": "kiro", + "skill": "cross-review", + "cli_model": "auto", + "count": 2, + "credit": 1.5869470433665007, + "minutes": 1.1166666666666667, + "turns": 1.0 + }, + { + "version": "10.19.0", + "mode": "light", + "model": "claude-opus-5-5", + "cc": "2.1.310", + "reviewers": "-", + "runtime": "claude", + "skill": "cross-refactoring", + "cli_model": "claude-opus-5-5", + "count": 14, + "context": 436088.64285714284, + "out": 5761.071428571428, + "cost": 126023.99285714283, + "minutes": 1.2487964283852349, + "p": 26662.571428571428, + "k": 10.285714285714286, + "w5": 0.0, + "w1h": 38663.92857142857, + "rewrites": 0, + "rewrites_after_5m": 0, + "rewrites_untimed": 0, + "rewrite_tokens": 0, + "rewrite_tokens_after_5m": 0, + "read_tokens_after_5m": 0, + "rewrite_gap_median": null, + "call_seats": 14 + }, + { + "version": "10.19.0", + "mode": "light", + "model": "claude-opus-5-5", + "cc": "2.1.310", + "reviewers": "-", + "runtime": "codex", + "skill": "cross-refactoring", + "cli_model": "gpt-6.1-sol", + "count": 1, + "input": 1208201.0, + "cached": 1083392.0, + "out": 7228.0, + "minutes": 3.1777666648228964, + "p": 32016.0, + "k": 13.0, + "rewrites": 0, + "rewrites_after_5m": 0, + "rewrites_untimed": 0, + "rewrite_tokens": 0, + "rewrite_tokens_after_5m": 0, + "read_tokens_after_5m": 0, + "rewrite_gap_median": null, + "call_seats": 1 + }, + { + "version": "10.19.0", + "mode": "light", + "model": "claude-opus-5-5", + "cc": "2.1.310", + "reviewers": "-", + "runtime": "kiro", + "skill": "cross-refactoring", + "cli_model": "auto", + "count": 1, + "credit": 2.328998708623549, + "minutes": 1.5, + "turns": 1.0 + }, + { + "version": "10.19.0", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.303", + "reviewers": "claude+codex+kiro", + "runtime": "claude", + "skill": "cross-review", + "cli_model": "claude-opus-5-5", + "count": 2, + "context": 171094.5, + "out": 2961.0, + "cost": 82983.65, + "minutes": 0.6697583357493083, + "p": 26045.5, + "k": 5.0, + "w5": 0.0, + "w1h": 30571.5, + "rewrites": 0, + "rewrites_after_5m": 0, + "rewrites_untimed": 0, + "rewrite_tokens": 0, + "rewrite_tokens_after_5m": 0, + "read_tokens_after_5m": 0, + "rewrite_gap_median": null, + "call_seats": 2 + }, + { + "version": "10.19.0", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.303", + "reviewers": "claude+codex+kiro", + "runtime": "codex", + "skill": "cross-review", + "cli_model": "gpt-6.1-sol", + "count": 2, + "input": 257959.0, + "cached": 212608.0, + "out": 1864.5, + "minutes": 0.9758583347002665, + "p": 27714.0, + "k": 5.5, + "rewrites": 0, + "rewrites_after_5m": 0, + "rewrites_untimed": 0, + "rewrite_tokens": 0, + "rewrite_tokens_after_5m": 0, + "read_tokens_after_5m": 0, + "rewrite_gap_median": null, + "call_seats": 2 + }, + { + "version": "10.19.0", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.303", + "reviewers": "claude+codex+kiro", + "runtime": "kiro", + "skill": "cross-review", + "cli_model": "auto", + "count": 4, + "credit": 2.353809083623549, + "minutes": 1.5583333333333333, + "turns": 1.0 + }, + { + "version": "10.19.0", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.310", + "reviewers": "-", + "runtime": "claude", + "skill": "cross-refactoring", + "cli_model": "claude-opus-5-5", + "count": 8, + "context": 772060.75, + "out": 9734.0, + "cost": 204802.0, + "minutes": 3.444658333559831, + "p": 26807.0, + "k": 14.125, + "w5": 0.0, + "w1h": 60257.5, + "rewrites": 0, + "rewrites_after_5m": 0, + "rewrites_untimed": 0, + "rewrite_tokens": 0, + "rewrite_tokens_after_5m": 0, + "read_tokens_after_5m": 55503, + "rewrite_gap_median": null, + "call_seats": 8 + }, + { + "version": "10.19.0", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.310", + "reviewers": "-", + "runtime": "codex", + "skill": "cross-refactoring", + "cli_model": "gpt-6.1-sol", + "count": 1, + "input": 1260052.0, + "cached": 1145344.0, + "out": 7837.0, + "minutes": 3.456950000921885, + "p": 31635.0, + "k": 15.0, + "rewrites": 0, + "rewrites_after_5m": 0, + "rewrites_untimed": 0, + "rewrite_tokens": 0, + "rewrite_tokens_after_5m": 0, + "read_tokens_after_5m": 0, + "rewrite_gap_median": null, + "call_seats": 1 + }, + { + "version": "10.19.0", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.310", + "reviewers": "-", + "runtime": "kiro", + "skill": "cross-refactoring", + "cli_model": "auto", + "count": 1, + "credit": 3.4973955096185736, + "minutes": 2.033333333333333, + "turns": 1.0 + }, + { + "version": "10.19.0", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.310", + "reviewers": "claude+codex+kiro", + "runtime": "claude", + "skill": "cross-review", + "cli_model": "claude-opus-5-5", + "count": 3, + "context": 385931.3333333333, + "out": 6636.666666666667, + "cost": 151546.69999999998, + "minutes": 1.177894445260366, + "p": 27524.333333333332, + "k": 7.0, + "w5": 0.0, + "w1h": 50796.666666666664, + "rewrites": 1, + "rewrites_after_5m": 0, + "rewrites_untimed": 0, + "rewrite_tokens": 32952, + "rewrite_tokens_after_5m": 0, + "read_tokens_after_5m": 0, + "rewrite_gap_median": 0.04639999866485596, + "call_seats": 3 + }, + { + "version": "10.19.0", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.310", + "reviewers": "claude+codex+kiro", + "runtime": "codex", + "skill": "cross-review", + "cli_model": "gpt-6.1-sol", + "count": 3, + "input": 441673.3333333333, + "cached": 383530.6666666667, + "out": 3029.0, + "minutes": 1.2663500004344515, + "p": 30749.333333333332, + "k": 7.666666666666667, + "rewrites": 0, + "rewrites_after_5m": 0, + "rewrites_untimed": 0, + "rewrite_tokens": 0, + "rewrite_tokens_after_5m": 0, + "read_tokens_after_5m": 0, + "rewrite_gap_median": null, + "call_seats": 3 + }, + { + "version": "10.19.0", + "mode": "不明", + "model": "claude-opus-5-5", + "cc": "2.1.310", + "reviewers": "claude+codex+kiro", + "runtime": "kiro", + "skill": "cross-review", + "cli_model": "auto", + "count": 4, + "credit": 2.2803879895522385, + "minutes": 1.9208333333333334, + "turns": 1.0 + } + ], + "meta": { + "by": [ + "version", + "mode", + "model", + "cc", + "reviewers" + ], + "min_version": "10.18.0", + "until": "2026-10-25T00:30:00Z", + "sessions": 14, + "sessions_with_pr": 2, + "unlinked_external": 3366, + "unlinked_ledger": 0, + "skipped": { + "ndf の Skill が無い": 455, + "版を判定できない": 17 + }, + "released": "10.20.0", + "previous": "2026-10-19.json" + } +} diff --git a/docs/metrics/ndf-token-usage/2026-10-25.md b/docs/metrics/ndf-token-usage/2026-10-25.md new file mode 100644 index 000000000..6d67a08a6 --- /dev/null +++ b/docs/metrics/ndf-token-usage/2026-10-25.md @@ -0,0 +1,125 @@ +# ndf の版ごとのトークン消費と所要時間(2026-10-25 集計・10.20.0 の配布) + +**10.20.0 を正式版として出したときの記録である。** 打ち切りの時刻は `2026-10-25T00:30:00Z`。表の最初の行は 10.18.0(前の記録: 2026-10-19.md)。既定では前の記録の最後の版で、記録どうしが 1 行ずつ重なる。生の記録・会話の本文・リポジトリ名・会話の ID は残していない。集計した日時点の記録で、以後の記録の増減には追随しない。 + +## 作り方 + +同じ打ち切りの時刻で走らせ直すと、記録が残っている間は同じ `.json` ができる。ただし kiro の記録はターンに時刻を持たないため、打ち切りをまたいで進行中だった席は credit が変わりうる。 + +```bash +python3 scripts/token-usage-snapshot.py --released 10.20.0 --until 2026-10-25T00:30:00Z --min-version 10.18.0 +python3 scripts/token-usage.py --min-version 10.18.0 --until 2026-10-25T00:30:00Z --by version # 末尾の「集計の出力」 +``` + +## 比べるときの注意 + +- **PR を作った会話が 2 件以下の版:** 10.18.0(2 件)。作業の中身の違いが版の違いより大きい +- **CHANGELOG.md にあって表に出ない版:** 10.19.0, 10.20.0。その版で始めた PR つきの会話が無い(会話の版は最初に読んだ版で決まる) +- **打ち切りの 30 分前以降にも行がある会話を含む版:** 10.19.0。進行中だった会話は、値が打ち切りの時刻までの分である + +## 版ごとの差(PR 1 本あたり) + +換算の合計は conductor・supervisor・worker の換算の和。前の版との差は、表の 1 つ上の行との比である。±30% を超えた版を下の「読み取り」で扱う。 + +| ndf の版 | 会話 | PR | 換算の合計 | 前の版との差 | conductor | supervisor | worker | 入力 | 所要 | codex 入力 | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | +| 10.18.0 | 2 | 3 | 3.91M | - | 1.50M | 2.10M | 0.31M | 30.50M | 144.9 | 1.35M | + +## 版と層ごとの呼び出しとキャッシュ(1 起動あたり) + +P と k と書き込みは 1 起動あたり、書き直しとうち 5 分超は合計の回数である。 + +| ndf の版 | 層 | 起動 | P | k | 書き込み 5 分 | 書き込み 1 時間 | 書き直し | うち 5 分超 | 1 起動あたりの書き直し | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | +| 10.18.0 | conductor | 5 | 56.1k | 82.8 | 0.00M | 0.38M | 5 | 5 | 1.00 | +| 10.18.0 | supervisor | 26 | 37.2k | 39.3 | 0.12M | 0.00M | 2 | 2 | 0.08 | +| 10.18.0 | worker | 4 | 41.9k | 14.8 | 0.09M | 0.00M | 0 | 0 | 0.00 | +| 10.19.0 | conductor | 9 | 52.3k | 59.1 | 0.00M | 0.21M | 2 | 2 | 0.22 | +| 10.19.0 | supervisor | 14 | 39.1k | 5.1 | 0.03M | 0.01M | 0 | 0 | 0.00 | +| 10.19.0 | worker | 18 | - | 23.2 | 0.00M | 0.05M | - | - | - | + +## 読み取り + +差の大きい版は無い(すべて ±30% の内)。読み取りは要らない。 + +## 集計の出力 + +対象の会話: 14 件 / PR を作った会話: 2 件 / 寄せ先の無い外部 CLI: 3366 件 / 寄せ先の無い帳簿の行: 0 件 + +換算は input を 1 とした費用(cache read はモデル別: claude-opus-5-5 0.05 / claude-fable-5-1 0.025 / 他 0.1。cache write 5 分 1.25・1 時間 2 / output 5)。入力は input + cache read + cache write。所要は分。 + +### PR 1 本あたり + +| 動いた版 | 会話 | PR | conductor 換算 | supervisor 換算 | worker 換算 | 入力 | 出力 | 所要 | codex 入力 | codex 出力 | kiro credit | claude 席 換算 | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | +| 10.18.0 | 2 | 3 | 1.50M | 2.10M | 0.31M | 30.50M | 152.7k | 144.9 | 1.35M | 5.5k | 7.83 | 0.25M | + +### フェーズごと(1 起動あたり) + +| 動いた版 | 層 | フェーズ | 定義 | 起動 | 換算 | 入力 | 出力 | 所要 | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | +| 10.18.0 | conductor | - | - | 5 | 1.98M | 17.77M | 71.1k | 118.8 | +| 10.18.0 | supervisor | その他 | ndf:worker | 23 | 0.41M | 3.24M | 24.2k | 5.4 | +| 10.18.0 | supervisor | 仕上げ | ndf:supervisor | 2 | 1.09M | 9.45M | 44.8k | 21.2 | +| 10.18.0 | supervisor | 検査 | ndf:supervisor-waits | 1 | 0.47M | 3.85M | 13.9k | 19.3 | +| 10.18.0 | worker | その他 | ndf:worker | 1 | 0.54M | 3.90M | 29.2k | 5.0 | +| 10.18.0 | worker | 修正 | general-purpose | 2 | 0.11M | 0.56M | 3.4k | 0.8 | +| 10.18.0 | worker | 検証 | ndf:worker | 1 | 0.19M | 0.73M | 6.7k | 1.4 | +| 10.19.0 | conductor | - | - | 9 | 1.08M | 9.57M | 39.1k | 59.1 | +| 10.19.0 | supervisor | judge | claude -p | 4 | 0.02M | 0.01M | 0.3k | 0.1 | +| 10.19.0 | supervisor | pr | claude -p | 5 | 0.02M | 0.01M | 1.0k | 0.2 | +| 10.19.0 | supervisor | その他 | general-purpose | 2 | 0.17M | 0.70M | 9.5k | 2.1 | +| 10.19.0 | supervisor | その他 | ndf:worker | 3 | 0.27M | 1.18M | 16.7k | 2.6 | +| 10.19.0 | worker | work | claude -p | 18 | 0.24M | 1.63M | 12.1k | 5.0 | + +### フェーズごとの呼び出しとキャッシュ + +P は起動ごとの固定費(最初の呼び出しの文脈)、k は呼び出し回数(どちらも 1 起動あたり)。書き直しは 2 回目以降の呼び出しのうち、書き込みが文脈の 50% を超え、かつ 20k を超えたものの回数(合計)。5 分超はそのうち直前の呼び出しとの間隔が 5 分を超えた回数、間隔は直前の間隔の中央値(分)。5 分超の書き直し・読み込みは、直前の間隔が 5 分を超えた呼び出しの書き直しの量と、書き直しでない呼び出しの読み込みの量(どちらも合計)。定義はサブエージェントの定義の名前。 + +| 動いた版 | 層 | フェーズ | 定義 | 起動 | P | k | 書き込み 5 分 | 書き込み 1 時間 | 書き直し | 5 分超 | 5 分超の書き直し | 5 分超の読み込み | 間隔 | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | +| 10.18.0 | conductor | - | - | 5 | 56.1k | 82.8 | 0.00M | 0.38M | 5 | 5 | 0.78M | 4.18M | 160.5 | +| 10.18.0 | supervisor | その他 | ndf:worker | 23 | 36.0k | 36.3 | 0.11M | 0.00M | 0 | 0 | 0.00M | 0.00M | - | +| 10.18.0 | supervisor | 仕上げ | ndf:supervisor | 2 | 46.7k | 71.0 | 0.32M | 0.00M | 2 | 2 | 0.28M | 0.00M | 9.5 | +| 10.18.0 | supervisor | 検査 | ndf:supervisor-waits | 1 | 46.0k | 46.0 | 0.00M | 0.11M | 0 | 0 | 0.00M | 0.09M | - | +| 10.18.0 | worker | その他 | ndf:worker | 1 | 38.4k | 30.0 | 0.17M | 0.00M | 0 | 0 | 0.00M | 0.00M | - | +| 10.18.0 | worker | 修正 | general-purpose | 2 | 46.2k | 9.0 | 0.05M | 0.00M | 0 | 0 | 0.00M | 0.00M | - | +| 10.18.0 | worker | 検証 | ndf:worker | 1 | 36.7k | 11.0 | 0.10M | 0.00M | 0 | 0 | 0.00M | 0.00M | - | +| 10.19.0 | conductor | - | - | 9 | 52.3k | 59.1 | 0.00M | 0.21M | 2 | 2 | 0.37M | 3.41M | 214.3 | +| 10.19.0 | supervisor | judge | claude -p | 4 | - | 1.0 | 0.00M | 0.01M | - | - | - | - | - | +| 10.19.0 | supervisor | pr | claude -p | 5 | - | 1.0 | 0.00M | 0.01M | - | - | - | - | - | +| 10.19.0 | supervisor | その他 | general-purpose | 2 | 41.6k | 10.5 | 0.07M | 0.00M | 0 | 0 | 0.00M | 0.00M | - | +| 10.19.0 | supervisor | その他 | ndf:worker | 3 | 37.4k | 14.0 | 0.10M | 0.00M | 0 | 0 | 0.00M | 0.00M | - | +| 10.19.0 | worker | work | claude -p | 18 | - | 23.2 | 0.00M | 0.05M | - | - | - | - | - | + +### 外部 CLI(1 起動あたり) + +kiro はトークン数を記録しない(値が 0)ため credit だけを載せる。agy は読まない。 + +| 動いた版 | ランタイム | Skill | モデル | 起動 | 入力 | cache | 出力 | credit | 所要 | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | +| 10.18.0 | claude | cross-review | claude-opus-5-5 | 4 | 0.66M | 0.00M | 5.8k | 0.00 | 1.3 | +| 10.18.0 | codex | cross-review | gpt-6.1-sol | 5 | 0.81M | 0.73M | 3.3k | 0.00 | 1.2 | +| 10.18.0 | kiro | cross-review | auto | 10 | 0.00M | 0.00M | 0.0k | 2.35 | 1.5 | +| 10.19.0 | claude | cross-review | claude-opus-5-5 | 5 | 0.30M | 0.00M | 5.2k | 0.00 | 1.0 | +| 10.19.0 | claude | cross-refactoring | claude-opus-5-5 | 22 | 0.56M | 0.00M | 7.2k | 0.00 | 2.0 | +| 10.19.0 | codex | cross-review | gpt-6.1-sol | 5 | 0.37M | 0.32M | 2.6k | 0.00 | 1.2 | +| 10.19.0 | codex | cross-refactoring | gpt-6.1-sol | 2 | 1.23M | 1.11M | 7.5k | 0.00 | 3.3 | +| 10.19.0 | kiro | cross-review | auto | 8 | 0.00M | 0.00M | 0.0k | 2.32 | 1.7 | +| 10.19.0 | kiro | cross-refactoring | auto | 2 | 0.00M | 0.00M | 0.0k | 2.91 | 1.8 | + +### 外部 CLI の呼び出しとキャッシュ(1 起動あたり) + +codex は input のうち cached に当たらなかった分を書き込みとみなし、呼び出しごとの値(last_token_usage)を持つ席だけで数える。kiro は呼び出し回数を記録しない(利用者のターン数は JSON の turns)。取れない値は -。 + +| 動いた版 | ランタイム | Skill | モデル | 起動 | P | k | 書き直し | 5 分超 | 5 分超の書き直し | 5 分超の読み込み | 間隔 | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | +| 10.18.0 | claude | cross-review | claude-opus-5-5 | 4 | 32.9k | 9.5 | 0 | 0 | 0.00M | 0.00M | - | +| 10.18.0 | codex | cross-review | gpt-6.1-sol | 5 | 31.6k | 9.8 | 0 | 0 | 0.00M | 0.00M | - | +| 10.18.0 | kiro | cross-review | auto | 10 | - | - | - | - | - | - | - | +| 10.19.0 | claude | cross-review | claude-opus-5-5 | 5 | 26.9k | 6.2 | 1 | 0 | 0.00M | 0.00M | 0.0 | +| 10.19.0 | claude | cross-refactoring | claude-opus-5-5 | 22 | 26.7k | 11.7 | 0 | 0 | 0.00M | 0.06M | - | +| 10.19.0 | codex | cross-review | gpt-6.1-sol | 5 | 29.5k | 6.8 | 0 | 0 | 0.00M | 0.00M | - | +| 10.19.0 | codex | cross-refactoring | gpt-6.1-sol | 2 | 31.8k | 14.0 | 0 | 0 | 0.00M | 0.00M | - | +| 10.19.0 | kiro | cross-review | auto | 8 | - | - | - | - | - | - | - | +| 10.19.0 | kiro | cross-refactoring | auto | 2 | - | - | - | - | - | - | - | diff --git a/plugins/ndf/.claude-plugin/plugin.json b/plugins/ndf/.claude-plugin/plugin.json index 55df2bc46..ca0e5026d 100644 --- a/plugins/ndf/.claude-plugin/plugin.json +++ b/plugins/ndf/.claude-plugin/plugin.json @@ -1,7 +1,7 @@ { "name": "ndf", - "version": "10.20.0-dev.2", - "description": "Claude Code plugin (v10.20.0-dev.2): 8 specialized agents (plus 2 supervisor agents and 1 worker agent for the 3-layer workflow) and 48 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.20.0", + "description": "Claude Code plugin (v10.20.0): 8 specialized agents (plus 2 supervisor agents and 1 worker agent for the 3-layer workflow) and 48 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" diff --git a/plugins/ndf/.codex-plugin/plugin.json b/plugins/ndf/.codex-plugin/plugin.json index cdba80522..c35a4634b 100644 --- a/plugins/ndf/.codex-plugin/plugin.json +++ b/plugins/ndf/.codex-plugin/plugin.json @@ -1,7 +1,7 @@ { "name": "ndf", - "version": "10.20.0-dev.2", - "description": "Codex plugin (v10.20.0-dev.2): 44 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.20.0", + "description": "Codex plugin (v10.20.0): 44 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", diff --git a/plugins/ndf/README.md b/plugins/ndf/README.md index 268f2c780..7f06fba51 100644 --- a/plugins/ndf/README.md +++ b/plugins/ndf/README.md @@ -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.20.0-dev.2) +# => NDF統合開発エージェント(Kiro CLI用 / v10.20.0) ``` ### agy @@ -412,7 +412,7 @@ agy models # 認証確認 ```text # 動く: 実体パスを示して読ませる -~/.codex/plugins/cache/ai-plugins/ndf/10.20.0-dev.2/skills/deploy/SKILL.md を読んで、その手順どおりに qa/staging へ deploy PR を作成してください。 +~/.codex/plugins/cache/ai-plugins/ndf/10.20.0/skills/deploy/SKILL.md を読んで、その手順どおりに qa/staging へ deploy PR を作成してください。 # 動かない: 明示起動 ($ は展開されない) $deploy qa/staging @@ -434,14 +434,14 @@ marketplace 経由でインストールした場合、Skill の実体は **ワ ```text $CODEX_HOME/plugins/cache////skills//SKILL.md # 既定 ($CODEX_HOME=~/.codex) の例: -# ~/.codex/plugins/cache/ai-plugins/ndf/10.20.0-dev.2/skills/deploy/SKILL.md +# ~/.codex/plugins/cache/ai-plugins/ndf/10.20.0/skills/deploy/SKILL.md ``` そのため「`deploy` の SKILL.md を探して読んで」のような曖昧な依頼は、Codex のファイル探索がワークスペース内に限られる状況では失敗しえます。**抑止した Skill は `$` が展開されない**ので、`codex plugin list` で実体パスを確認し、絶対パスを渡してください。 ```bash codex plugin list | grep 'ndf@ai-plugins' -# => ndf@ai-plugins installed, enabled 10.20.0-dev.2 +# => ndf@ai-plugins installed, enabled 10.20.0 ``` 抑止していない Skill(`document-style` など)はキャッシュ配下でも `$` で解決するため、そちらは `$` 起動が使えます。 diff --git a/plugins/ndf/dev.agy/plugin.json b/plugins/ndf/dev.agy/plugin.json index 3da5ef79b..3e4116015 100644 --- a/plugins/ndf/dev.agy/plugin.json +++ b/plugins/ndf/dev.agy/plugin.json @@ -1,5 +1,5 @@ { "name": "ndf", - "version": "10.20.0-dev.2", - "description": "Antigravity CLI plugin (v10.20.0-dev.2): 44 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.20.0", + "description": "Antigravity CLI plugin (v10.20.0): 44 focused NDF skills for PR/review workflows, cross-review, implementation planning, plan-to-spec, Docker container access, external AI delegation, and worktree guidance hooks." }