本文へ移動
cccskills
無料GitHub で公開

run-toolcall-recover

出力に court / invoke / parameter などの生のツール呼び出しマークアップが地の文へ漏れている、ツール結果が文字化けしている、「malformed tool call」が繰り返される、といった出力崩壊・文脈汚染の兆候が出たときに発動。

インストール方法を見る

含まれるファイル(2)

  • SKILL.md5.3 KB
  • notes.md444 B

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

run-toolcall-recover — 出力崩壊からの復旧と記録

ツール結果の文字化け(環境障害)が文脈を汚染すると、次トークン生成が脱線して 生のツール呼び出しマークアップ(court / invoke タグ / parameter タグ 等)が 地の文に漏れる。本スキルの責務は2つだけ:

  1. 正しく実行できるまで粘って復旧する(行動規律)
  2. 原因・効いた手を notes.md に記録する(インシデント記録)

検知は Stop/SubagentStop hook(このプラグインの hooks/detect-toolcall-leak.sh)が担保する。 記録からのスキル/フック改善は run-toolcall-improve の責務であり、本スキルでは行わない (復旧直後の汚染された文脈で本体を編集しないための分離)。

症状(どれかが出たら発動)

  • 返信本文に court、invoke タグ、parameter タグ、<function_calls> がそのまま現れる
  • 「Your tool call was malformed and could not be parsed」が繰り返される
  • ツール結果が文字化け・途中で途切れる・無関係なタグが混入する

最重要ルール

  • 正しく出せるまで粘る: 撤退・回数制限はしない。クリーンなツール呼び出しが通るまで、正規の function-call チャネルで出し直し続ける。
  • ユーザーに通知・謝罪しない: 漏れの説明や謝罪でターンを消費しない。汚染された文脈で謝罪文を生成すると、その生成自体がさらに脱線・再崩壊を招く。黙って直し、作業を前に進める。
  • invoke/parameter タグを手書きしない: ツール呼び出しは必ず正規の function-call チャネルで。地の文にマークアップをテキストとして書かない。
  • 化けた結果は文脈汚染と疑う: ツール結果が文字化けしたら、その内容を根拠に推論を続けない。
  • 連発しない: 崩壊中は単一・最小のツール呼び出しで ground truth を取り直す。cat/大量出力は避ける(再汚染の元)。

復旧手順

  1. クリーンに出し直す: 直前のツール呼び出しが malformed だったら、同じ呼び出しを正規 function-call 形式で(court や生タグを付けずに)もう一度出す。通るまで繰り返す。
  2. 事実を取り直す: 推論の前提が化けた結果に依存していたら、grep や 1ファイルの Read 等、単一・最小のクリーンな呼び出しで ground truth を確認する。
  3. 前進: クリーンな結果が取れたら通常作業へ戻る。中断した本来のタスクを続行する。
  4. 記録: 復旧したら 必ず notes.md に追記する(下記)。

記録(notes.md)

復旧のたびに、このスキルの notes.md へ1件追記する:

  • 日付 / 何で止まったか(症状・トリガ) / 推定原因 / 何で直ったか(効いた手) / 新たに分かった予防策

記録はここまで。この場で SKILL.md や hook を編集しない。 繰り返しパターンの抽出と本体更新は、復旧が落ち着いた後(クリーンな文脈)で run-toolcall-improve を起動して行う。

hook との関係

主トリガーは hook であり、手動起動(user-invocable)はその受け皿(hook 不在環境・先回りでの参照用)と位置づける。

  • Stop/SubagentStop hook が最終メッセージ内の生マークアップ(invoke と parameter タグの共起など)を検出し block して再生成を強制する。クリーンになるまで何度でも block する(撤退しない)。
  • hook 自身がエラー/判定不能なとき(jq 不在・transcript 不読)だけ fail open(exit 0)。
  • 誤検知回避のためコードフェンス内の言及は除外している。

Gotchas

  • このスキルや notes.md で invoke/parameter タグを例示するときは必ずコードフェンス内に置く(hook の誤検知回避)。
  • 根本原因は環境側のツール結果文字化け。スキル/hook は被害抑制であり、化け自体は防げない。
  • 「化けたから」と同じコマンドを盲目的に連打しない。1回化けたら出力を確認してから次の単一呼び出しへ。
  • 復旧直後の文脈は汚染されている前提。SKILL.md/hook の編集をその場でやらない(run-toolcall-improve に回す)。

Files in this skill

  • notes.md — 崩壊インシデントの記録(症状・原因・効いた手・予防策)。復旧のたび追記する。教訓の本体反映と改善履歴の管理は run-toolcall-improve が行う

Additional resources

  • 検知 hook: このプラグインの hooks/detect-toolcall-leak.sh(Stop/SubagentStop に登録)
  • 改善スキル: 同梱の run-toolcall-improve(notes.md からパターン抽出 → サブエージェントで本体更新)

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

run-toolcall-improve

無料日本語概要

「ハイジーン改善」「notes の教訓を反映して」と言われたとき、または出力崩壊からの復旧が落ち着いて run-toolcall-recover の notes.md に未反映のインシデント記録が溜まっているときに発動。

nam-tech-studio/toolcall-recover262026年6月22日 更新

nam-tech-studio のスキルをすべて見る

このスキルの問題を報告する