harness-download について
harness-download は Harness の初回セットアップを案内するスキルです。ローカルのエージェントや対象リポジトリにツールを導入するユーザー向けで、永続的なソース配置、スキルのリンク、リポジトリ導入、知識の初期化を順に進めます。
主な機能
- 01永続ソースの取得とビルド
- 02Node、Git、ビルド依存関係の確認
- 03選択したエージェントへのスキルリンク
- 04対象リポジトリでの導入継続
- 05知識初期化と最初のタスクの連携
- 06セットアップ状況と後続コマンドの提示
活用シーン
- 01マシンへの Harness ツールの初回導入
- 02選択したエージェントへの Harness スキル設定
- 03既存または新規リポジトリへの Harness 導入
- 04最初の実タスクを使った主制フローの継続
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ fairladyz625/ harness-anything --skill harness-downloadインストール後、Claude Code で/harness-downloadを入力して読み込まれたか確認します。
同梱ファイルagents/openai.yaml
詳細
Harness のダウンロードと初回セットアップ
ここが初回利用の総合入口です。実行順序は、環境と永続的なソースコード → ユーザーレベルのスキルリンク → 対象リポジトリへの harness-install → harness-ceo によるナレッジの初期化と最初の実タスクです。各段階は現在のエージェントが続けて実行するため、ユーザーがプロンプトを再送する必要はありません。
ローカルツールだけをインストールし、プロジェクトを初期化しない選択もユーザーの範囲内です。その場合はツールとスキルが使える状態になった時点で完了とし、勝手にリポジトリを選んで書き込みません。ユーザーが完全なセットアップを指定した場合、ダウンロードだけで完了と宣言してはいけません。
0. まず確認し、必要な情報だけを補う
現在のディレクトリ、ユーザー指定のプロジェクト、既存の Harness ソースコードと CLI、システムの種類、Git、Node、npm、インストール済みのエージェントとそのスキルディレクトリを確認します。Bun は Skills CLI の実行にのみ使用し、Harness が要求する Node の代わりにはなりません。初回のスキルインストールは、Harness ランタイムのインストールを意味しません。
ユーザーから提供済みの情報はそのまま使います。実行に影響する不足情報だけをまとめて質問します。対象リポジトリ、ソースコードの配置場所(希望がなければ ~/.harness-anything-src を提案できます)、接続するインストール済みエージェント、最初のタスクが対象です。リポジトリの識別情報、owner、既存の指示の変更に対する承認は、harness-install の具体的で確認可能な手順まで保留します。
今回使用する実際のソースコード、Node のパス、CLI のエントリーポイント、選択したスキルディレクトリをインストール時の引き継ぎ情報に記録します。ツールをまたぐ呼び出しでは明示的なパスを渡し、一時的なシェル変数が保持されることに依存しません。
1. 永続的なソースコードと実行環境を用意する
現在の配布方法では、https://github.com/FairladyZ625/harness-anything.git の main からソースコードを取得します。このスキルは bunx skills add によって、ツール管理下のコピーに先にインストールされる場合があります。このコピーに含まれるのはスキルだけであり、実行可能なリポジトリ全体ではありません。
node --version
npm --version
git --version
要件はソースコードの package.json にある engines を基準とします。現在は Node 24+ です。依存関係が不足している場合は、システムに適したインストール方法を提示し、既存の許可範囲内で実行します。管理者操作や対話形式のインストールが必要な場合は、該当手順を待ちつつ、独立して進められる準備を続けます。明確な承認を迂回するためにグローバル環境を変更してはいけません。
ネイティブ依存関係のビルドには、ビルドツールが必要になる場合があります。macOS ではコマンドライン開発ツール、Linux では C/C++ ツールチェーンと Python、Windows では依存関係がサポートするビルド環境を確認します。依存関係のインストールに失敗した場合は実際のビルドエラーを確認します。--ignore-scripts で失敗を隠し、デーモンの起動段階まで先送りしてはいけません。
ソースコードがまだ存在しない場合は、<ソースコードディレクトリ> を選択済みの永続ディレクトリに置き換えます。
git clone --depth 1 --branch main https://github.com/FairladyZ625/harness-anything.git "<源码目录>"
既存のディレクトリがある場合は、先に remote、ブランチ、変更内容を確認します。このプロジェクト以外のディレクトリを上書きしたり、ユーザーの変更をリセットしたり、開発用ワークツリーで main を直接プルしたりしてはいけません。帰属が明確で、クリーンであり、更新に適したソースコードのインストールに限り、通常の fast-forward 更新を行います。このスキルの候補ブランチをテストする場合は、そのブランチを明確に記録し、以降の手順でも同じ候補パッケージを使用します。ひそかに main に切り替えてはいけません。
ソースコードを一時ディレクトリに置いてはいけません。以降、スキルリンクとデーモンがこの永続的な場所に依存するためです。
ソースコードのディレクトリで次を実行します。
npm ci --no-audit --no-fund
npm run build --workspace @harness-anything/daemon
node packages/cli/src/index.ts --version
node packages/cli/src/index.ts --help
ソースコードの CLI がデーモンを自動起動するエントリーポイントは、デーモンパッケージの bin(dist/index.js)にあるため、先にデーモンをビルドする必要があります。--version / --help が成功しても、このエントリーポイントが存在する証明にはなりません。現在の Git フックは代わりにビルドを実行しません。ビルドに失敗した場合はエラーを残し、ダウンロードが完了したかのように報告してはいけません。
今回のインストールでは、古い PATH にある ha を使わず、TypeScript のソースエントリーポイントから CLI を実行します。この手順の配布方法としてまだ提供されていない npm パッケージを、今インストールしようとしてはいけません。将来 npm による正式な配布が始まった場合は、この段階を置き換える必要があります。互いに乖離するダウンロード手順を二つ長期的に維持してはいけません。
2. 選択したエージェントにスキル一式をリンクする
ソースコード内で唯一のスキル同期ツールを使用します。引数なしでは、ソースコードのリポジトリ自身のプロジェクトディレクトリだけが対象になります。ユーザーレベルでインストールする場合は、ユーザーが選択した対象ディレクトリを明示的に指定する必要があります。
たとえば、ユーザーが Codex と Claude Code を選択し、カスタムディレクトリを設定していない場合は、次のようにします。
node "<源码目录>/tools/sync-runtime-skills.mjs" \
--target-dir "$HOME/.codex/skills" \
--target-dir "$HOME/.claude/skills"
Codex にカスタム CODEX_HOME が設定されている場合は、その skills サブディレクトリを使用します。Claude Code に CLAUDE_CONFIG_DIR が設定されている場合も、同様にそのディレクトリを尊重します。その他のエージェントについては、実際の設定または現在の Skills CLI の Agent ディレクトリ表に従って選択します。ディレクトリを推測したり、ディレクトリ一覧があるというだけで全製品にインストールしたりしてはいけません。
このツールはソースコードの skills/ をスキャンし、スキル一式とその参考資料をリンクします。スキルの一覧を別途管理しません。同じソースへのリンクは繰り返し実行できます。既存のディレクトリ、別のソースへのリンク、無効になった別のソースへのリンクは、すべて競合として先に報告し、自動で上書きしてはいけません。各ユーザーディレクトリとソースコードディレクトリはローカルインストール領域であり、プロジェクト台帳には書き込みません。
Skills CLI でインストールしたブートストラップ用コピーは、ソースコードのリンク先と同じ名前になる場合があります。先にそのコピーの出所、内容、ユーザーによるカスタマイズの有無を確認します。今回新たにインストールされ、カスタマイズされていないコピーは、今回のインストール範囲内でスキル検出ディレクトリの外に退避してから、ソースコードへのリンクに置き換えることができます。今回作成したものではない内容、カスタマイズを含む内容、または帰属が不明な内容については、競合と具体的な対処方法を示し、確認を得ます。他のエージェントが参照している可能性があるため、Skills CLI の共有ストレージを削除してはいけません。
Windows でディレクトリのシンボリックリンクを作成できない場合は、必要な権限の条件を具体的に報告し、ホストがサポートする方法で有効にするよう案内します。コピーにひそかに切り替えて、ソースコードへのリンクが作成されたと報告してはいけません。
各対象内の harness-download、harness-install、harness-ceo の実際の解決先パスと参考ファイルを読み直し、すべてが選択した永続ソースコードを指していることを確認します。スキル一覧に反映するためにホストの再読み込みが必要な場合は、その旨を説明します。ただし、現在のエージェントは引き続きファイルを直接読み込み、後続の段階に進めます。
3. 対象リポジトリの初期化を続ける
同じソースコードのインストールから skills/harness-install/SKILL.md を読み込み、対象リポジトリ、CLI の絶対パスで指定したソースエントリーポイント、確認済みの環境、ユーザーから提供済みの情報を渡します。ソースコードを再度ダウンロードしたり、ユーザーに別のタスクを始めるよう求めたりしてはいけません。
既存の Fleet 中心に接続する場合は、harness-install のエッジノード手順に直接従います。clone に台帳がないからといって、改めて init を実行してはいけません。新規のローカル中心では、まずこのスキルに記載された ID の前提条件を満たします。ダウンロードに成功しても、初期化が利用可能になったわけではありません。
台帳がなく、実際に新しい中心である場合は、リポジトリを初期化します。既存の台帳がある場合は、現在利用可能なワークスペースなのか、移行が明確に必要な旧世代のものなのかを先に判別します。harness/ があるからといって、再初期化や移行を実行してはいけません。旧世代からの移行は既存データを変更します。移行スキルに明記された範囲と承認に従って進め、ダウンロードの許可を移行の許可とみなしてはいけません。
ダウンロードとリンクはノードローカルの操作です。プロジェクト初期化は中心に対する権威ある書き込みです。同じ対象リポジトリを複数ノードで同時にセットアップする場合は、まず中心への登録と owner を確認します。初期化を実行できるのは、許可された調整担当者だけです。その他のノードは既存のワークスペースに接続し、それぞれが「権威ある」台帳を作成してはいけません。
4. 主制御の利用とナレッジの初期化を接続する
リポジトリを読み書きできる状態になったら、同じインストール内の harness-ceo/SKILL.md と references/initialization.md を読み込み、ユーザーとの取り決め、モデルマトリックス、問題記録、実行証拠の保存場所を対応付けます。既存の内容を再利用し、空欄をすべて埋めたり、すべてのモデルを先にテストしたりする必要はありません。
ユーザーが指定した最初の実タスクで主制御のワークフローを開始し、harness-install の最初のタスクの受け入れ確認と同じタスクを使用します。デモを二つ実行してはいけません。ID の確認、既存の指示の統合、独立したレビューなど、ユーザーまたは別の担当者が実際に必要な手順では、具体的な資料を提示して待機します。承認や完了を捏造してはいけません。
5. 完了を報告し、今後も利用できるようにする
ソースコードの場所とバージョン、繰り返し実行できる CLI コマンド、スキルリンクと選択したエージェント、対象ワークスペースとナレッジの入口、最初のタスクの実際の状態と未完了の理由を報告します。次回は harness-ceo を直接呼び出せます。別のリポジトリでは harness-install を呼び出せばよく、ツールを再ダウンロードする必要はありません。
デフォルトでは node "<ソースコードディレクトリ>/packages/cli/src/index.ts" ... を使用します。ユーザーがコマンドを PATH に追加することを明確に希望した場合に限り、現在のソースコードのビルドエントリーポイントに従って実施し、何が変更されるかを説明します。グローバル npm インストールをひそかに行ってはいけません。通常のインストールではテスト専用環境を変更しません。また、セッション終了後に切り離されて使えなくなる正式なワークスペースを、一時的な daemon ルート内に作成してはいけません。
ソースコードをアップグレードする前に、進行中の実行と共有サービスの帰属を確認し、サポートされている更新方法を使用します。更新後は、同じスキルリンクを同期します。ユーザーのナレッジマトリックスと問題記録はプロジェクトのワークスペース内にあり、ソースコードの更新で上書きしてはいけません。
インストールディレクトリとパラメーターについては Skills CLI を参照してください。bunx の動作については Bun の公式ドキュメント を参照してください。初回インストールでは、現在のツールの実際の応答でインストール先を確認し、プロジェクトレベルとユーザーレベルのディレクトリを混同してはいけません。