CtrlK
BlogDocsLog inGet started
Tessl Logo

configure-ecc

在 Claude Code、Codex 或 Kimi 内引导 ECC 安装、更新或重新配置,同时严格遵守各家工具真实的插件、范围和 Hook 能力。

65

Quality

79%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./docs/zh-CN/skills/configure-ecc/SKILL.md
SKILL.md
Quality
Evals
Security

配置 Everything Claude Code

在当前工具内运行对话式向导:先检查,只收集受支持的选项,预览,只确认 一次,以非交互方式执行,验证,最后才显示欢迎信息。不要把 ECC 克隆到 临时目录,也不要手动复制插件组件。

在用户自己操作的终端中,规范入口是 ecc setupnpx ecc-universal setup。 在工具内请改用下方参数完整的非交互命令。

按当前工具分流

  • Claude Code:使用下面完整的范围与 Hook 向导。
  • Codex:使用 Codex 原生插件生命周期;不要提供 Claude 范围,也不要映射 Claude 的四种 ECC Hook 配置。
  • Kimi:把项目表面安装到 ./.kimi-code;Kimi 不支持 ECC 的 Claude 生命周期 Hook 配置。
  • 无法确定工具时,先说明检测依据,再询问要配置哪一个,不要直接修改。

此技能是安装后的重新配置路径,无法拦截或取代提供商内置的首次安装界面。

Claude Code:运行完整对话式向导

1. 只读检查

运行以下两条命令,总结 ECC 的安装范围、启用状态和 marketplace 来源:

claude plugin list --json
claude plugin marketplace list --json

只有一个现有 ecc@ecc 时,将本次视为重新配置。不要把 Claude 提供商所有的 “Open home page”控件当作安装证据。若 setup 报告多个 ECC 范围、旧版或手动 安装、配置损坏或 marketplace 冲突,请停止并原样报告恢复建议,不要猜测要删除哪个。

2. 只收集两个选择

只询问一次安装范围,并要求且仅要求一个值:

  • user | project | local
  • user 对当前用户全局可用。
  • project 通过仓库设置共享。
  • local 仅当前项目私有。

界面中只能把选中的一个范围显示为已选或正在安装。如果用户从唯一现有范围 切换到另一范围,说明这是范围迁移,并在下方命令中加入 --move-scope

只询问一次 Hook 模式,并要求且仅要求一个值:

  • off | minimal | standard | strict
  • off 保留技能和命令,但关闭 ECC Hook 自动化。
  • minimal 只启用最轻量的生命周期和安全自动化。
  • standard 平衡质量和安全自动化。
  • strict 启用最严格的检查和提醒。

Hook 偏好是个人 Claude 插件配置,不会跟随所选安装范围。

3. 预览并只确认一次

优先使用插件自带的 setup 脚本。替换两个已选值,只在范围迁移时加入 --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

只显示一次确认摘要,内容包含计划操作、唯一范围、唯一 Hook 模式、marketplace 操作和 任何从来源到目标的迁移。只问一个是/否问题。不要通过工具的 Shell 调用不带参数的 交互式 ecc setup,因为该 Shell 通常不是 TTY。

4. 应用明确选择

确认后,使用同一路径但去掉 --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

5. 先验证,再显示欢迎信息

必须得到零退出状态,且 setup 结果中的 scopehooks 必须等于所选值。然后独立运行:

claude plugin list --json

只有在所选范围中恰好存在一个已启用的 ecc@ecc 条目时才继续。如果 $CLAUDE_PLUGIN_ROOT 可用,把成功 setup 的 actioninstalledupdatedmigratedresumedalready-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>"

欢迎信息只渲染一次。失败、预览、取消、范围或 Hook 不匹配、无法验证时都不显示; 改为报告错误和恢复方法。验证完成后,提醒用户运行 /reload-plugins 或重启 Claude Code。

Codex:使用原生插件生命周期

使用 codex plugin marketplace list --jsoncodex plugin list --available --json 检查。 Codex 的原生插件命令没有 Claude 式 user | project | local 选择器。不要询问 Claude 范围或 Hook 四档模式。Codex 原生插件支持提供商专用 Hook,但 Codex 会要求用户明确信任。让 Codex 显示该信任决定;不要声称 Claude 的四种配置可以映射到 Codex。

如果缺少 ECC marketplace,请添加;否则刷新快照:

codex plugin marketplace add affaan-m/ECC
codex plugin marketplace upgrade ecc --json

只确认一次,然后安装或幂等刷新已安装缓存,并验证:

codex plugin add ecc@ecc --json
codex plugin list --json

只有 JSON 报告 ECC 已安装并提供 installedPath 时才继续,然后渲染已验证组合包的欢迎信息:

installedPath 只能使用 Codex JSON 返回的原始绝对路径,并拒绝控制字符。版本必须通过 ECC_VERSION_PATTERN 验证。请使用下面的 argument array 直接调用 node;这是工具 API 调用,不是 shell 命令:

["<installedPath>/scripts/welcome.js", "--action", "configured", "--version", "<installed-version>"]

如果当前工具无法把可执行文件与 argument array 分开传递,请跳过欢迎信息。不得使用 Codex JSON 中的值构造 shell 命令。

绝不要声称 Claude 的 off | minimal | standard | strict 配置已应用到 Codex。

Kimi:安装项目表面

确认前说明能力摘要:目标为 ./.kimi-code;ECC 生命周期 Hook 为 hooks=unsupported。 不要询问 Claude 范围或 Hook 模式。先预览:

npx --yes --package ecc-universal ecc install --profile core --target kimi --dry-run

只针对该项目目标确认一次,然后执行去掉 --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 生命周期 Hook。

Repository
affaan-m/ECC
Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.