mcpField
T
toil-mining

toil-mining

github.com/boshu2生産性45040 回インストール今日更新
リポジトリ

toil-mining について

toil-miningは、指定されたセッション、シェル、RTK、CASSの履歴から反復する摩擦を見つけ、実測頻度・コスト・エラー率で順位付けするスキルです。読み取り専用で証拠を報告し、作業の起票や自動化の予約、トラッカーの変更は行いません。

主な機能

  1. 01指定履歴の読み取り専用分析
  2. 02反復操作の正規化とクラスタリング
  3. 03頻度・コスト・エラー率による評価
  4. 04追跡可能な出典参照の保持
  5. 05Codex JSONLから人間のメッセージを抽出
  6. 06観察結果と推奨事項の分離

活用シーン

  1. 01指定期間内の反復操作の調査
  2. 02所要時間と失敗に基づく摩擦の順位付け
  3. 03Codex JSONLから最近の人間の依頼を抽出
  4. 04後続の自動化判断に向けた証拠の提示

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/boshu2/agentops --skill toil-mining

インストール後、Claude Code で/toil-miningを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

scripts/
recent_human.py
validate.sh
tests/
test_recent_human.py

詳細

Toil Mining — 繰り返し発生する摩擦をランク付けする

明示的に提供されたセッション、シェル、RTK、または CASS の履歴を、ソースを変更せずにマイニングします。結果は呼び出し元にとっての根拠となるものであり、このスキルは作業の起票、自動化のスケジュール設定、トラッカーの変更を行いません。

制約

  • 提供されたソースに対して読み取り専用です。このスキルは根拠を収集するものであり、変更を加える手段になってはならないためです。
  • 作業は作成しません。トラッカー項目の起票、自動化のスケジュール設定、担当者の指定は行いません。これらは根拠をもとに呼び出し元が判断するためです。
  • 記憶ではなく計測に基づきます。すべての件数、コスト、エラー率は提供された履歴から読み取るため、直近性や印象の強さが頻度を装うことはありません。
  • 観察結果と推奨事項は分けて示します。呼び出し元は明示されていない結論を引き継ぐことなく、ランキングを再評価できます。

手順

  1. 入力ソース、対象期間、フィルター、クエリを記録します。
  2. 文書化された機械的なエコーと生成された繰り返しを除外しながら、繰り返される人間の操作を正規化します。呼び出し元から提供された Codex JSONL には、場当たり的なトランスクリプトのスキャンではなく、以下の決定論的なヘルパーを使用します。
  3. 同等の操作をクラスタリングし、代表的な根拠への参照を保持します。
  4. 計測された頻度と、経過時間、失敗回数、中断、トークンコストなどの観察された負担から、各クラスタをスコアリングします。
  5. ランク付けしたレポートを出力して終了します。

各候補には、計測された件数、ソース参照、クラスタリングの確信度、負担を示す根拠、実現可能な最小限の自動化の形を含める必要があります。観察結果と推奨事項は分けて示します。

繰り返しのしきい値:記憶ではなく計測に基づく

クラスタが手間のかかる作業として認められるには、計測された最低基準を超える必要があります。提供された期間内に少なくとも3回発生し、それぞれをソース参照までたどれることが条件です。2回の発生は偶然です。「いつもこれをやっている」という鮮明な記憶があっても、参照可能な事例が1件なら逸話にすぎません。ここで名付ける失敗モードは「印象のマイニング」です。最後に発生したときの煩わしさを基準にランク付けし、件数を基準にしないことで、静かに続く毎週の負担よりも昨日の苛立ちを上位にしてしまいます。提供された履歴から件数を確定できない場合は、実際に計測された件数を添えて、候補をしきい値未満として報告します。印象を頻度として水増ししてはなりません。

重み付けによる優先順位:頻度 × コスト × エラーの起こりやすさ

単一の要素ではなく、計測された3つの要素の積によってクラスタをランク付けします。

  • 頻度 — クラスタの件数から算出する、対象期間あたりの発生回数です。
  • コスト — 記憶ではなく根拠から得られる、1回あたりの経過時間またはトークンコストの中央値です。
  • エラーの起こりやすさ — ソース内で失敗、再試行、修正が確認された発生回数の割合です。

引用した根拠に基づいて各要素をスコアリングし、合成スコアの横に3つの入力値をそれぞれ表示して、呼び出し元が重み付けを見直せるようにします。履歴で裏付けられない要素は未計測として報告します。スコアは最低値とし、中間値を推測してはなりません。ここで名付ける失敗モードは「頻度のみのランキング」です。一方の軸しか計測していないために、毎日発生する2秒の煩わしさが、週に1度の30分かかるエラーの起きやすい作業より上位になってしまいます。積を使うのはまさに、高頻度でもコストがほぼゼロで失敗も一度もないクラスタを、あるべき位置である低い順位にするためです。

決定論的な直近の人間によるメッセージの抽出(Codex JSONL)

このヘルパーは明示的に指定されたセッションパスのみを受け付け、タイムゾーン付きの期間を明示的に指定する必要があります。

python3 skills/toil-mining/scripts/recent_human.py --since 2026-07-12T00:00:00Z \
  --until 2026-07-16T00:00:00Z /path/to/session-a.jsonl /path/to/session-b.jsonl \
  > /tmp/recent-human.json

source_path、1始まりのline、UTCに正規化されたtimestamp、リクエストのtextを含むevent_msg/user_messageレコードを抽出します。Codexの添付ファイルおよびIDEのラッパーは、# My request for Codex:より後のテキストを残すことで正規化されます。復元されたコピーやフォークされたコピーはclient_idで重複排除し、最も早い出現を保持します。

この抽出ツールは、空でないclient_idを、UI起点であることを示す高確度の境界として扱います。これを含まないレコードは、人間によるものと推測せず、missing_client_idとして報告します。また、対象を絞った以下の生成エンベロープ群を除外し、その件数を報告します。内部コンテキストタグ(環境、権限、スキル/アプリ/プラグインの指示)、新しいコンテキストにおけるファミリー横断の反証プロンプト、エージェントのMessage Type:エンベロープです。これは意図的に保守的な設計です。client_idを省略するクライアントから直接入力されたメッセージは、未検証のままです。

JSON結果には、入力数/解析数/候補数/出力数、理由別の除外数、確認済みの事実、未確認の事実が含まれます。不正なレコードは件数に含め、黙って破棄しません。このヘルパーは、指定されたJSONLのみを読み取り、標準出力にのみ書き込みます。添付ファイルの内容を読み取ったり、他のセッションを検出したり、意味をクラスタリングしたり、手間をスコア化したり、作業を記録したり、自動化をスケジュールしたりすることはありません。取得とレポートのみを行います。

出力

呼び出し元がローカル成果物を求めた場合に限り、.agents/scratch/toil-mining/YYYY-MM-DD-candidates.mdに書き込みます。それ以外の場合は、レポートをインラインで返します。確認済みのソースと未確認のソースを含めてください。担当者、優先度、主張、キュー、次のアクションは含めないでください。

品質

  • ランク付けされた各候補には、複合スコアとともに、測定された頻度、コスト、エラーが発生しやすい度合いの入力値を示します。
  • ソースには引用があり、参照先を解決できる必要があります。履歴から裏付けられない要因は、中間値を推測せず、下限値として報告します。
  • 観察結果と推奨事項は分けて記載し、レポートでは確認済みのソースと未確認のソースの両方を明示します。

参考資料

コメント