ワンクリックで
run-toolcall-improve
「ハイジーン改善」「notes の教訓を反映して」と言われたとき、または出力崩壊からの復旧が落ち着いて run-toolcall-recover の notes.md に未反映のインシデント記録が溜まっているときに発動。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
「ハイジーン改善」「notes の教訓を反映して」と言われたとき、または出力崩壊からの復旧が落ち着いて run-toolcall-recover の notes.md に未反映のインシデント記録が溜まっているときに発動。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
| name | run-toolcall-improve |
| description | 「ハイジーン改善」「notes の教訓を反映して」と言われたとき、または出力崩壊からの復旧が落ち着いて run-toolcall-recover の notes.md に未反映のインシデント記録が溜まっているときに発動。 |
| user-invocable | true |
| allowed-tools | Bash, Read, Write, Task |
run-toolcall-recover が notes.md に積んだインシデント記録を読み、 繰り返しパターン・新しい検知署名・規律の穴を抽出して本体(SKILL.md / hook)に反映する。
形は orchestrated: メイン文脈が手順1〜5(読込→抽出→委譲→検証→記録)を指揮する。 ファイル編集だけをサブエージェント(Task, general-purpose)に dispatch し、 検証と履歴記録はメインで行う。fork はしない。
分離の理由: 復旧直後の文脈は汚染されている可能性が高く、その場で本体を編集すると 編集自体が脱線・破壊のリスクを持つ。改善は必ずクリーンな文脈で別途起動し、 実際のファイル編集はサブエージェントに委譲してメイン文脈から隔離する。
すべてこのプラグイン配下のパス:
skills/run-toolcall-recover/SKILL.md — 復旧の行動規律skills/run-toolcall-recover/notes.md — インシデント記録(読み取りのみ)hooks/detect-toolcall-leak.sh — 検知署名・block ロジックhooks/test-detect-toolcall-leak.sh — hook の回帰テスト(署名変更時にケース追加)skills/run-toolcall-improve/history.md(このスキル内)— 改善履歴(読み取り+追記)変更対象は上記のプラグイン配下ファイルのみ。それ以外には絶対に触れない。
notes.md・recover の SKILL.md・hook・history.md を読み、記録と現行の規律/検知のギャップを見る。 history.md は反映済み事項の台帳。既に反映済みの教訓を二重反映しない。
notes.md の記録を横断して以下を探す:
抽出結果が空(既に全部反映済み)なら、何も変更せず終了してよい。無理に変更を作らない。
Task tool(subagent_type: general-purpose)に、具体的な編集指示を渡して委譲する。 指示に必ず含めること:
サブエージェントの報告を鵜呑みにせず、メインで検証する:
bash -n)このスキルの history.md 末尾に「いつ・何を・なぜ更新したか」を1件追記する
(次回の手順1で二重反映を防ぐ台帳。notes.md には書かない — あちらは純インシデントログ)。
既存の回帰テストスクリプト(このプラグインの hooks/test-detect-toolcall-leak.sh)をまず実行する
(6パターン: leak/clean/fenced/単独court/文中court/単独タグ)。署名を追加・変更したら
このスクリプトにケースを追加してから回す。
合成 transcript は 1行=1JSON の JSONL で作る。過去の誤判定の記録より:
jq -n は既定で複数行 pretty 出力になり transcript として解析されない → 必ず jq -ncテスト例(leak ケース。タグ文字列は変数経由で組み立てる。$HOOK は検知 hook の絶対パス):
t=$(mktemp); tag='<invoke name="X"><parameter name="y">1</parameter></invoke>'
jq -nc --arg s "court $tag" '{type:"assistant",message:{content:[{type:"text",text:$s}]}}' > "$t"
echo "{\"transcript_path\":\"$t\"}" | "$HOOK"
# 期待: {"decision":"block",...} が出力される。clean/fenced ケースでは何も出力されない。
history.md — 改善履歴の台帳(いつ・何を・なぜ反映したか)。手順1で読み、手順5で追記するrun-toolcall-recover(その場の復旧と notes.md 記録)hooks/detect-toolcall-leak.sh