Skip to content

xclang-brain/coverity-triage-kit

v0.2.0MIT

Coverity Connect の警告をトリアージし、警告ごとに修正案と逸脱コメント案の両方を作るプラグイン(C / C++、標準・MISRA・CERT)。スキルや MCP サーバー1つ、作業エージェント1つ、一括のトリアージ、Web管理画面つき、の4つの段階で使える。

変更履歴

利用者から見て変わったことを書きます。新しい版が上です。

0.2.0(2026-11-09)

Claude Code でも使えるようにしました。GitHub Copilot CLI での入れ方・呼び方・許可のしかたは変わりません。エージェントの定義は Claude Code の形をもとに作り直したので、Copilot CLI でも、エージェントの振る舞いが少し変わったところがあります(下の「エージェントを作り直した」)。

Claude Code で使える

  • 同じプラグインを、Claude Code にも入れられます(claude plugin install coverity-triage-kit@plugin-market-place)。リポジトリの一番上に、Claude Code 用のマーケットプレイスの一覧を足しました。
  • 1〜3段階目(スキル、MCP サーバー、作業エージェント、統括エージェントでの一括のトリアージ)が使えます。4段階目の Web管理画面は、Copilot CLI だけです。
  • 呼び方、前もって許可するしかた、認証情報の渡し方は、README の「Claude Code で使う」にあります。部品だけを .claude/agents/ と .claude/skills/ に取り出す手順は、各エージェントの README にあります。
  • 困ったとき・自己診断・一括実行の許可の案内・画面の入口のスキルが、Claude Code で動いているときは Claude Code の言葉で答えます(Copilot CLI での振る舞いは、下の「どちらのツールにも効く直し」のほかは同じ)。自己診断は、Claude Code では Web管理画面の確かめを skip にします。画面の入口のスキルは、Claude Code では画面を開かず、統括エージェントでの始め方を伝えます。
  • 夜通し動かすときは、起動のときに claude --add-dir … --allowedTools … で許可しておくのが確実です。チャットでするときは、/add-dir に加えて、/permissions で uv のコマンド・スキルを使うこと(Skill(coverity-triage-kit:*))・入れたプラグインのフォルダを読むこと(Read(~/.claude/plugins/cache/plugin-market-place/coverity-triage-kit/**))・実行フォルダに書くこと(Edit(//<output_dir の絶対パス>/**))・Coverity から読む4つのツールを許可します。スキルは許可(allowed-tools)を持つので使う前に毎回確認が出て、プラグインのフォルダはリポジトリの外なので参照資料を読むたびに確認が出るためです。書く許可は、実行フォルダの中だけに効きます。/permissions で足した許可は設定ファイルに残るので、自分だけのプロジェクトの設定に保存し、実行が終わったら消します。
  • Claude Code では、一括実行は許可の案内を示したところで止まり、「始めて」と返すまで待ちます。頼みの文に「許可は起動のときに済ませました」か「途中で質問せず」を添えると、待たずに始まります。
  • 作業エージェントは、claude --agent coverity-triage-kit:triage-worker で起動したときに、差分を見せて、同意したときだけファイルを直します。名前を挙げて頼んだときは、差分を案として返すだけです。
  • 反映(/coverity-triage-kit:coverity-apply)は、--agent を付けずに起動した Claude Code で行います。

エージェントを作り直した

  • 4つのエージェント(作業・統括・検証・統合)を、Claude Code の形で作り直し、Copilot CLI の定義も同じ中身にそろえました。使う部品の表と決まりは同じで、道具の言葉だけがツールごとに違います。
  • 作業エージェントは、頼みの文が指示ファイル(作業用のコピーと結果のファイルを示したもの)を指すときだけ、ほかのエージェントからの頼みとして動きます。それ以外は、利用者との会話として動きます。作業中のファイルを直す同意は、利用者からだけ受け取ります。

どちらのツールにも効く直し

  • 一括実行:途中の実行があるとき、頼みの文が「前回の続きから」を求めていれば、聞かずに再開します。tick の待ちは tick 自身がします(既定 20 秒、sleep などのコマンドで待たない)。理由や本文を渡す引数は '…' で囲みます("…" の中の $ や ` が展開されないように)。
  • 自己診断:2-7(書き戻しを断る)で、許可の確認を断って呼べなかったときを「断った」と数えず、要確認にします。2-7 と 3-4 で、対象のリポジトリ(repo_root)を渡します。ツールが一覧に見えないときは、ツールを探すツールがあれば探してから、ないと決めます。
  • 画面の入口:画面のツールがなかった後に、利用者が表の部品を自分で呼んだときは、その部品の手順に従います。統括エージェントが一括の実行を進めているときは、このスキルは何もしません。

0.1.0(2026-11-08)

最初の版です。

4つの段階で使える

  • 1段階目:スキル1つ、または MCP サーバー1つで、1つの仕事ができます。チェッカーの見方、1件の警告の真偽の調査、修正、逸脱コメント、結果の記録、結果の確かめ、同じ原因の統合、準備、一括実行、反映、結果と設定の画面、Coverity Connect との通信です。スキルは、フォルダだけをコピーしても(名前を変えても)使えます。
  • 2段階目:作業エージェント1つで、1件の警告(CID)のトリアージを最後まで行えます。チャットで頼むだけで動きます。
  • 3段階目:統括・作業・検証・統合のエージェントで、条件に合う警告を一括でトリアージします。Web管理画面は要りません。/agent で統括エージェントを選ぶか、/coverity-run で始めます。
  • 4段階目:Web管理画面で、開始の設定・監視・止める・結果の確認・Issue の起票ができます。チャットで「Coverity の警告をトリアージして」と頼みます。

試験

  • モデルを使わない試験を、プラグインのフォルダで python3 tests/run.py(Windows では py -3 tests/run.py)で動かせます。部品ごとの試験、構造、取り決めの一致、独立性、模擬の Coverity との結合、文書、画面の試験です。