harness
ドメイン特化型のエージェントチームを設計し、専門化されたエージェントを定義して、それらが使用するスキルを生成できます。複雑なプロジェクトを協調動作するマルチエージェントチームに分解する必要がある場合、適切なアーキテクチャパターン(パイプライン、ファンアウト/ファンイン、エキスパートプール、プロデューサーレビュアー、スーパーバイザー、階層型委譲)を選択する場合、.claude/agents/および.claude/skills/ファイルを生成する場合、または生成されたハーネスを検証・反復する場合に使用します。以下のトリガーに対応:ハーネス、ハーネスの構築、エージェントチームの設計、エージェントチームアーキテクチャ、マルチエージェントスキル生成、ハーネスのセットアップ、ハーネスエンジニアリング、ドメインエージェントチーム、プロジェクト用ハーネス。
description の原文を見る
Design domain-specific agent teams, define specialized agents, and generate the skills they use. Use when you need to decompose a complex project into coordinated multi-agent teams, choose the right architecture pattern (pipeline, fan-out/fan-in, expert pool, producer-reviewer, supervisor, hierarchical delegation), generate .claude/agents/ and .claude/skills/ files, or validate and iterate on generated harnesses. Triggers on: harness, build a harness, design agent team, agent team architecture, multi-agent skill generation, set up harness, harness engineering, domain agent team, harness for this project.
SKILL.md 本文
harness - エージェントチーム & スキルアーキテクト
キーワード:
harness·build a harness·design agent team·harness engineeringメタスキル: harness は、ドメイン作業を実行するチームとスキルを設計します。
Harness は複雑なタスクを、専門化されたエージェントの調整されたチームに分解します。ドメインを分析し、適切なアーキテクチャパターンを選択し、エージェント定義ファイルとスキルを生成してから、ハーネスをエンドツーエンドで検証します。
エージェントチームには以下が必要です: CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1
このスキルをいつ使用するか
- 複雑なプロジェクトを調整されたマルチエージェントチームに分解する
- 適切なアーキテクチャを選択する: パイプライン、ファンアウト/ファンイン、エキスパートプール、プロデューサーレビュアー、スーパーバイザー、または階層的委譲
.claude/agents/{name}.mdエージェント定義ファイルを生成する- バンドルされたリソースを含む
.claude/skills/{name}/SKILL.mdスキルファイルを生成する - トリガー条件を検証し、ドライランを実行し、ハーネスの有無で品質を比較する
- 以下のハーネスを構築する: 調査、コーディング、コンテンツ作成、コードレビュー、データパイプライン、マーケティング
手順
ステップ1: ドメイン分析
タスクとプロジェクトコンテキストを分析します:
- コードベースまたはユーザーリクエストを読んで、ドメイン、サブタスク、出力を特定する
- ユーザーの専門知識レベルを検出する(初心者 → 詳細なスキャフォルディング; 専門家 → シンプルな定義)
- 個別のタスクタイプをリストアップする — これらはエージェントロールにマップされます
- 実行モードを決定する:
- エージェントチーム(デフォルト): 2つ以上のエージェントが通信またはクロス検証を必要とする →
TeamCreate+SendMessageを使用 - サブエージェント(軽量): タスクが独立しており結果はオーケストレーターに返すのみ →
Agentツールを使用
- エージェントチーム(デフォルト): 2つ以上のエージェントが通信またはクロス検証を必要とする →
ステップ2: チームアーキテクチャの設計
タスク構造に基づいてパターンを選択します(references/agent-design-patterns.mdを参照):
| パターン | 使用する場合 | 例 |
|---|---|---|
| パイプライン | 順序的に依存するステージ | 設計 → コード → レビュー → デプロイ |
| ファンアウト/ファンイン | 並列した独立した作業を最後にマージ | 4人の調査員 → シンセサイザー |
| エキスパートプール | 入力タイプによる動的ルーティング | セキュリティ、パフォーマンス、またはスタイルエキスパートへのルーティング |
| プロデューサーレビュアー | 生成 + 検証サイクル | ライター + エディターループ |
| スーパーバイザー | 動的割り当てを行う中央コーディネーター | スーパーバイザー + マイグレーター |
| 階層的委譲 | 再帰的分解(最大2レベル) | PM → テックリード → エンジニア |
主要ルール:
- エージェントチームがデフォルトです; エージェント間通信が不要な場合のみサブエージェントを選択します
- すべてのエージェントはファイルベース (
.claude/agents/{name}.md) である必要があります —Agentツールプロンプトにロールをインラインで埋め込まないでください - チームのネストを避けます(チームメンバー自体がチームを作成することはできません)
- 階層的委譲の最大2レベル
ステップ3: エージェント定義ファイルの生成
各エージェントに対して .claude/agents/{agent-name}.md を作成します。このテンプレートを使用します:
---
name: {agent-name}
description: {ロールと活動化条件}
model: opus
allowed-tools: {ツールリスト}
---
# {Agent Name}
## コア責任
- {主要責任1}
- {主要責任2}
## 運用原則
1. {原則1}
2. {原則2}
## 入力プロトコル
- 受け取る: {このエージェントが使用する入力}
- フォーマット: {予想されるフォーマット}
## 出力プロトコル
- 生成する: {このエージェントが配信する出力}
- フォーマット: {出力フォーマットと場所}
## エラーハンドリング
- 失敗時: {リカバリー動作}
- エスカレーション: {オーケストレーターに通知するとき}
## チームコミュニケーション
- レポート先: {オーケストレーターまたはピア}
- コミュニケーション対象: {SendMessage 経由のピアエージェント}
- 完了シグナル: {完了をシグナルする方法}
特別な理由がない限り、すべてのエージェントに model: opus を使用します。
ステップ4: スキルファイルの生成
チームが必要とするスキルごとに、エージェントスキル仕様に従って .claude/skills/{skill-name}/SKILL.md を作成します:
- 「強気な」説明を書く — 特定の条件と同義語で積極的にトリガーを招待する
- なぜ(コンテキスト)を説明する、単なる何を(コマンド)ではなく
SKILL.mdを500行以下に保つ — 詳細なドキュメントはreferences/に移す- 再利用可能なロジックを
scripts/にバンドルする - プログレッシブディスクロージャーを適用する: メタデータ → 本文 → 参考資料
オーケストレータースキルテンプレートについては、references/orchestrator-template.mdを参照してください。
チームアーキテクチャの例については、references/team-examples.mdを参照してください。
ステップ5: 統合 & オーケストレーション
オーケストレーターのスキルまたはエージェントで完全なワークフローを定義します:
- フェーズの依存関係を指定します(次のフェーズが開始する前に完了する必要があるエージェント)
- データ受け渡しを定義します: 中間アーティファクトには
_workspace/にアンカーされた絶対パスを使用 - エージェント失敗、タイムアウト、データ競合のエラーハンドリングを追加
- 中間アーティファクトを保持して実行後の検証を可能にします — 削除しないでください
ステップ6: 検証 & テスト
ハーネスを使用する前に検証を実行して確認します:
bash scripts/validate-harness.sh .claude/agents/ .claude/skills/
検証チェック:
- 構造: エージェント定義ファイルに必要なセクションが存在
- トリガー条件: 20の評価クエリ(10は トリガー対象 + 10は トリガー対象外)
- ドライラン: 実際のタスクを実行せずにチーム実行をシミュレート
- 比較: ハーネスありとなしの品質(ベースライン) — +50%スコア改善を目指す
テスト方法については、references/skill-testing-guide.mdを参照してください。
例
例1: 調査ハーネス(ファンアウト/ファンイン)
プロンプト: "Build a harness for deep technology research"
生成されるエージェント:
.claude/agents/official-researcher.md — ドキュメント & 公式ソース
.claude/agents/media-researcher.md — 投資トレンド & ニュース
.claude/agents/community-researcher.md — ソーシャルレスポンス & フォーラム
.claude/agents/background-researcher.md — 競争環境
.claude/agents/research-orchestrator.md — 調査結果を統合
パターン: ファンアウト/ファンイン(4人の並列調査員 → オーケストレーター)
例2: コードレビューハーネス(エキスパートプール)
プロンプト: "Design an agent team for thorough code review"
生成されるエージェント:
.claude/agents/security-reviewer.md — OWASP、インジェクション、シークレット
.claude/agents/performance-reviewer.md — 複雑性、メモリ、レイテンシ
.claude/agents/testing-reviewer.md — カバレッジ、アサーション、モック
.claude/agents/review-orchestrator.md — 調査結果を統合
主要機能: レビュアーが直接通信(クロスドメイン問題検出)
例3: コンテンツ制作ハーネス(パイプライン + 並列)
プロンプト: "Build a harness for webtoon production"
フェーズ1(並列): worldbuilder + character-designer + plot-architect
フェーズ2(順序): prose-stylist がフェーズ1 に基づいて執筆
フェーズ3(並列): science-consultant + continuity-manager がレビュー
フェーズ4(順序): prose-stylist がフィードバックを組み込む
ベストプラクティス
- ファイルベースのエージェントを常に使用 —
Agentツールプロンプトにロールをインラインで埋め込むと、セッション全体で再利用できない - デフォルトではエージェントチーム — 調整を必要とする作業には、サブエージェントより
TeamCreate+SendMessageを優先 - 「強気な」説明 — パッシブな説明はスキルが起動することはありません; 能動的な招待を書く
- なぜを説明する、単なる何ではなく — エージェントは厳密なコマンドより推論に従う
- 中間アーティファクトを保持 —
_workspace/ファイルにより実行後の検証とデバッグが可能 - デプロイ前に検証 — 本番環境でハーネスを使用する前にトリガー評価(20クエリ)とドライランを実行
- 最大2つのヒエラルキーレベル — より深いネストは、品質向上なしに調整オーバーヘッドを発生させる
参考資料
Agent Design PatternsOrchestrator TemplateTeam ExamplesSkill Writing GuideSkill Testing Guide- harness GitHub
- Agent Skills Specification
ライセンス: Apache-2.0(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- akillness
- ライセンス
- Apache-2.0
- 最終更新
- 2026/5/12
Source: https://github.com/akillness/oh-my-skills / ライセンス: Apache-2.0
関連スキル
agent-browser
AI エージェント向けのブラウザ自動化 CLI です。ウェブサイトとの対話が必要な場合に使用します。ページ遷移、フォーム入力、ボタンクリック、スクリーンショット取得、データ抽出、ウェブアプリのテスト、ブラウザ操作の自動化など、あらゆるブラウザタスクに対応できます。「ウェブサイトを開く」「フォームに記入する」「ボタンをクリックする」「スクリーンショットを取得する」「ページからデータを抽出する」「このウェブアプリをテストする」「サイトにログインする」「ブラウザ操作を自動化する」といった要求や、プログラマティックなウェブ操作が必要なタスクで起動します。
anyskill
AnySkill — あなたのプライベート・スキルクラウド。GitHubを基盤としたリポジトリからエージェントスキルを管理、同期、動的にロードできます。自然言語でクラウドスキルを検索し、オンデマンドでプロンプトを自動ロード、カスタムスキルのアップロードと共有、スキルバンドルの一括インストールが可能です。OpenClaw、Antigravity、Claude Code、Cursorに対応しています。
engram
AIエージェント向けの永続的なメモリシステムです。バグ修正、意思決定、発見、設定変更の後はmem_saveを使用してください。ユーザーが「覚えている」「記憶している」と言及した場合、または以前のセッションと重複する作業を開始する際はmem_searchを使用します。セッション終了前にmem_session_summaryを使用して、コンテキストを保持してください。
skyvern
AI駆動のブラウザ自動化により、任意のウェブサイトを自動化できます。フォーム入力、データ抽出、ファイルダウンロード、ログイン、複数ステップのワークフロー実行など、ユーザーがウェブサイトと連携する必要があるときに使用します。Skyvernは、LLMとコンピュータビジョンを活用して、未知のサイトも自動操作可能です。Python SDK、TypeScript SDK、REST API、MCPサーバー、またはCLIを通じて統合できます。
pinchbench
PinchBenchベンチマークを実行して、OpenClawエージェントの実世界タスクにおけるパフォーマンスを評価できます。モデルの機能テスト、モデル間の比較、ベンチマーク結果のリーダーボード提出、またはOpenClawのセットアップがカレンダー、メール、リサーチ、コーディング、複数ステップのワークフローにどの程度対応しているかを確認する際に使用します。
openui
OpenUIとOpenUI Langを使用してジェネレーティブUIアプリを構築できます。これらはLLM生成インターフェースのためのトークン効率的なオープン標準です。OpenUI、@openuidev、ジェネレーティブUI、LLMからのストリーミングUI、AI向けコンポーネントライブラリ、またはjson-render/A2UIの置き換えについて述べる際に使用します。スキャフォルディング、defineComponent、システムプロンプト、Renderer、およびOpenUI Lang出力のデバッグに対応しています。