Communityコーディング&開発github.com

wptoux/harness2

一度受け入れられたタスクを反復・定着させるためのスキル。定期レポート、複数情報源の調査など、個人の記憶に依存するワークフローを固化します。

harness2 とは?

Harness²(ハーネス二乗)は、AIエージェント(Claude Code、Cursor、Codexなど)向けのスキルで、一度成功したタスクを繰り返し実行可能なプロセスとして固化することを目的としています。このスキルは、ユーザーが受け入れた実行を唯一の信頼できる基準点とし、その実行の軌跡やユーザー自身が編集した箇所を分析して、プロセスの欠陥を特定します。「Propose(提案)→ Probe(検証)→ Compose(構成)」というループを通じて、システムプロンプト、ツールガイダンス、スキル、ガードレールなどからなる編集可能な「ハーネス」を作成します。さらに、SOP(標準運用手順書)と回帰テスト用のチェックリストも生成し、プロセスの再現性と安定性を高めます。このスキルは、単発のタスクには使用すべきではなく、すでに安定したプロセスに無駄な変更を加えることも避けるべきです。

対応~Claude Code~Codex CLI~Cursor
npx skills add wptoux/harness2

Installed? Explore more コーディング&開発 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Harness² — 反復タスクのハーネス化

Harness²: Recursive Agent Harnessing for an Open World を基に、 一度実行が受け入れられ、それを繰り返すことを目的とするケースに絞って適用したものです。

概要

一度成功することと、再現可能であることは同じではありません。受け入れられた実行は、唯一信頼できる基準点です。そこには実際の成果物、実際の軌跡、そしてユーザー自身が編集した箇所が含まれています。

最適化の対象は次回の実行のプロセスであって、今回の成果物ではありません。そのため、出力はより良いレポートではなく、ハーネス、SOP、および回帰チェックリストです。

使用すべき状況

  • ユーザーが「これから毎週これをやる」「このプロセスを確定しよう」と言った場合
  • 同じ種類のタスクが少なくとも一度実行され、その結果が受け入れられた場合
  • プロセスが誰かの頭の中にしかない場合:どのスクリプトを先に実行するか、どのステップで人間の確認が必要か、どこに落とし穴があるか
  • 同じ種類のタスクが同じように失敗し続ける場合:出典の帰属漏れ、定義の不一致、絶え間ない手戻り

使用すべきでない状況

  • 単発のタスク → そのまま実行する
  • 実際の評価者、単体テスト、または計算可能な合格基準が存在する → それを使ってください。行動比較よりもはるかに優れています
  • ユーザーがフォーマットや定義の変更のみを求め、具体的に指示している → ハーネスを直接編集し、比較ループをスキップしてください
  • プロセスがすでに安定しており、コストやレイテンシが重要である

ハーネスとは

モデルの周りにあり、編集可能なものすべてです。4つあれば十分に実行でき、8つが完全なセットです。

コンポーネント役割最小構成
システムプロンプト役割、出力契約✅
ツールガイダンス各データソースの使用方法、引数の指定方法✅
スキル再利用可能な判断と手順✅
ガードレールハード制約(数値の捏造禁止、出典の明記必須)✅
メモリインスタンス間で引き継ぐドメインノート
スクリプト決定的な作業(変換、重複排除、集計)
サブエージェント検証や並列検索の切り出し
プラグインミドルウェア(Nステップごとに自己チェックを強制)

ハーネスは差分を取って再利用できるように、ファイルとして存在しなければなりません。「いつもこんな感じでやっている」というチャット内の口伝では固化できません。

ループ: Propose(提案) → Probe(検証) → Compose(構成)

0. ベースラインを凍結する

前回の実行を完全にアーカイブします:ハーネスのスナップショット、完全な軌跡(ツール呼び出しシーケンス + 中間成果物)、最終成果物、ユーザーの編集差分、合格基準、データスナップショットまたは時間枠。

ユーザー自身が編集した箇所は、信頼性の高い欠陥箇所であり、いかなる推測よりも信頼できます。

1. 提案

ベースラインを読み、2つの候補を提案します。各候補には、それが対象とする欠陥を一文で示します。

  • 不変的欠陥: プロセスの欠陥 — 相互チェックの欠如、中間結果の非永続化、失敗の再試行なし、出典の未ラベル付け、コンテキストの肥大化
  • ドメイン的欠陥: このタスククラスに固有の専門的制約 — 定義の一貫性、通貨または単位の変換、時間枠の整合性

両方が必要です。「一般的な疾患」と「このタスククラスに固有の疾患」を区別するためです。候補が1つだけでは、結果を原因に帰属できません。

2. 検証

同じ入力で再生し、変数を制御します:同じモデル、同じツールセット、同じデータスナップショット。ハーネスのみを変更します。

2つの項目を比較します。

  1. ベースラインに対する行動の差異: ツールセットと順序、ステップ数、繰り返し呼び出し、エラーと再試行、人間による修正ポイントが消失したか、中間結果が永続化されたか、出典が完全に帰属されたか
  2. 再生の一貫性: もう一度実行する — 構造は同じですか?固化の核となる指標は安定性であり、単回の最良値ではありません

比較は「行動が変わった」ことを示します。「結果が正しい」ことを示すわけではありません。この2つを混同してはいけません。

3. 構成

次の条件を満たす変更のみを保持します:(a) 再生後も合格基準を満たす、(b) 手戻りや人間による修正を減らす。元の状態を維持することも許容されます — 証拠のない変更はノイズです。

すべての決定を1行で記録します:変更 | 対象とした欠陥 | 観察された証拠 | 採用 / 修正 / 却下

4. 固化

3つの成果物。1つ欠けても固化したとは言えません。

  • harness/ — 編集可能なファイル群
  • SOP.md — 手順、チェックポイント、人間に問い合わせるべきタイミング、既知の落とし穴(10項目を超えると誰も読まない)
  • REGRESSION.md — 次回の実行後に確認するための合格チェックリスト

変更が複数回にわたって採用された場合、それをスタンドアロンのスクリプトまたはスキルに昇格させます。

証拠の階層

ユーザーの編集差分 > 受け入れられた成果物との比較 > 再生の一貫性 > 軌跡の差異 > 直感

証拠ではないもの: より長いまたは詳細なレポート、「今回はユーザーが文句を言わなかった」、モデルがより良い結果を出したと主張すること。

予算

デフォルトはk=1プラス1回の再生。固化は時間をかけて効果を発揮するため、複数回のラウンドに分散させます:毎回の反復実行中に1つの候補だけを検証し、すべての並列ブランチを一度に3倍のコストで実行するのを避けます。

赤信号 — 見つけたら停止

  • 前回のハーネスをユーザーの編集差分を読まずにそのまま継承する
  • 異なる入力、モデル、またはデータスナップショットで再生し、それでも「より良い」と主張する
  • 1回の再生だけで結論を出し、ランダム性を排除していない
  • 5つのコンポーネントを一度に変更し、原因の特定を不可能にする
  • 次回誰も従わない20項目のSOPを作成する
  • 偶然の一発芸を不変的欠陥のエントリに書き込む

よくある間違い

間違い結果修正
アーカイブ前に最適化ベースライン喪失、変更の原因特定不可まずベースラインを凍結する
「読みやすい」を証拠とする好みを固化するだけで、プロセスは固化しない具体的な観察に結び付ける
プロンプトのみの変更、チェックポイントなし次回も人間が手作業で修正するすべての欠陥にチェックポイントを組み合わせる
SOPを旅行記として書く誰も読まないため、何も固化されない決定ポイントと落とし穴のみを書く

関連スキル