install
Installation
SKILL.md
install スキル
マニフェストを読み込み、プロジェクトの実態を見て condition を評価し、必要なスキルをインストールする。
トリガー
/harness:install または /install
手順
以下のステップを順番に実行すること。
1. マニフェストの読み込み
~/.config/harness/manifest.json を読み込む。
- ファイルが存在しない場合 → 空のマニフェスト
{"skills": {}, "profiles": {}}を作成し、ユーザーに通知する。続けて/harness:syncの実行を提案して終了する。
2. 既存の判断記録の読み込み
プロジェクトルートの .harness-decisions.json を読み込む。
- ファイルが存在しない場合 → 空の状態
{"decisions": {"skills": {}, "profiles": {}}}として扱う。
3. 各スキルの条件評価
マニフェストの skills に含まれる各スキルについて以下を実行する。
すでに判断記録に存在するスキルはスキップする(既存の判断記録は上書きしない)。
条件に応じて判断を決定する:
condition: "always"→install: true,reason: "always"- その他の condition 文字列 → プロジェクトの実態を調べて評価する
condition 評価の方法 (推測ではなく実際にファイルを読むこと):
package.jsonが存在する場合 →dependencies/devDependenciesを確認する- ディレクトリ構造を確認する(
src/,app/,pages/など) - ファイルの拡張子を確認する(
.tsx,.go,.pyなど) - フレームワーク設定ファイルを確認する(
next.config.js,vite.config.ts,go.mod,Cargo.tomlなど)
評価結果を install: true/false と具体的な reason とともに記録する。
判断に迷った場合はユーザーに確認してから進む。
4. スキルのインストール
install: true と判断された各スキルについて以下のコマンドを実行する:
npx skills add <source> --skill <name> -y
source と name はマニフェストから取得する(例: source: "myuon/agent-skills", name: "commit")。
5. プロファイル/フックの評価
現時点では profiles の処理は行わない。
6. 判断記録の書き込み
更新した判断記録をプロジェクトルートの .harness-decisions.json に書き込む。
フォーマット:
{
"decisions": {
"skills": {
"commit": { "install": true, "reason": "always" },
"react-no-useeffect": { "install": true, "reason": "package.json に react@19 あり" },
"agent-browser": { "install": false, "reason": "CLI ツールのため画面なし" }
},
"profiles": {}
}
}
7. サマリーの表示
以下の3区分でユーザーに結果を表示する:
- インストール済み: 今回インストールしたスキル(reason 付き)
- スキップ:
install: falseと判断したスキル(reason 付き) - 判断済み(変更なし): すでに
.harness-decisions.jsonに記録されていたためスキップしたスキル
注意事項
- condition 評価はプロジェクトの実態を確認して行う(推測ではなく実際にファイルを読む)
- 判断に迷った場合はユーザーに確認する
- 既存の判断記録は上書きしない(記録を消して再実行する運用)
Related skills