用途
该技能解决的问题是:当 Cursor 的个人 Anthropic API Key 开启,或代理文件中指定的模型未在 Cursor 中启用时,Cursor 的 Task 工具会把自定义子代理固定到父模型上运行。此技能改为通过 Claude Code 的无头模式(claude -p)运行项目中的自定义子代理,使每个子代理运行在其自身代理文件所指定的模型上。该模式在本次对话剩余时间内持续生效;当用户表示改用 Cursor 子代理时,则切回 Task 工具并作一行确认。
主要能力
- 按 Cursor 文档的优先级顺序查找代理文件:项目目录优先于用户目录,.cursor/ 优先于 .claude/,.claude/ 优先于 .codex/。
- 从代理文件中读取 frontmatter 的 description、正文提示词,以及 model、tools、readonly 等字段。
- 对模型名做映射:带 -low、-medium、-high、-xhigh、-max 等后缀的去除后缀取基础 ID;带 -fast、-thinking、-thinking-low/-high/-max 或 [effort=...] 之类后缀的同样去除;haiku、sonnet、opus 别名原样传递;完整 Anthropic ID 原样传递。
- 对 .claude/agents 或 ~/.claude/agents 中的 Claude Code 格式代理,直接使用 --agent 参数运行;对 .cursor/agents 或 .codex/agents 中的 Cursor 格式代理,先写入临时 JSON 文件再通过 --agents 传入,运行后删除临时文件。
- 编辑类代理追加 --permission-mode acceptEdits;只读代理(readonly: true 或 tools 列表不含 Edit/Write)则省略该参数。
- 使用 --permission-prompts none 时,任何本会弹出提示的操作都会被自动拒绝,并记录在 permission_denials 中。
- 检查返回的 is_error 字段,并依据 modelUsage 报告实际运行的模型;不报告费用。
- 代理提出问题时可带 --resume <session_id> 继续同一代理;支持最多 3 个后台并行运行。
使用方式
用户通过 /use-claude-code-subagents 调用,或直接要求使用 Claude Code 子代理。若技能是自行加载的(用户只描述了症状),则需先询问一次,说明运行会消耗其 Claude Code 账户额度且编辑绕过 Cursor 的审阅与撤销,得到同意后再继续,否则使用 Task 工具。
运行前先做一次预检:在 Shell 工具中以 required_permissions: ["all"] 执行 claude --version,需要 Claude Code 2.1.281 或更高版本(--permission-prompts 需要 2.1.259,--agents <file> 形式需要 2.1.281)。命令失败时引导用户查看 Claude Code 安装指南并运行一次 claude 登录;版本过旧则提示运行 claude update;预检通过前保持 Cursor 原生模式。
执行时把目标、绝对路径、约束和确切的返回格式组成任务简述,通过单引号 heredoc 传入,且不能粘贴文件内容,只指明要读取的文件。基础调用形式为:
claude -p "$(cat <<'BRIEF' <brief> BRIEF )" --agent <name> --model <mapped> --permission-prompts none --output-format json
对于 Cursor 格式代理,使用 mktemp "${TMPDIR:-/tmp}/claude-agents.XXXXXX" 创建临时文件(不带 .json 后缀),写入形如 { "<name>": { "description": "...", "prompt": "...", "model": "<mapped>" } } 的 JSON,frontmatter 含 tools 列表时追加 "tools": [...],运行结束后 rm -f 删除。
适用场景
适用于项目或用户目录下存在自定义子代理文件、且希望这些代理按文件指定模型运行的情况,例如让 scout 之类的代理在指定模型上执行搜索或分析任务。用户为单次运行指定模型(如“on sonnet”)时,应改传用户指定的模型:给了完整 ID 用完整 ID,否则用别名。
限制
- 不适用于 Cursor 内置子代理(explore、generalPurpose 等)、Cloud Agents(那里没有 claude CLI),以及模型字段缺失、inherit 或非 Anthropic(composer-、gpt-、grok-、gemini- 等)的代理,这些仍使用 Task 工具。
- 找不到代理文件即视为非自定义代理,使用 Task 工具并说明原因。
- 子代理运行是终端命令而非 Cursor 子代理卡片,运行中无法介入引导。
- 子代理看到的是 Claude Code 的 MCP 配置而非 Cursor 的,依赖 Cursor 专属 MCP 服务器的代理可能缺少该工具。
- claude -p 会跳过 Claude Code 的工作区信任对话框并加载项目的 Claude Code 设置,只应在用户信任的项目中运行。
- 禁止使用 --dangerously-skip-permissions。
- 编辑绕过 Cursor 的审阅与撤销,需在总结中列出被修改的文件。
- agents JSON 中 prompt 字段必须是合法 JSON,需转义代理正文中的引号和换行。
- 任务简述中不得出现单独一行恰好为 BRIEF 的内容。
暂未提供
关于收费、价格、平台支持范围的更多细节,资料中暂未提供。