Claude Code、Codex、Kimi 内で ECC のインストール、更新、再設定を案内し、各ハーネスが実際に備えるプラグイン、スコープ、フック機能を守ります。
現在のハーネス内で対話式ウィザードを実行します。最初にインベントリを調べ、対応する選択肢だけを 収集し、プレビュー後に 1 回だけ確認し、非対話で適用・検証します。ウェルカム表示は成功後だけです。 ECC を一時ディレクトリへ clone したり、プラグインを手作業でコピーしたりしないでください。
ユーザー自身が操作するターミナルの正規エントリは ecc setup と npx ecc-universal setup です。
ハーネス内では、代わりに以下の明示的な非対話コマンドを使います。
./.kimi-code に導入します。Kimi は ECC の Claude ライフサイクル
フックプロファイルに対応しません。このスキルは導入後の再設定経路です。プロバイダー組み込みの初回導入 UI を横取り、または代替できません。
両方のコマンドを実行し、ECC の導入スコープ、有効状態、marketplace ソースを要約します。
claude plugin list --json
claude plugin marketplace list --json
ecc@ecc が 1 つのみ既存する場合は再設定として扱います。Claude が所有する
"Open home page" コントロールをインストールの根拠にしません。setup が複数の ECC スコープ、
旧式/手動導入、不正な設定、marketplace 衝突を報告したら停止し、返された復旧方法を示します。
削除対象を推測しません。
スコープについて 1 回だけ質問し、必ず 1 つの値を選びます。
user | project | localuser はこのユーザーの全プロジェクトで使えます。project はリポジトリ設定で共有されます。local は現在のプロジェクトのみに非公開です。選択済みまたはインストール中の表示は、実際に選んだ 1 スコープだけにします。唯一の既存スコープと異なる
値を選んだら、スコープ移行であると説明し、以下のコマンドに --move-scope を含めます。
フックモードについて 1 回だけ質問し、必ず 1 つの値を選びます。
off | minimal | standard | strictoff はスキルとコマンドを残し、ECC フック自動化を無効にします。minimal は最軽量のライフサイクルと安全自動化のみを有効にします。standard は品質と安全のバランスを取ります。strict は最も強いチェックとリマインダーを有効にします。フック設定は個人の Claude プラグイン設定であり、導入スコープには追従しません。
プラグイン内蔵 setup スクリプトを優先します。2 つの選択値を代入し、スコープ移行の場合だけ
--move-scope を含めます。
node "$CLAUDE_PLUGIN_ROOT/scripts/setup.js" --mode claude-plugin \
--scope <scope> --hooks <hooks> [--move-scope] --dry-run --json
$CLAUDE_PLUGIN_ROOT がない場合は公開 npm パッケージを使います。
npx --yes --package ecc-universal ecc setup --mode claude-plugin \
--scope <scope> --hooks <hooks> [--move-scope] --dry-run --json
確認サマリーは 1 回だけ表示します。予定アクション、1 スコープ、1 フックモード、marketplace アクション、
および移行元から移行先を含め、yes/no を 1 回だけ質問します。ハーネスの Shell は通常非 TTY のため、
そこで bare な対話式 ecc setup を実行しません。
確認後、同じ経路を --dry-run なしで再実行します。全選択を明示し、JSON で成功を判定します。
node "$CLAUDE_PLUGIN_ROOT/scripts/setup.js" --mode claude-plugin \
--scope <scope> --hooks <hooks> [--move-scope] --yes --json
フォールバック:
npx --yes --package ecc-universal ecc setup --mode claude-plugin \
--scope <scope> --hooks <hooks> [--move-scope] --yes --json
終了コードが 0 であり、setup 結果の scope と hooks が選択値と一致することを必須とします。
その後、独立して実行します。
claude plugin list --json
選択スコープに有効な ecc@ecc が正確に 1 件ある場合のみ続行します。$CLAUDE_PLUGIN_ROOT があるときは、
成功した setup の action(installed、updated、migrated、resumed、
already-migrated)を内蔵レンダラーへ渡します。
呼び出し前に、プロバイダーが報告したバージョンが
scripts/lib/terminal-welcome.js の ECC_VERSION_PATTERN に一致することを
確認します。予期しない値は shell に補間せず拒否してください。
node -e 'const { renderTerminalWelcome } = require(process.env.CLAUDE_PLUGIN_ROOT + "/scripts/lib/terminal-welcome"); process.stdout.write(renderTerminalWelcome({ action: process.argv[1], version: process.argv[2], color: process.stdout.isTTY }));' "<action>" "<installed-version>"
ウェルカムは 1 回だけ表示します。失敗、dry-run、キャンセル、スコープ/フック不一致、検証不能の場合は
表示せず、エラーと復旧手順を報告します。検証後は /reload-plugins または Claude Code の再起動を案内します。
codex plugin marketplace list --json と codex plugin list --available --json で確認します。
Codex ネイティブのプラグインコマンドには Claude 式 user | project | local 選択はありません。
Claude のスコープ/フック 4 段階は質問しません。Codex ネイティブプラグインはプロバイダー固有フックに対応しますが、
Codex はその明示的な信頼を求めます。Codex にその信頼判断を表示させ、Claude の 4 プロファイルが Codex に対応すると表現しません。
ECC marketplace がない場合は追加し、既存ならスナップショットを更新します。
codex plugin marketplace add affaan-m/ECC
codex plugin marketplace upgrade ecc --json
1 回だけ確認し、インストールまたは導入済みキャッシュの再現可能な更新を行い、検証します。
codex plugin add ecc@ecc --json
codex plugin list --json
JSON が ECC を導入済みと報告し、installedPath を提供した場合のみ続行し、検証済みバンドルからウェルカムを表示します。
installedPath は Codex JSON が返した絶対パスそのものだけを使い、制御文字を
拒否します。バージョンは ECC_VERSION_PATTERN で検証します。node を次の
argument array で直接呼び出してください。これは shell コマンドではなく、ツール API 呼び出しです。
["<installedPath>/scripts/welcome.js", "--action", "configured", "--version", "<installed-version>"]
現在のハーネスが実行ファイルと argument array を分けて渡せない場合は、ウェルカム表示を スキップします。Codex JSON の値から shell コマンドを組み立ててはいけません。
Claude の off | minimal | standard | strict が Codex に適用されたとは表現しません。
確認前に機能サマリーを示します。導入先は ./.kimi-code、ECC ライフサイクルフックは
hooks=unsupported です。Claude のスコープ/フックモードを質問しません。まずプレビューします。
npx --yes --package ecc-universal ecc install --profile core --target kimi --dry-run
このプロジェクト導入先について 1 回だけ確認し、--dry-run を除いた同一コマンドを適用します。
検証コマンド:
npx --yes --package ecc-universal ecc doctor --target kimi
doctor が成功し、導入された指示とスキルが ./.kimi-code 内に留まることを確認した後だけ実行します。
npx --yes --package ecc-universal ecc welcome --action configured
Kimi が ECC ライフサイクルフックを導入または設定したとは表現しません。
Copy a source-pinned command for your client. You run it yourself.
Destination: .claude/skills/configure-ecc · pinned to the source commit
git clone https://github.com/affaan-m/ECC.git
cd ECC
git checkout d8409a4b0813771235555e32e3d8046a73988bfa
mkdir -p ".claude/skills/configure-ecc"
cp -r "docs/ja-JP/skills/configure-ecc" ".claude/skills/configure-ecc"Review the source before running. This copies files into your project; it is not a one-click install and does not verify runtime safety.
Scanner static-checks@0.1.0 · commit d8409a4b0813. Static checks cannot prove runtime safety – review the source and the exact diff before installing. How checks work.
References credentials, tokens or secret files that a skill should not need.
Evidence: [redacted]· fingerprint e9cbb0224c4a3d23