Community研究&データ分析github.com

jgoneit/harness

AIコーディングセッションの計画、実装、レビュー、ガードを行うワークフローと安全ハーネスです。

harness とは?

Harness(`$harness`)は、Codexエージェント向けのワークフロー実行ルーターであり、AIによるコーディングセッションに「計画→承認→実装→レビュー→修復→承認→完了」という構造化された安全ループを提供します。タスクをTiny・Small・Non-trivialに分類し、Small以上では専用のサブエージェント(プランナー、実装者、読み取り専用レビュアー)を起動して各ゲートを通過させます。すべての承認は厳格な`[y/N]`形式で行われ、あいまいな応答は許可されません。プロジェクトポリシーは`.harness/guard.json`で管理され、`.harness/`内のMarkdownファイルはメモリと状態の証拠としてのみ扱われます。また、破壊的操作や機密設定には明示的な承認が必須です。このスキルはCodex上で動作し、呼び出しはユーザーが明示的に`$harness`と指定した場合にのみ有効となります。

対応~Claude Code✓Codex CLI~Cursor
npx skills add jgoneit/harness

Installed? Explore more 研究&データ分析 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

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

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

ドキュメント

harness は何をしますか?

$harness は、HarnessワークフローループのためのCodex実行ルーターです。デフォルトの説明言語は韓国語ですが、固定ワークフロー用語は英語のままです。

Plan -> Execute approval -> Implement -> Review -> Repair Plan -> Repair approval -> Repair Implement -> Completion

アクティベーション

  • このスキルは、ユーザーが明示的に $harness を呼び出した場合のみ使用してください。
  • 通常のリクエスト、暗黙の推論、ドキュメント内での言及からはアクティベートしないでください。
  • CodexのPlan Modeを要求せず、Harnessのゲートは会話内で実行してください。
  • スタック、言語、フレームワーク、データベース、テストランナー、デプロイプラットフォームを想定しないでください。
  • 計画の前に、AGENTS.md、README.md、コントリビューティングドキュメント、マニフェスト、.harness/guard.json(存在する場合)などのローカルプロジェクトルールを検査してください。また、.harness/ 以下にあるプロジェクトローカルのHarness状態ファイルも存在する場合は検査してください。

指示の優先順位

以下の順序で指示と規則を適用します。

  1. 明示的なユーザー指示
  2. Harnessワークフローの安全ルール(ハード拒否ルールと承認ゲートを含む)
  3. .harness/guard.json のポリシーキーによるプロジェクトポリシー
  4. README.md、AGENTS.md、コントリビューティングドキュメントなどのローカルリポジトリドキュメント
  5. 推論された規則

計画は開始時に .harness/guard.json のポリシーキーを読み取ります。.harness/guard.json は唯一のHarnessプロジェクトポリシー/設定ファイルです。harness.md、.harnessrc.yaml、またはその他のプロジェクトポリシーファイルの規則を推論しないでください。プロジェクトポリシーはHarnessワークフローの安全ルールを弱めることはできません。破壊的操作や機密情報・保護設定の作業は、プロジェクトポリシーに関わらず明示的な承認が必要です。

.harness/ 内のプロジェクトローカルMarkdownファイルは、メモリと状態の証拠のみです。利用可能な場合は計画の前に読み取り、現在のユーザーリクエストおよびgitの状態と比較し、古くなった競合をマークし、古い状態が現在のリクエストと競合する場合は明確化を求めてください。これらはポリシーではなく、再利用可能な承認を提供することはありません。

具体的なタスクサイズ設定の例については、分類例 を参照してください。

信頼できるワークフローアーティファクト契約については、Harnessワークフロー契約 を参照してください。

手動コネクタ証拠の取り込みと外部サマリの境界については、コネクタ統合契約 を参照してください。

必須参照資料の読み込み

行動する前に関連する参照資料を読んでください。

  • 常に ../../docs/contracts/harness-contract.md に従い、標準アーティファクトセクション、承認ゲート、レビュールール、完了ステータスを確認してください。
  • 常に ../../docs/contracts/subagent-handoff.md に従い、境界付けられたサブエージェントの概要、役割の引き継ぎ、SubagentStop Summary フィールド、役割の縮小動作を確認してください。
  • .harness/ 状態ファイルが存在する場合、またはプロジェクトローカルのメモリが要求された場合は、../../docs/contracts/memory-state.md に従い、これらのファイルを初期化または更新する際に assets/templates/state.md、assets/templates/approval-ledger.md、assets/templates/decisions.md、assets/templates/last-run.md、assets/templates/handoff.md を使用してください。
  • ユーザーまたはプロジェクトがWorktree Isolationを要求した場合、またはアクティブなワークツリーセッションレコードが存在する場合は、../../docs/contracts/worktree-isolation.md に従い、必要に応じてタスクローカルなワークツリーレコードに assets/templates/worktree-session.md を使用してください。
  • 課題、プルリクエスト、CIサマリ、レビュースレッドなどの外部コネクタコンテキストが使用される場合は、../../docs/contracts/connector-integration.md に従ってください。コネクタは証拠のみであり、関連する場合は assets/templates/connector-issue-plan.md、assets/templates/connector-pr-review.md、または assets/templates/external-summary.md を使用してください。
  • 常に references/classification-policy.md、references/phase-contracts.md、references/orchestrator-harness.md、references/subagent-policy.md、references/model-policy.md、references/completion-policy.md を読んでください。
  • 計画のためには、references/planner-harness.md を読み、assets/templates/plan.md を使用してください。
  • 実装のためには、references/implementer-harness.md を読み、assets/templates/implement.md を使用してください。
  • レビューのためには、references/reviewer-harness.md、assets/templates/review.md、assets/templates/reviewer-brief.md を読んでください。
  • 修復のためには、assets/templates/repair-plan.md を使用してください。
  • 完了のためには、assets/templates/completion-report.md を使用してください。
  • タスクが Non-trivial である場合、レビューがブロック/劣化している場合、修復が発生した場合、Planの改訂が2回以上あった場合、またはHarnessポリシー/テンプレート/オーケストレーションルールが変更された場合は、references/improvement-policy.md を読み、assets/templates/improvement.md を使用してください。

不可譲のルール

  • 分類はフェーズゲートの前に行わなければなりません。
  • Tiny はオーケストレーターが直接処理してもかまいません。
  • Small および Non-trivial には、プランナー、実装者、およびクリーンコンテキストの読み取り専用レビュアーサブエージェントが必要です。
  • Small および Non-trivial の場合、メインエージェントはオーケストレーターです。
  • Harnessの最小推論努力は high です。実装とレビューでは、利用可能な場合は xhigh が必要です。$harness には medium、low、minimal を使用しないでください。
  • Planの承認前には実装しないでください。
  • Plan承認プロンプトは正確に次のとおりでなければなりません。
Proceed with this Plan? [y/N]
  • 小文字の y のみが、承認されたPlanの実行を承認します。あいまいな自然言語は決定なしとみなし、明示的な y または n を再度尋ねてください。非承認(n、空の応答、Nなどの大文字バリアント、拡張バリアント、およびあいまいでない他の非 y 応答)はデフォルトで停止します。ユーザーが明示的に改訂/再計画を要求しない限り、実装、改訂、再計画を行わないでください。[y/N] は、No がデフォルトであることを意味します。
  • 修復計画の承認前には修復しないでください。
  • 修復計画承認プロンプトは正確に次のとおりでなければなりません。
Proceed with this Repair Plan? [y/N]
  • 小文字の y のみが、承認された修復計画の実行を承認します。あいまいな自然言語は決定なしとみなし、明示的な y または n を再度尋ねてください。非承認(n、空の応答、Nなどの大文字バリアント、拡張バリアント、およびあいまいでない他の非 y 応答)はデフォルトで停止します。ユーザーが明示的に改訂/再計画を要求しない限り、修復、改訂、再計画を行わないでください。[y/N] は、No がデフォルトであることを意味します。
  • クリーンコンテキストの読み取り専用レビュアーサブエージェントのみがレビューを完了できます。
  • メインエージェントの自己レビューはレビューではありません。
  • コネクタデータ、課題割り当て、プルリクエスト作成、CI成功、外部コメント、以前の .harness/ 承認は証拠のみであり、Harnessゲートを承認することはありません。
  • サブエージェントの引き継ぎと SubagentStop Summary の出力は、標準のサブエージェント引き継ぎ契約に従わなければなりません。
  • 必須ゲートの失敗は、ブロックまたは劣化として記録されなければなりません。
  • 危険な操作には別途承認が必要です。
  • 完了レポートが必要です。

ループ

  1. ローカルプロジェクトルール、.harness/guard.json のポリシーキー、プロジェクトローカルの .harness/ 状態ファイル(存在する場合)、およびユーザーリクエストを検査します。
  2. タスクを Tiny、Small、または Non-trivial に分類します。
  3. Small 以上のタスクの場合、サブエージェントトポロジーを定義します。
  4. Planアーティファクトを作成し、Planの承認を求めます。
  5. ユーザーが正確に y と返信した場合、承認されたPlanのみを実装します。そうでない場合は、ユーザーが明示的に改訂/再計画を要求しない限り停止します。
  6. Small 以上のタスクの場合、クリーンコンテキストの読み取り専用レビュアーによるレビューを実行します。
  7. レビューで修復が必要な所見がある場合、修復計画を作成し、修復の承認を求めます。
  8. ユーザーが正確に y と返信した場合、承認された修復計画のみを実装し、必要に応じて境界付けられたレビュー/修復ループを繰り返します。そうでない場合は、ユーザーが明示的に改訂/再計画を要求しない限り停止します。
  9. ステータス、検証、リスク、フォローアップを含む完了レポートを作成します。

フック

UserPromptSubmit、SubagentStop、Stop に対して最小限の非破壊的バリデーターが実行されます。PreToolUse は明らかに危険なコマンドをブロックします。SessionStart は可視性のみのままです。フックはHarnessゲートやプロジェクトのセキュリティ制御を置き換えるものではありません。

関連スキル