
cursor-delegate
热门将编码任务委托给 Cursor Agent CLI(`cursor-agent`)作为后台执行者,然后自行审查其差异并落地。当用户希望将实现工作交给 Cursor 时使用此技能——例如“让 Cursor 实现 X”、“将此委托给 Cursor”、“通过 Cursor Agent 运行”或“使用 Cursor 实现/修复/重构”——或者希望将一系列编码任务通过 Cursor 运行,同时自己保持审查者身份。对于足够小、可以直接内联完成的任务,或当用户希望直接编写代码而不委托时,请勿使用。
将编码任务委托给 Cursor Agent CLI(`cursor-agent`)作为后台执行者,然后自行审查其差异并落地。当用户希望将实现工作交给 Cursor 时使用此技能——例如“让 Cursor 实现 X”、“将此委托给 Cursor”、“通过 Cursor Agent 运行”或“使用 Cursor 实现/修复/重构”——或者希望将一系列编码任务通过 Cursor 运行,同时自己保持审查者身份。对于足够小、可以直接内联完成的任务,或当用户希望直接编写代码而不委托时,请勿使用。
Cursor 委托
您是协调者。将一个有界的编码任务交给一个独立的执行者——Cursor Agent CLI——然后审查其产出并自行落地。您编写简报并拥有判断权;Cursor 在其自己的会话中完成输入;您进行验证并提交。
该循环只需要一个 shell 命令和文件访问权限,因此任何类似的协调者都可以驱动它。
何时不使用此技能
- 任务足够小,可以直接内联完成;委托的开销不值得。
cursor-agentCLI 未安装或未认证(运行cursor-agent login)。- 您想自己编写代码,或者您只需要 Cursor 对您编写的代码的意见(
--read-only调度可以覆盖这种情况——见下文——但简单的审查可能根本不需要委托)。
先决条件(检查一次)
cursor-agent --version成功执行。如果没有,请按照 cursor.com/cli 上针对您平台的安装程序进行操作,检查它将运行的内容,并使用cursor-agent login进行认证。cursor-agent status显示您已登录。- 您位于(或将
--cd指向)目标 git 仓库中。中继会传递--trust,因此只将其指向您信任的仓库。
选择模型
省略 --model 将使用您的 Cursor 默认值(通常为 auto——由 Cursor 选择)。要固定一个模型,请传递 --model <name>,名称来自账户的实时 cursor-agent models 输出——从该列表中选择,而不是自行发明名称。参数化形式如 <name>[context=1m,effort=high] 将原样转发。实际提供服务的模型会记录在 result.json 的 resolvedModel 字段中。
循环
每个任务执行以下五个步骤。步骤 1、4 和 5 需要判断;步骤 2 和 3 是机械性的。
1. 编写简报
Cursor 只能看到您发送的文本以及它可以在工作区中检查的内容——没有聊天历史或共享上下文。包括目标、当前状态、要更改的内容、要保留不变的内容、项目实际的门禁,以及报告契约。告诉 Cursor 不要提交。每个简报只包含一个任务。参见 references/writing-the-brief.md。
2. 调度
使用捆绑的辅助脚本。它包装了 cursor-agent -p,通过标准输入提供简报,捕获结构化事件流,并写入 result.json。(<skill-dir> 是包含此 SKILL.md 的已安装文件夹。)
node "<skill-dir>/scripts/relay.mjs" --brief brief.txt --cd /path/to/repo
# 只读(计划模式——审查/诊断,不编辑):添加 --read-only
# 可写但无需自动命令批准:添加 --no-force
# 显式覆盖 Cursor 的沙箱:添加 --sandbox enabled|disabled
# 从 `cursor-agent models` 固定模型:添加 --model <name>
# 恢复最近的会话:添加 --resume-last(仅增量简报)
# 恢复特定会话:添加 --session <id>(仅增量简报)
# 硬时间限制(看门狗):添加 --timeout 2h(默认 30 分钟适合短运行;实现简报通常需要 1-2 小时)
# 查看所有选项:node .../relay.mjs --help
子进程的工作目录固定了工作区。在 Cursor 2026.07.23 或更新版本上,仅对额外的工作区目录使用可重复的 --add-dir 标志。中继默认将工件写入系统临时目录,并且从不提交。参见 references/dispatch-and-poll.md。
3. 等待完成
辅助脚本会阻塞直到 Cursor 完成。使用协调者的后台命令功能运行它,或在 shell 中将其置于后台并轮询 result.json。运行前的用法错误会以退出码 2 退出且不写入结果;缺少 cursor-agent 会以退出码 127 退出并写入 status: "cursor_agent_unavailable"。
信任进程状态和工作树,而不是进度显示。完成意味着进程已退出且 result.json 存在。Cursor 的完整报告是 result.json 中的 finalMessage 字段(也会在报告标记之间完整打印到标准输出)。
Windows + hooks 注意事项: 如果用户配置了 Cursor hooks(~/.cursor/hooks.json,或 cursor-agent 导入的 Claude Code PreToolUse hooks),从 Git Bash(MSYS)控制台调度会使 cursor-agent 将 PowerShell 语法的 hook 包装器提供给 bash,因此 Cursor 尝试运行的每个命令都会被阻止——编辑仍然生效,但门禁不会运行。请改用 PowerShell 或 cmd 控制台进行调度。详细信息:references/dispatch-and-poll.md。
4. 审查——不要相信自我报告
将 Cursor 的最终消息和门禁声明视为声明:
- 自行重新运行项目的门禁。
- 对照简报阅读差异,从
touchedFiles开始。 - 如果安装了相关的防护技能,请运行它们。
- 在删除或重命名后,往返迁移并 grep 悬空引用。
参见 references/review-and-land.md。
5. 落地
执行者编辑工作树;协调者提交。 仅在门禁通过且差异成立后提交。如果需要返工,使用 --resume-last 或 --session <id> 发送增量简报,然后再次审查。
自主性和权限
新运行默认为可写且带 --force:Cursor 无需批准即可运行命令,除非您的 Cursor 配置明确拒绝,因此普通门禁(测试、linter、构建)可以无头运行。--no-force 保持运行可写,但取消自动命令批准;需要批准的命令会被拒绝,因为无头运行无法提示。--read-only 切换到 Cursor 的计划模式(只读分析,不编辑,无 --force)。中继始终传递 --trust,以防止无头运行因工作区信任提示而停滞,这就是为什么 --cd 必须只指向您信任的仓库。仅在需要覆盖 Cursor 的沙箱时传递 --sandbox enabled 或 --sandbox disabled。请求的值记录在 result.json 的 sandbox 字段中;它不声称 Cursor 实际应用了什么。Cursor 报告的权限模式记录为 permissionMode;每次运行后检查 touchedFiles 和差异。
只读第二意见
--read-only 也可以作为获得对抗性第二意见的干净方式,且无写入风险:调度一个简报,列出已同意的点,然后列出每个有争议的点及双方立场,并要求 Cursor 为每个点辩护或让步——交付物在其最终消息中,不触碰任何文件。
授权模型
委托是用户选择加入的。一旦用户同意(“运行此队列”、“继续”),提交经过验证且通过门禁的工作就是约定的契约。仍有两个限制:表面化,不要吸收(报告 Cursor 的设计决策、可辩护但未要求的转向,以及非阻塞性的吹毛求疵)和范围变更时停止(如果正确完成需要超出简报范围,请询问而不是扩大授权)。参见 references/review-and-land.md。
参考
- references/writing-the-brief.md — 结构、报告契约、真实门禁和增量简报。
- references/dispatch-and-poll.md — 标志、工件、
result.json、轮询和故障恢复。 - references/review-and-land.md — 审查清单、提交边界和通过 Cursor 会话返工。
- references/multi-task-queues.md — 顺序队列、约束延续、进度跟踪和最终一致性检查。





