harness
自動化された品質チェックループと段階的なエスカレーション、修正用のサブエージェント機能
description の原文を見る
Automated quality check loops with escalation and fix sub-agents
SKILL.md 本文
Harness
自動修正ループ。各ハーネスは make ターゲットを実行し、障害を修正するためのサブエージェントを生成し、成功時にコミット、枯渇時にリバートします。
パターン: .claude/harness/<name>/run + fix.prompt.md
エスカレーション: sonnet:think → opus:think → opus:ultrathink
履歴: 各ハーネスは history.md を保持し、複数回の試行間での学習に活用します。ファイルごとに切り詰め、エスカレーション全体で蓄積されます。エージェントは各試行後にサマリーを追記するため、より高度なモデルは失敗したアプローチの繰り返しを避けられます。
品質チェック
check-* 名前空間は品質チェック用に予約されています。check- プレフィックスを使用するのはこれらのスクリプトのみです。各スクリプトには、障害を修正するためのサブエージェントを生成する対応する fix-* スクリプトがあります。
コア品質チェック
6 つのコア品質チェックは、すべての作業のデフォルト終了ゲートです。作業完了時に順序通り実行します。
| スクリプト | 検証内容 |
|---|---|
check-compile | コードがクリーンにコンパイルされる |
check-link | リンカーが成功する |
check-filesize | ファイルサイズが 16KB 以下 |
check-unit | ユニットテストがパスする |
check-integration | 統合テストがパスする |
check-complexity | 関数の複雑度制限を満たす |
フル品質スイート
フル品質スイートは 6 つのコア品質チェックと以下の 5 つの追加チェックです。明示的に要求された場合のみ実行します。
| スクリプト | 検証内容 |
|---|---|
check-sanitize | Address/UB Sanitizer クリーン |
check-tsan | ThreadSanitizer クリーン |
check-valgrind | Valgrind memcheck クリーン |
check-helgrind | Valgrind helgrind クリーン |
check-coverage | 90% 行カバレッジを達成 |
その他のハーネス
品質スイートの一部ではありません。check-* プレフィックスを使用しないでください。
prune— デッドコード検出 (.claude/scripts/prune)notify— ntfy.sh 経由のプッシュ通知pluribus— マルチエージェント オーケストレーションreset-repo— jj ワーキングコピーをフレッシュな状態にリセット
CLI
.claude/scripts/check-<name>— 品質チェック ハーネス実行スクリプトへのシンボリックリンク.claude/scripts/fix-<name>— 修正ハーネス実行スクリプトへのシンボリックリンク.claude/scripts/<name>— 非品質ハーネスのシンボリックリンク
開発インナーループ
ファイルを変更した後、--file=PATH を使用してそのファイルに関連するチェックを実行します:
- 編集後毎回:
check-compile --file=PATH - テストファイルが存在する場合:
check-unit --file=PATH - その他のチェックは変更内容に応じて実施
このシングルファイル ループにとどまってください。数秒で完了します。アクティブな開発中はプロジェクト全体のチェックを実行しないでください。
check-* スクリプトの実行
すべてのチェック スクリプトは .claude/scripts/ 経由で PATH に登録されています。
- シングルファイル:
check-compile --file=PATH— チェックを 1 つのファイルに限定します。開発中の高速フィードバックに使用します。 - プロジェクト全体:
check-compile(引数なし) — すべてをチェックします。作業完了時の終了ゲートとして使用します。 - タイムアウト: 60 分のタイムアウトを使用します (
timeout: 3600000) - フォアグラウンド: 常にフォアグラウンドで実行します (
run_in_backgroundは使用しません) - ブロッキング: 完了まで出力なし — tail や監視は行わず、単に待機します
- 出力形式: 構造化 JSON:
{"ok": true/false, "items": [...]}
ライセンス: MIT-0(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- mgreenly
- リポジトリ
- mgreenly/ikigai
- ライセンス
- MIT-0
- 最終更新
- 2026/3/22
Source: https://github.com/mgreenly/ikigai / ライセンス: MIT-0