名称: ai-tools 描述: 管理AI CLI工具(Claude Code、Gemini CLI、Codex CLI)。当用户询问AI工具版本、更新、安装或想要更新/安装其AI CLI工具时使用。使用两级检测(PATH + npm回退)检测已安装的工具,安装缺失的工具,检查版本,并使用委托优先模式从权威源检索更新指令。 允许工具: Bash, Skill, Task, Read, mcp__perplexity__search, WebSearch
AI工具管理
可扩展的AI CLI工具管理,采用委托优先设计。检测已安装的工具,安装缺失的工具,报告版本,并从权威源检索更新指令。
设计原则
- 无硬编码文档 - 从不复制其他地方存在的文档
- 委托优先 - 路由到生态系统技能/代理以获取权威指导
- 优雅回退 - 技能 -> MCP研究 -> 网络搜索
- 可扩展 - 通过tool-registry.md轻松添加新工具
- 两级检测 - 优先PATH检查,其次npm全局回退
- 安装能力 - 通过委托提供安装缺失工具
工作流程
步骤1:检测已安装工具(两级)
使用两级检测检查哪些AI CLI工具已安装:
第1级 - PATH检查:
# Claude Code
command -v claude &>/dev/null && claude --version 2>/dev/null || echo "NOT_IN_PATH"
# Gemini CLI
command -v gemini &>/dev/null && gemini --version 2>/dev/null || echo "NOT_IN_PATH"
# Codex CLI
command -v codex &>/dev/null && codex --version 2>/dev/null || echo "NOT_IN_PATH"
第2级 - npm全局回退(对于在PATH中未找到的工具):
# 检查未在PATH中找到的工具的npm全局包
npm list -g @anthropic-ai/claude-code --depth=0 2>/dev/null
npm list -g @google/gemini-cli --depth=0 2>/dev/null
npm list -g @openai/codex --depth=0 2>/dev/null
报告哪些工具已安装及其当前版本。将每个分类为:
- 已安装(在PATH中找到)- 版本已检测
- 已安装(仅npm) - 通过npm找到但不在PATH中(可能需要PATH修复)
- 未安装 - 两种方法均未找到
步骤2:安装缺失工具(委托模式)
对于每个未安装的工具,使用工具注册表中的安装委托链提供安装。
默认行为: 提供安装缺失工具(提示用户确认)。
--install模式:安装缺失工具而不提示--no-install模式:跳过安装,仅报告和更新现有工具
Claude Code
主要: 调用 claude-ecosystem:docs-management 技能,查询 “Claude Code install setup”
回退1: 生成 claude-code-guide 代理以查找安装文档
回退2: mcp__perplexity__search("Claude Code CLI install npm")
回退3: WebSearch("Claude Code CLI install")
Gemini CLI
主要: 调用 google-ecosystem:gemini-cli-docs 技能,查询 “install setup npm”
回退1: mcp__perplexity__search("Google Gemini CLI npm install setup")
回退2: WebSearch("Google Gemini CLI npm install")
Codex CLI
主要: 调用 openai-ecosystem:codex-cli-docs 技能,查询 “install setup npm”
回退1: mcp__perplexity__search("OpenAI Codex CLI npm install setup")
回退2: WebSearch("OpenAI Codex CLI npm install")
安装后,重新运行检测以确认并报告安装版本。
步骤3:获取更新指令(委托模式)
对于每个需要更新的已安装工具,使用工具注册表中的委托链从权威源检索指令。
Claude Code
主要: 调用 claude-ecosystem:docs-management 技能,查询 “Claude Code update install upgrade”
回退1: 如果技能不可用,生成 claude-code-guide 代理:
首先 WebFetch https://code.claude.com/docs/en/claude_code_docs_map.md 以查找
更新/安装文档。然后 WebFetch 这些页面。返回更新命令。
回退2: 如果代理不可用,使用 MCP:
mcp__perplexity__search("Claude Code CLI update install latest version 2026")
回退3: 网络搜索 “Claude Code CLI update install”
Gemini CLI
主要: 调用 google-ecosystem:gemini-cli-docs 技能,查询 “update install upgrade npm”
回退1: 如果技能不可用,使用 MCP:
mcp__perplexity__search("Google Gemini CLI npm update install latest version 2026")
回退2: 网络搜索 “Google Gemini CLI npm install update”
Codex CLI
主要: 调用 openai-ecosystem:codex-cli-docs 技能,查询 “update install upgrade npm”
回退1: 如果技能不可用,使用 MCP:
mcp__perplexity__search("OpenAI Codex CLI npm update install latest version 2026")
回退2: 网络搜索 “OpenAI Codex CLI npm install update”
步骤4:执行更新
检索权威更新指令后:
- 向用户展示更新命令
- 如果是
--dry-run模式,在此停止(显示将发生什么) - 否则,执行更新命令
- 更新完成后报告新版本
步骤5:报告结果
提供摘要表:
| 工具 | 之前 | 之后 | 状态 |
|---|---|---|---|
| Claude Code | vX.X.X | vY.Y.Y | 已更新 |
| Gemini CLI | 未安装 | vX.X.X | 已安装 |
| Codex CLI | vX.X.X | vY.Y.Y | 已更新 |
可能的状态:已更新、已安装、已是最新、已跳过、失败、未安装(–no-install)
工具注册表
参见 references/tool-registry.md 以获取完整工具注册表,包括:
- 检测命令(两级:PATH + npm回退)
- npm包名称和安装类型
- 委托源(技能、代理、MCP查询)
- 安装委托链
- 回退搜索查询
添加新工具
要添加新的AI CLI工具:
-
在
references/tool-registry.md中添加条目,包括:- 检测命令(如何检查是否已安装)
- npm包名称和安装类型
- 版本命令(如何获取当前版本)
- 文档源(哪个技能/代理拥有权威文档)
- 搜索查询(MCP/网络搜索的回退)
- 安装委托链
-
无需代码更改 - 工作流程自动处理注册表中的工具
支持的模式
- 默认: 更新所有已安装工具,提供安装缺失工具
--tool NAME: 仅更新/安装特定工具--dry-run: 显示将发生什么而不执行--check: 仅检查版本,不更新或安装--install: 安装缺失工具而不提示--no-install: 跳过安装缺失工具,仅更新现有
错误处理
- 工具未安装(默认): 通过委托链提供安装
- 工具未安装(–no-install): 优雅跳过,在摘要中报告
- npm不在PATH中: 通过npm回退检测,建议PATH修复
- 技能不可用: 回退到MCP搜索
- MCP不可用: 回退到网络搜索
- 更新失败: 报告错误,继续其他工具
- 安装失败: 报告失败委托源的错误,继续其他工具
- 未找到权威源: 报告无法更新/安装,建议手动检查
为什么委托?
更新和安装命令随时间变化:
- 包管理器演变(npm -> pnpm, pip -> uv)
- 安装方法变化(npm全局 -> npx)
- 标志和选项添加/弃用
通过委托给维护当前文档的生态系统技能,此技能保持准确而无需手动更新。
测试场景
场景1:检查已安装工具
给定: 用户询问“我安装了哪些AI工具?” 然后: 使用两级检测所有工具并报告版本
场景2:更新所有工具
给定: 用户询问“更新我的AI工具” 然后: 检测已安装工具,通过委托检索更新指令,执行更新
场景3:更新特定工具
给定: 用户询问“更新claude code” 然后: 通过委托检索Claude Code更新指令,执行更新
场景4:干运行模式
给定: 用户询问“在不运行任何内容的情况下显示如何更新我的AI工具” 然后: 检测已安装工具,检索更新指令,显示而不执行
场景5:仅检查模式
给定: 用户询问“我有哪些版本的AI工具?” 然后: 检测已安装工具并报告版本,不尝试更新或安装
场景6:安装缺失工具(默认)
给定: 用户运行更新且一些工具未安装 然后: 通过委托提供安装缺失工具,确认后安装,报告结果
场景7:带–install标志安装
给定: 用户使用 --install 标志运行
然后: 安装所有缺失工具而不提示,然后更新现有工具
场景8:npm回退检测
给定: 工具通过npm安装但不在PATH中
然后: 两级检测通过 npm list -g 找到,报告为“已安装(仅npm)”,建议PATH修复
场景9:使用–no-install跳过安装
给定: 用户使用 --no-install 标志运行且一些工具未安装
然后: 跳过缺失工具,仅更新已安装的工具
版本历史
| 版本 | 日期 | 更改 |
|---|---|---|
| 1.1.0 | 2026-02-15 | 两级检测(PATH + npm回退),带–install/–no-install模式的安装工作流程,注册表中的安装委托链 |
| 1.0.0 | 2026-01-17 | 初始发布 - 委托优先设计,支持Claude Code、Gemini CLI、Codex CLI |
模型: Claude Opus 4.6 (claude-opus-4-6) 最后更新: 2026-02-15