Skip to content

v0.17.0 description を短くし、blue-team-agent の検索と書き込みをツールで成り立たせる

Choose a tag to compare

@hidari hidari released this 19 Oct 15:09
· 8 commits to main since this release
a95616c

消費側の呼び出しが壊れる変更は無い。skill 名、登録経路、command と agent の名前と引数の形は v0.16.0 と同じ。pin を上げる以外に消費側ですることは無い。挙動に関わる主な変更は 2 点で、skill / agent / command が選ばれる手がかりになる description が短くなったことと、blue-team-agent が受け取るツールが変わったこと。ほかに red-team-agent、e2e-scenario-impact-check、pre-merge-quality-gate の本文を書き直した (下記)。

消費側への影響

配る skill / agent / command の description — ISSUE-92

  • 25 本のうち 23 本の description を、目安 200 字前後、上限 300 字で書き直した。何をするかと、いつ使うかを先に書く。合計は 8,300 字から 4,691 字になった (frontmatter の行の値を引用符ごと数えた字数)。いちばん長かった monkey-explorer-agent は 1,164 字から 276 字になった。security-blue-red-team と web-monkey-qa の plugin の SKILL.md は変えていない
  • 公式の文書 (2026-10-19 に確認) によれば、skill と command の一覧の上限はコンテキストの 1% で、超えると呼ばれる回数の少ないものから説明が落ちて名前だけになる。短くしたのは、この予算を圧迫しないため。agent の description は別枠で、subagent の description の合計が 15,000 トークンを超えると起動時に警告が出る (読み込みは止まらない)
  • 依頼の例として挙げていた語句のうち、次のものを description から外した。この語句で呼んでいた場合は、command を名前で呼ぶか、残した語句で頼むこと
    • /security-vulnerability-assessment: 「受動セキュリティスキャン」「月次セキュリティアセスメント」「OWASP top 10 静的チェック」
    • /security-redteam: 「攻撃面を能動的に検証」「セキュリティ侵入テスト」
    • /security-blueteam: 「改善計画立てて」「防御策を策定」
    • commit-and-pr-message: 「PR 本文を書いて」
    • in-repo-issue: 「作って」
    • context-loading-mechanics と e2e-scenario-impact-check は、同じ意味の言い換えに置き換えた
  • README 用の説明は分けず、description 1 つのまま短くした。README は frontmatter から生成し直した
  • e2e-scenario-impact-check の description にあった、staging E2E を前提にした主張 (「staging E2E は唯一の自動 E2E 検出網」「ローカル E2E は CI で動かない」) を外した。同じ前提で断定していた e2e-scenario-impact-check と pre-merge-quality-gate の本文は、「そういう構成のプロジェクトでは」という書き方にした。e2e-scenario-impact-check の検出パターンには getByLabel / getByText を足した (description から本文へ移した)
  • monkey-explorer-agent の旧 description は値の途中に : を含み、厳密な YAML としては読めなかった。書き直しでこれも解消した

plugins/security-blue-red-team (blue-team-agent / red-team-agent)、plugins/web-monkey-qa (monkey-explorer-agent) — ISSUE-93

  • blue-team-agent の tools: を Read, Glob, Grep, Write にした。これまでは Bash を挙げていたため、macOS / Linux / WSL では Glob / Grep が渡されず、「Glob / Grep / Read だけ」と定めた Mode B に Read しか残っていなかった
    • Bash はレポート (blue-team.md) を書く唯一の手段でもあったので、Write に置き換えた。レポートの書き込みは Bash ではなく Write の権限で判定されるようになった。Bash 向けに許可を書いていた場合は効かず、acceptEdits ではプロジェクト内への Write が確認なしで通る
    • 本文が HTTP を送らないと定めているので、WebFetch / WebSearch も外した
    • HTTP を送らないこととシェルを使わないことは、tools: で受け取るツールの範囲では効くようになった (自己申告のツール一覧と公式文書による)。ソースを書き換えないことと OUTPUT_DIR の外に書かないことは、Write がどこにでも書けるので文言のままである
  • blue-team-agent の本文を新しいツールに合わせた
    • profile と findings.json の schema 検証は、読んで必須項目を確かめる形にした (schema validator は回さない)
    • blue-team.md が既にあるときは、Write の前に Read する
  • red-team-agent は Bash を残した。Grep を前提にした手順には、Grep が無いところでは Bash の grep を使う道を書き足した
  • 3 つの agent の tools: から、本文が使わず既定でも渡されない TodoWrite を外した
  • v0.16.0 の「既知の問題」のうち、blue-team-agent の分はこの版で解消した。red-team-agent と monkey-explorer-agent は Bash を残したので、macOS / Linux / WSL では引き続き Glob / Grep が渡されない。red-team-agent は Bash の grep を代わりに使う手順を持ち、monkey-explorer-agent の本文は Glob / Grep を使わない
  • 確認: plugin を別名でコピーし、Claude Code 2.1.303 (macOS のネイティブ版) のヘッドレス実行で読み込んだ。blue-team-agent が自己申告したツールは Read, Write, Glob, Grep (と harness が足すツール) だった。まだ無い日付ディレクトリの下へファイルを書かせ (ディスク上で確認)、Glob でそのファイルを見つけさせた (agent の報告で成功)。Grep は呼んでいない

同伴 (配布物に届かない変更)

  • ISSUE-92 と ISSUE-93 は、実装の PR でクローズした
  • ISSUE-64 の「description を README 用に分けるか」のタスクを済みにし、追記した

commit range: v0.16.0..v0.17.0 (9ae4082 と a95616c の 2 コミット、PR #93 と #94)