How this skill is triggered — by the user, by Claude, or both
Slash command
/harness:installThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
`/harness:install` または `/install`
/harness:install または /install
必ず最初にこのコマンドを実行すること。他の手順を先に行ってはならない。
スキルの呼び出し時に URL 引数が指定されているかどうかで、実行するコマンドが異なる。
URL 引数なし(ローカルの ~/.config/harness/manifest.json を使う):
curl -fsSL https://github.com/myuon/harness/releases/latest/download/harness-install.mjs | node --input-type=module
URL 引数あり(例: /harness:install https://raw.githubusercontent.com/owner/repo/main/manifest.json):
引数の URL を HARNESS_MANIFEST_URL 環境変数として前置してコマンドを実行する:
HARNESS_MANIFEST_URL=https://raw.githubusercontent.com/owner/repo/main/manifest.json curl -fsSL https://github.com/myuon/harness/releases/latest/download/harness-install.mjs | node --input-type=module
HARNESS_MANIFEST_URL=<url> を前置し、スクリプトがその URL から manifest JSON を取得して使う~/.config/harness/manifest.json を読むスクリプトが以下を自動で行い、結果を JSON で返す:
~/.config/harness/manifest.json)の読み込み.harness-decisions.json)の読み込みcondition: "always" かつ未インストールのスキルのインストール実行plugins_installed, plugins_updated, plugins_already_installed, plugins_needs_evaluation, plugins_skipped_by_decision)スクリプトの出力に needs_evaluation がある場合のみ、各エントリの condition をプロジェクトの実態を見て評価する:
評価結果が install: true のスキルは以下を実行:
scope: "global" → npx skills add <source> --skill <name> -g -yscope: "project"(デフォルト)→ npx skills add <source> --skill <name> -yneeds_evaluation に type: "profile" のエントリがある場合、profile 単位で condition を評価する:
apply: true なら、その profile 内の全スキルをインストールする
scope に従い npx skills add <source> --skill <name> [-g] -y を実行apply: false なら、その profile 内の全スキルをスキップする判断結果は decisions.profiles に書き込む(スキルの判断は decisions.skills ではなく profile 側で管理)。
plugins_needs_evaluation にエントリがある場合、各プラグインの condition をプロジェクトの実態を見て評価する:
install: true のプラグインは claude plugins install <name> -s <scope> を実行install: false のプラグインはスキップするmanifest の version 値 | 動作 |
|---|---|
| 省略(フィールドなし) | 常に最新へ更新(toUpdate に分類、claude plugins update を使用) |
"latest" | 常に最新へ更新(toUpdate に分類、claude plugins update を使用) |
| 具体的なバージョン文字列 | インストール済みバージョンと一致 → alreadyInstalled、異なる → toUpdate |
claude plugins install <name> -s <scope> を使用claude plugins update <name> -s <scope> を使用claude plugins update は最新版をインストールするため、バージョンフィールドは「同期トリガー」として機能する(マニフェストのバージョンと異なる場合に更新を発動させる).harness-decisions.json にすべての判断結果を書き込む(スクリプト結果 + needs_evaluation の評価結果を統合)。
decisions.skills に書き込むdecisions.profiles に書き込むdecisions.plugins に書き込むテーブル形式で表示(スキル名 / 結果 / 理由)。プラグインの結果も含める:
plugins_installed: インストールされたプラグインplugins_updated: 更新されたプラグインplugins_already_installed: 既にインストール済みのプラグインplugins_needs_evaluation: 条件評価が必要だったプラグインplugins_skipped_by_decision: スキップされたプラグインscope 省略時は "project"scope 省略時は "user"npx claudepluginhub myuon/harness --plugin harnessCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.