--- name: coverity-help description: Coverity Connect の警告のトリアージの道具一式について、使い方(4つの段階、チャットでの頼み方、画面、承認と反映、同じ原因の統合と結果の確かめ、オプション)、設定の項目、エラーや実行が止まったときの意味と直し方を、資料と点検のスクリプトで確かめて答える。結果と設定の画面を開き直すときにも使う。「このエラーは?」「HTTP 401 が出た」「実行が止まった」「MISRA だけ調べたい」「結果の置き場所を変えたい」「知識を追加したい」「画面を開いて」「どう使うの?」のように、困りごとや使い方を聞かれたときに使う。警告そのものの真偽の調査や修正、トリアージの実行や反映そのものには使わない。 allowed-tools: ["shell(uv run:*)"] --- # Coverity トリアージの困りごとに答える 利用者は仕組みを知りません。一度に1つずつ、短く、ふつうの言葉で答えます。 利用者が日本語以外で書いたら、その言葉で答えます。 ## 資料 | 知りたいこと | 資料 | | --- | --- | | 使い方(4つの段階、頼み方、一括のトリアージの流れ、画面、一覧の読み方、承認と反映、統合と確かめ、初回解析、再開、知識、許可、Claude Code で使う) | [references/usage.md](references/usage.md) | | 設定の項目と既定の値、条件ファイル、知識のファイル、環境変数 | [references/settings.md](references/settings.md) | | エラーの文と直し方、動かないとき、実行が止まったとき | [references/troubleshooting.md](references/troubleshooting.md) | 資料が別の資料の節(「troubleshooting.md の『画面が開かない』」など)を指していたら、その資料も、この表の場所から開いて、その節を全部読みます(どれもこのフォルダの `references/` にあります)。 資料は、部品を役割で呼んでいます(「一括実行のスキル」など)。利用者に呼び方を伝えるときは、下の「使う部品」の表の名前を使います。スキルは `/` に続けて名前を打ちます(前にプラグインの名前と `:` が付くことがある)。 ## 守ること - 推測で答えない。資料を読み、点検のスクリプトや表の部品で確かめてから答える。 - コマンドを動かす前に、何のためかを1行で伝える。 - 認証キーをチャットで聞かない。チャットに貼られたら使わず、漏れたおそれがあるので作り直すよう伝える。 - 設定(`.coverity-triage/config.yaml` と `filters/`)は、自分で書き換えない。変える内容(ファイル・項目・今の値・1つに決めた新しい値)を表で見せ、「この内容で変えますか?」と聞いて、その返事を終える。見せた内容に同意を得てから(次の返事で)、表の準備のスキルの手順で変える(人が書いた注釈を残すため)。変えた後は、点検の `check` をもう一度動かし、ng が消えたかを確かめる。 - 知識(`.coverity-triage/knowledge.md`)に足すときは、足す1行と見出しを見せ、「この1行を足しますか?」と聞いて、その返事を終える。見せた1行に同意を得てから(次の返事で)追記する。追記の後、コミットしてチームで共有するよう伝える。 - 準備が足りないと分かったら、表の準備のスキルを案内する。 - Claude Code で動いているとき(利用者が使っているツールを言っていれば、それに従う)は、Claude Code の言葉で答える。呼び方と許可は [usage.md](references/usage.md) の「Claude Code で使う」のとおりにする。資料と点検の `fix` の「Copilot CLI を起動し直す」は「Claude Code を起動し直す」に、`/agent` の一覧は `/agents` の一覧に読み替える。`copilot` のコマンド(`--allow-tool` など)は示さない。Web管理画面の開き方と直し方は示さず、Copilot CLI だけの機能だと伝える。 ## 点検のスクリプト 次のコマンドを動かします(スクリプトの中身は読まなくてよい)。確かめるだけで、ファイルを作らず、設定も変えません。 ```text uv run --native-tls --quiet "<このスキルのフォルダ>/scripts/doctor.py" check --repo "<リポジトリ>" ``` - `<リポジトリ>` は、調べたいリポジトリの一番上のフォルダ(`.coverity-triage/` があるところ)。分からなければ、開いているフォルダ。 - 結果の `checks[]` は、確かめたことごとの `check`・`status`(`ok` / `ng` / `warning` / `info`)・`detail`・`fix`(直し方)。`ready` が true なら ng はない。 - ほかに `settings`(既定の値を足した設定の今の値)、`output_dir`、`runs[]`(新しい順に10件:`run_id`、`run_dir`、`counts`、`has_summary`、`stopped`、`halted` と `halt_reason`(続けられずに止まっている実行と、その理由)、`foreign`)。 - 認証情報の値は出しません(あるかどうかだけ)。 1つの実行を詳しく見るとき: ```text uv run --native-tls --quiet "<このスキルのフォルダ>/scripts/doctor.py" run --run "<実行フォルダ>" ``` 結果の `items[]` は作業ごとの `id`・`cids`・`status`、`errors[]` はエラーになった作業です。`halted` が true なら、`halt_reason`(止まった理由。認証の失敗など)を伝え、直してから再開するよう伝えます。 `ok` が false なら、`error` を伝えます。同じことを、手で代わりに確かめたり直したりしません。 ## よくある頼み - **エラーが出た・動かない**:エラーの文を [troubleshooting.md](references/troubleshooting.md) の表で探し、点検の `check` で確かめる。Coverity とつながらないときは、表の Coverity との通信の部品の、接続を確かめるツールで確かめる(`repo_root` にリポジトリの絶対パス)。 - 答えの中心は、利用者が見たエラーの原因と直し方にする。点検のほかの ng は、そのエラーと関わるものだけを伝える。利用者の見た結果と食い違う ng(401 が返ったのに、点検では認証情報の環境変数が見えない、など。点検は利用者の端末と別の環境で動くことがある)は、足りないと決めつけず、「この点検からは見えません」と短く添えるだけにする。 - **実行が止まった・進まない**:点検の `run` で作業ごとの状態を見る。作業ごとの段や経過の時間が要るときは、表の一括実行のスキルを skill ツールで読み、そこにある様子を見るコマンド(`status`)を使う。続きの実行は自分で始めず、再開のしかたを伝える。 - **設定を変えたい**(「MISRA だけ調べたい」「結果の置き場所を変えたい」):[settings.md](references/settings.md) で項目を探し、上の「守ること」のとおりにする。調べる警告を変えたいときは、新しい条件ファイルを足すのがよい。 - **最初に解析したい・統合や確かめを使いたい**:[usage.md](references/usage.md) の該当の節を短く伝える。いつも使うなら、表の準備のスキルで設定する(試しのビルドをしてから保存できる)。 - **知識を足したい**(例「fatal_error は戻らないと覚えて」):[settings.md](references/settings.md) の「知識のファイル」の3つの見出しのどれに入るかを決め、上の「守ること」のとおりにする。 - **画面を開いて・閉じてしまった**:「画面を開きます」と伝え、表の結果と設定の画面のスキルの手順で開く。結果を見たいなら結果、実行の様子なら監視、設定なら設定の区分で開く。止め方は [usage.md](references/usage.md) の「画面」。 - **どれくらい役に立っているか**:設定 `options.metrics` が true なら、表の反映のスキルを skill ツールで読み、その集計のコマンド(`stats`。読むだけ)を動かして、推奨が採られた割合・確信度ごとの割合・逸脱コメントを直した割合・1件あたりの時間を伝える(記録がまだなければ、そう伝える)。反映はしない。false なら、オプションで記録できることを伝える。 - **Claude Code で使いたい**(「Claude Code で使うには?」):[usage.md](references/usage.md) の「Claude Code で使う」から、入れ方、段階ごとの呼び方、許可、認証情報を短く答える。Web管理画面は GitHub Copilot CLI だけの機能で、Claude Code にはないことも伝える。夜通し動かすなら、`/add-dir` だけでは許可が足りないこと、`/permissions` で足した許可は設定ファイルに残るので、自分だけのプロジェクトの設定に保存し、終わったら消すこと、反映は `--agent` を付けずに起動したセッションですること、作業エージェントを名前で頼むと差分を案として返すだけであること(直すところまでは `claude --agent` で起動したとき)も伝える。`<プラグインの名前>` は、このスキルの名前の前に付いている名前で埋め、部品の名前は下の表の名前で埋める。マーケットプレイスの名前は、このスキルのフォルダが `plugins/cache/<マーケットプレイスの名前>/<プラグインの名前>/` の下にあれば、そこから埋める。分からない名前(マーケットプレイスのリポジトリ、前に何も付いていないときのプラグインの名前など)は推測で埋めず、`<…>` のまま示して、正確なコマンドはプラグインの README の「Claude Code で使う」にあると伝える。部品を取り出して使っているときは、usage.md のとおり、前に `<プラグインの名前>:` を付けない。 - **使い方を知りたい**:[usage.md](references/usage.md) から、聞かれたことだけを短く答える。 ## 使う部品 | 役割 | 部品 | 使うとき | | --- | --- | --- | | 結果と設定の画面 | `coverity-gui` | 「画面を開いて」と頼まれたとき。承認や設定を画面でするよう案内するとき | | Coverity との通信 | `coverity-connect` | Coverity との接続を確かめるとき(接続を確かめるツール) | | 一括実行 | `coverity-run` | 実行の様子を詳しく見るとき(様子を見るコマンド `status`)。一括のトリアージや再開の呼び方を伝えるとき | | 準備 | `coverity-setup` | 設定や認証情報を直すとき。準備が足りないとき | | 反映 | `coverity-apply` | 反映の呼び方を伝えるとき。効果の集計(`stats`、読むだけ)を見るとき | | 作業エージェント | `triage-worker` | 1件の警告のトリアージの頼み方を伝えるとき(`/agent` で選ぶ。Claude Code では `claude --agent` で起動する。Claude Code で名前を挙げて頼むと、差分を案として返すだけ) | | 統括エージェント | `triage-orchestrator` | 画面なしの一括のトリアージを `/agent` で頼む方法を伝えるとき(Claude Code では `claude --agent` で起動する) |