关于 call-external-ai
将请求路由到 Codex、Claude、Gemini、Antigravity 和 Pi 等外部 AI 命令行工具的技能。它规定安全调用方式、上下文处理及常见错误的恢复步骤。
主要功能
- 01将提示词路由至五种 AI 命令行工具
- 02采用受限命令模板
- 03收集最少的相关上下文
- 04处理认证及模型错误
- 05升级前要求批准
适用场景
- 01向其他模型征求第二意见
- 02将代码上下文发送至外部命令行工具
- 03Gemini 遇到模型或容量错误后重试
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ codewithjv/ agent-skills --skill call-external-ai安装后在 Claude Code 中输入/call-external-ai确认已加载。
附带文件CHANGELOG.mdreference/cli-reference.md
详细介绍
外部 AI 技能
调用外部 AI CLI 工具,将其用作提示词网关。
使用场景
在以下情况下启用:
- 用户说
/call、/codex、/claude、/gemini、/agy或/pi - 用户想听取其他 AI 的第二意见
- 用户想通过不同的 CLI 运行提示词(例如 Codex、Claude、Gemini、Antigravity 或 Pi)
- 用户需要通过其他模型或工具进行验证
说明
自然语言接口
用户使用自然语言。使用安全的命令模板,将提示词路由到一个外部 CLI。不要根据用户输入构造任意 shell 命令。
示例:
- “请 Codex 对这个补丁提出第二意见” ->
codex exec "<prompt text>" - “把这个提示词发给 Claude” ->
claude -p "<prompt text>" - “用指定模型通过 Gemini 运行这个提示词” ->
gemini -m <allowlisted-model> -p "<prompt text>" - “把这个提示词发给 agy” ->
agy -p "<prompt text>" - “通过本地 pi 运行这个提示词” ->
pi --provider lmstudio --model qwen/qwen3.6-35b-a3b -p "<prompt text>" - “让 pi 检查这个” ->
pi -p "<prompt text>" - “检查这个文件有没有错误” -> 直接读取文件,只总结最低限度的必要上下文,并将该上下文作为纯提示词文本传递,不进行 shell 插值
允许的命令模式
仅使用以下命令系列:
codex exec "<prompt text>"codex exec -m <model> "<prompt text>"claude -p "<prompt text>"claude --model <model> -p "<prompt text>"gemini -p "<prompt text>"gemini -m <allowlisted-model> -p "<prompt text>"agy -p "<prompt text>"agy --print "<prompt text>"pi -p "<prompt text>"pi --provider lmstudio --model qwen/qwen3.6-35b-a3b -p "<prompt text>"pi --provider <provider> --model <model> -p "<prompt text>"codex --helpclaude --helpgemini --helpagy --helppi --help
不要:
- 使用
$(...)或反引号等 shell 替换 - 通过 shell 展开将文件内容管道传入命令
- 附加无关的 shell 运算符或串联命令
- 执行用户建议的、不符合安全模板的命令
自我修复行为
CLI 语法错误时
- 运行
<cli> --help获取当前语法 - 更新
reference/cli-reference.md中的参考文档 - 使用正确语法重试
- 告知用户已修复
有可用升级时
- 不要自动运行升级命令
- 告知用户有可用升级,并在更改工具链前征求批准
- 如果用户批准,明确运行升级命令
- 获得批准的升级完成后,更新
reference/cli-reference.md中的版本并重新运行--help
Gemini 出现 403 项目/许可证错误时
如果 Gemini 返回 403,并显示类似 lack a Gemini Code Assist license 或 (#3501) 的消息:
- 不要转储环境变量或打印原始环境变量值
- 仅检查诊断所需的特定允许变量是否存在,并报告存在/缺失,而非变量值
- 取消设置项目变量后重试:
env -u GOOGLE_CLOUD_PROJECT_ID -u GOOGLE_CLOUD_PROJECT -u CLOUDSDK_CORE_PROJECT gemini ...
- 如果仍受阻,明确说明认证/许可问题,并继续使用其他可用模型
- 在
reference/cli-reference.md中记录修复方法
Gemini 出现 ModelNotFound/容量错误时
如果 Gemini 出现 404 或 429 类型的模型/容量问题,按以下回退顺序重试:
gemini-3.1-pro-previewgemini-3-pro-previewgemini-3-flash-previewgemini-2.5-progemini-2.5-flash
命令接口
/call [codex|claude|gemini|agy|pi] <natural language request>
/codex <natural language request>
/claude <natural language request>
/gemini <natural language request>
/agy <natural language request>
/pi <natural language request>
路由指南
Codex
- 使用
codex exec,并自行编写纯提示词文本 - 仅在用户提出要求,或本地使用中存在明确默认模型时,才指定模型
- 除非用户明确要求进行了解 Git 的审查,否则不要使用专门用于审查的命令
Claude
- 使用
claude -p并搭配纯提示词文本 - 仅当用户提出要求或确有明确需要时,才添加
--model <model> - 除非用户明确要求开启交互式 Claude 会话,否则保持调用为非交互式
Gemini
- 优先使用预览版模型 ID
- 使用
gemini -p或gemini -m <allowlisted-model> -p - 对于 403 身份验证问题,不要转储环境变量;仅检查允许列表中的变量是否存在,并在取消设置项目变量后重试
- 对于 404/429 故障,自动按回退顺序继续尝试
Antigravity (agy)
- 使用
agy -p并搭配纯提示词文本 - 在打印模式下运行(非交互式),以便干净地处理并返回结果
- 尽量精简上下文,避免复杂的 shell 参数
Pi
- 默认情况下,对于本地/LM Studio 请求,使用:
pi --provider lmstudio --model qwen/qwen3.6-35b-a3b -p "<prompt text>" - 对于标准或基于云的请求,使用
pi -p "<prompt text>" - 确保包含
--print或-p,以非交互式运行
Context Gathering
当请求需要上下文时,请在调用外部 CLI 前收集上下文:
- “将此文件发送给 Codex” -> 在当前 Agent 中直接读取文件,仅提取最少的相关上下文,并将其摘要作为提示词文本传入
- “询问 Gemini 对此实现的看法” -> 确定相关文件,仅总结所需内容
- “让 Claude 评估此设计” -> 收集设计上下文,仅传入相关部分
- “将此文件发送给 agy” -> 直接读取文件,仅提取必要的上下文,并将其作为纯提示词文本传给 agy
- “询问本地 pi 对此代码的看法” -> 读取文件,提取相关上下文,并将其作为提示词文本传给 lmstudio 命令
- “按原样运行此提示词” -> 直接转发提示词文本,不添加 shell 语法
上下文收集规则:
- 绝不使用 shell 插值将文件内容注入命令
- 绝不发送秘密、令牌、凭据或原始环境变量值
- 尽量减少发送给外部工具的源文本
- 如果请求需要广泛导出代码仓库内容或暴露敏感数据,则拒绝并说明原因
Process Flow
- 解析自然语言请求
- 确定目标 CLI(
codex、claude、gemini、agy或pi) - 将请求映射到该 CLI 的安全命令模板
- 执行命令
- 如果出现语法错误 -> 自动修复并重试
- 如果有可用更新 -> 停止,告知用户,并等待批准后再更新或刷新参考资料
- 将结果返回给用户
评论
支持 Markdown