harness-creator について
harness-creatorは、新規または既存プロジェクト向けにClaude Codeのハーネスを生成します。プロジェクト構成とドメインテンプレートを分析し、計画・実装・評価を分担するエージェント構成を作成します。
主な機能
- 01プロジェクト構成と技術スタックの分析
- 02ドメインテンプレートの検出
- 03Planner、Generator、Evaluatorの役割設定
- 04ドメイン別スペシャリストエージェント
- 05スプリント契約と評価基準の設定
- 06構造化された引き継ぎによるコンテキストリセット
活用シーン
- 01新規プロジェクト用ハーネスの作成
- 02既存コードベースのエージェント設定
- 03実装前の評価可能な基準の定義
- 04引き継ぎを使った長期エージェントタスクの整理
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ fanlw0816/ harness-creator --skill harness-creatorインストール後、Claude Code で/harness-creatorを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
README.mdREADME_CN.mddocs/fusion-architecture-design.mdreferences/base/core/agents/evaluator.mdplanner.mdgenerator.mdreferences/base/core/docs/multi-agent-architecture.mdreferences/base/core/templates/evaluation-report.mdsprint-contract.mdreferences/base/evaluator/docs/evaluation-standards.mdreferences/base/evaluator/templates/bug-report.mdevaluation-criteria.mdreferences/base/multi-project/agents/api-gateway-manager.mdservice-coordinator.mdreferences/base/multi-project/docs/multi-project-coordination.mdreferences/base/multi-project/templates/api-contract.mdservice-registry.mdservice-boundaries.mdreferences/base/progress/docs/context-management.mdreferences/base/progress/hooks/pre-compact.shsession-start.shsession-stop.shreferences/base/progress/templates/active-session.mdhandoff-artifact.mdcheckpoint.mdreferences/base/safety/docs/safety-standards.mdreferences/base/safety/hooks/secret-detection.shvalidate-push.shreferences/base/settings/settings.base.jsonreferences/brainstorm/phase-2-vision.md詳細
ハーネスクリエイター
Fusion Architecture を使用して、プロジェクト向けにカスタマイズした Claude Code ハーネスフレームワークを生成します。GAN に着想を得たマルチエージェントシステムとドメインスペシャリストを組み合わせています。
クイックスタート
/harness-creator [target-dir]
- 引数あり:指定したディレクトリを使用します
- 引数なし:対象ディレクトリを尋ねます
- 新規プロジェクト(0→1):ブレインストーミングの全フローを実行します
- 既存プロジェクト(1→N):自動分析して、簡易セットアップを行います
Fusion Architecture
コアパターン:GAN に着想を得たマルチエージェント
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Planner │ ──► │ Generator │ ──► │ Evaluator │
│ (Plans) │ │ (Implements)│ │ (Grades) │
└─────────────┘ └──────┬──────┘ └─────────────┘
│
spawns specialists
│
┌────────────┼────────────┐
▼ ▼ ▼
┌──────────┐ ┌──────────┐ ┌──────────┐
│ frontend │ │ api │ │ database │
│ -dev │ │ -dev │ │ -dev │
└──────────┘ └──────────┘ └──────────┘
エージェントを分ける理由:モデルは自分の成果を確実に評価できません。平凡な出力を褒め、エッジケースを見落とします。分離することで、客観的な品質評価が可能になります。
3 つのレイヤー
| レイヤー | エージェント | 担当 |
|---|---|---|
| 意思決定 | Planner、architect-lead | プロダクトとアーキテクチャに関する意思決定 |
| 実行 | Generator、[domain]-dev | 機能の実装 |
| 評価 | Evaluator | 実装のテストと評価 |
主なコンポーネント
| コンポーネント | 目的 |
|---|---|
| スプリント契約 | 実装前に「完了」の基準を調整します |
| ドメインスペシャリスト | ドメインごとに特化した実装エージェント |
| 評価基準 | 主観的な判断を採点可能な基準に変換します |
| コンテキストのリセット | 長時間にわたるタスクのための構造化された引き継ぎ |
ワークフロー
1. 引数を解析する
- 対象パスを検証します
- 指定されていない場合は、ユーザーに尋ねます:
Where should I generate the harness? A) Current directory: . B) Specify path: [input] C) Create new project: [name]
2. 対象ディレクトリを分析する
自動検出:
- プロジェクトタイプ:
package.json→ Node.js、pyproject.toml→ Python - アーキテクチャ:
services/→ マイクロサービス、apps/+packages/→ モノレポ - 技術スタック:設定ファイルから依存関係を読み取ります
- モジュール境界:
src/、apps/、packages/を検出します - ドメインタイプ:ドメインテンプレートと照合します
分析レポートを生成 → ユーザーが確認または調整します
3. ドメイン検出(v2.0 の新機能)
Analyze project structure
│
▼
┌─────────────────────────────────────┐
│ Match against domain templates: │
│ │
│ • web-development (frontend+api+db)│
│ • game-development (gameplay+gfx+audio)│
│ • data-science (ml+data+analysis)│
│ • mobile-app (ios+android)│
│ • ... │
└─────────────────────────────────────┘
│
├─────────────┬─────────────┐
▼ ▼ ▼
Matchfound No match User specifies
│ │ │
▼ ▼ ▼
Use template Dynamic gen Custom config
4. スペシャリストを選択する
检测到项目类型: Game Development (Unity)
推荐的配置:
核心 Agents (固定):
Planner - 产品规划
Generator - 协调执行 (+Agent工具)
Evaluator - 评估实现
architect-lead - 架构决策
Specialists (可调整):
[√] gameplay-dev 游戏逻辑、机制、AI
[√] graphics-dev 渲染、shader、特效
[√] audio-dev 音效、音乐系统
[ ] physics-dev 物理模拟、碰撞检测
[√] ui-dev 游戏UI、HUD、菜单
操作:
A) 直接使用推荐
B) 调整选择
C) 添加自定义 specialist
D) 查看详情
5. ハーネスを生成する(並列実行)
速度を上げるため、サブエージェントを使用してコンポーネントを並列生成します:
User confirms generation│
├─► Subagent 1: Core agents (planner, generator, evaluator, architect-lead)
│
├─► Subagent 2: Domain specialists (from template or dynamic)
│
├─► Subagent 3: Evaluation system (skills, templates, docs)
│
├─► Subagent 4: Progress system (skills, hooks, templates)
│
├─► Subagent 5: Safety system (hooks, rules, docs)
│
├─► Subagent 6: Domain-specific skills and rules
│
└─► Main thread: Integrate results + generate settings.json
6. 生成後のガイダンス
✅ Harness generated at [target-dir]/.claude/
Next steps:
1. cd [target-dir]
2. claude
3. Run /start
ドメインテンプレートシステム
テンプレートの場所
domain-templates/
├── web-development/ # Web应用模板│ ├── template.yaml
│ └── specialists/
│ ├── frontend-dev.yaml
│ ├── api-dev.yaml
│ ├── database-dev.yaml
│ └── devops-dev.yaml
│
├── game-development/ # 游戏开发模板
│ ├── template.yaml
│ └── specialists/
│ ├── gameplay-dev.yaml
│ ├── graphics-dev.yaml
│ ├── audio-dev.yaml
│ └── ui-dev.yaml
│
├── data-science/ # 数据科学模板│ └── ...
│
└── _dynamic/ # 动态生成│ ├── specialist-template.yaml
└── detection-rules.yaml
テンプレートの構造(template.yaml)
template:
name: game-development
version: 1.0.0
# Detection rules
detection:
files: ["*.unity", "*.gd"]
directories: ["Assets/", "Scripts/"]
keywords: ["game", "unity"]
# Core agents (fixed)
core_agents:
- planner
- generator
- evaluator
- architect-lead
# Domain specialists
specialists:
- name: gameplay-dev
source: ./specialists/gameplay-dev.yaml
- name: graphics-dev
source: ./specialists/graphics-dev.yaml
スペシャリストの定義
name: gameplay-dev
description: "Specialist for gameplay logic"
delegation:
mode: spawned_by_generator
contract_required: true
domain_scope:
directories:
- "Scripts/Gameplay/"
- "Scripts/AI/"responsibilities:
- Implement game mechanics
- Create state machines
- Implement AI behavior
anti_patterns:
- "Don't put rendering code in gameplay scripts"
生成されるハーネスの構造
<target-dir>/
├── .claude/
│ ├── settings.json
│ ├── agents/
│ │ ├── planner.md
│ │ ├── generator.md # + Agent 工具
│ │ ├── evaluator.md
│ │ ├── architect-lead.md
│ │ └── [domain]-dev.md # 领域 specialist
│ ├── skills/
│ │ ├── start/
│ │ ├── checkpoint/
│ │ ├── resume/
│ │ ├── sprint-contract/
│ │ └── [domain-specific]/ # 领域特定 skills
│ ├── hooks/
│ ├── rules/
│ ├── evaluation/
│ └── docs/
├── production/
│ ├── session-state/
│ └── session-logs/
└── CLAUDE.md
重要な原則
- Generator と Evaluator の分離:同じエージェントを使用しないでください
- まずスプリント契約を作成:構築前に「完了」の基準を調整します
- ドメインスペシャリスト:Generator が委任する、実装に特化したエージェント
- コンテキストのリセット:長時間のタスクには引き継ぎ用の成果物を使用します
- 具体的な基準:主観的な判断を採点可能な基準に変換します
参考資料
コメント
Markdown 対応