harness-engineering について
harness-engineering は、プロジェクトに Harness Engineering フレームワークを初期化するスキルです。AI 支援開発を構造化するチーム向けに、計画・実装・評価のエージェントと品質フックを設定します。
主な機能
- 01プロジェクト用ファイルの生成
- 02計画・実装・評価エージェントの設定
- 03検証可能なスプリント完了条件
- 04ループ検出と完了チェックフック
- 05計画・実装・QA・スプリント用コマンド
活用シーン
- 01新規プロジェクトの AI 支援開発フロー構築
- 02既存プロジェクトへの計画・実装・検証サイクル導入
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ kangarooking/ kangarooking-skills --skill harness-engineeringインストール後、Claude Code で/harness-engineeringを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
scripts/scaffold.pytemplates/CLAUDE.mdsettings.jsontemplates/agents/doc-gardener.mdevaluator.mdgenerator.mdplanner.mdtemplates/commands/build.mdplan.mdqa.mdsprint.mdtemplates/docs/architecture.mdgolden-principles.mdsprint-workflow.mdtemplates/docs/contracts/TEMPLATE.mdtemplates/hooks/context-injector.pyloop-detector.pypre-completion-check.py詳細
Harness エンジニアリングフレームワーク
あらゆるプロジェクトディレクトリに、完全な Harness エンジニアリングフレームワークをワンクリックで初期化します。
OpenAI(Codex)、Anthropic(3エージェント GAN アーキテクチャ)、LangChain(自己検証ループ)の知見に基づき、このスキルでは以下をセットアップします。
- 3エージェントアーキテクチャ:Planner(仕様策定)、Generator(構築)、Evaluator(テスト)
- スプリントコントラクト:コーディング前に「完了」の条件を機械的に検証可能な形で定義します
- 品質フック:ループ検出、完了前チェックリスト、コンテキスト注入
- スラッシュコマンド:
/plan、/build、/qa、/sprint - ゴールデン原則:すべてのエージェントに適用される、遵守必須の10のルール
使用するタイミング
- 新しいプロジェクトを開始し、構造化された AI 支援開発を行いたい場合
- 現在のプロジェクトに Plan-Build-Verify-Fix ワークフローをセットアップしたい場合
- ユーザーが「harness」、「init harness」、「setup framework」などと言った場合
初期化プロセス
ステップ 1:プロジェクト情報を収集する
ファイルを生成する前に、ユーザーに次の情報を尋ねます。
- プロジェクト名(または現在のディレクトリ名から判定します)
- 技術スタック(任意。例:「React + Node.js」、「Python FastAPI」、「Go マイクロサービス」)
- プロジェクトの種類(Web アプリ、API サービス、CLI ツール、ライブラリなど)
ユーザーが /harness <description> とともに説明を指定した場合は、コンテキストから情報を抽出します。
ステップ 2:フレームワークファイルを生成する
スキャフォールドスクリプトを実行します。
python3 {{SKILL_PATH}}/scripts/scaffold.py --project-name "<PROJECT_NAME>" --tech-stack "<TECH_STACK>" --project-type "<PROJECT_TYPE>" --target-dir "<CURRENT_PROJECT_DIR>"
これにより、現在のプロジェクトに次の構造が生成されます。
<project>/
CLAUDE.md # Project map (<80 lines)
.claude/
agents/
planner.md # Spec creation agent
generator.md # Implementation agent
evaluator.md # Testing/grading agent
doc-gardener.md # Doc freshness agent
commands/
plan.md # /plan command
build.md # /build command
qa.md # /qa command
sprint.md # /sprint command
hooks/
loop-detector.py # File edit loop detection
pre-completion-check.py # Task completion checklist
context-injector.py # Session context middleware
docs/
architecture.md # System design
golden-principles.md # Non-negotiable rules
sprint-workflow.md # Sprint process
contracts/
TEMPLATE.md # Sprint contract template
specs/ # (populated by planner)
plans/ # (populated by planner)
ステップ 3:フックを設定する
ファイルの生成後、フック設定をプロジェクトの .claude/settings.json にマージします(または新規作成します)。
python3 {{SKILL_PATH}}/scripts/merge_settings.py --target-dir "<CURRENT_PROJECT_DIR>"
既存の設定を上書きせずに、フック定義を追加します。
ステップ 4:インストールを確認する
すべてのファイルが作成されたことを確認します。
ls -la CLAUDE.md .claude/agents/ .claude/commands/ .claude/hooks/ docs/
作成されたファイルと、使い始める方法をユーザーに伝えます。
初期化後の使い方
| コマンド | 用途 |
|---|---|
/plan <description> | 1~4文から機能仕様を作成します |
/build | スプリントワークフローを使って、直近の仕様を実装します |
/qa | 現在のコードに対して Evaluator を実行します |
/sprint <description> | 最初から Plan-Build-Verify のサイクル全体を実行します |
主な原則
このフレームワークでは、以下のルールを適用します(インストール後に docs/golden-principles.md を参照してください)。
- コードより仕様を先に - 仕様書なしに実装しません
- テスト可能な条件 - すべての機能に、機械的に検証可能な受け入れ条件を設けます
- まず自己検証 - Evaluator の実行前に、Generator が自らチェックします
- ループを認識 - 同じファイルを5回以上編集すると、停止して再評価します
- コントラクト主導 - スプリントコントラクトで、コーディング開始前に「完了」を定義します
アーキテクチャ
詳細については、インストール後に生成される docs/architecture.md をお読みください。主なフローは次のとおりです。
User Prompt → Planner (spec) → Generator + Evaluator negotiate contract
→ Generator builds → Evaluator tests → Fix loop (max 3x) → Complete