用途
Cursor 技能用于把 Cursor Agent 当作无头工作器(headless worker)来委派任务,适合那些需要持久化产物和精确会话续接的场景。它可以在指定工作区中运行 Cursor,执行有边界的实现、调查、规划或只读审查工作。
主要能力
- 运行(run):在指定工作区中执行任务,支持通过 --prompt-file 或 --prompt 传入提示。
- 审查(review):使用 Cursor 的 ask 模式进行只读审查,不会传递 force 或 MCP 审批,适合“先给发现”的审查。
- 模型选择:默认省略 --model,使用用户在 Cursor 中已选定的模型;仅当用户明确指定模型时才传入 --model,并需先用 cursor-agent models 解析精确 id。
- 权限控制:写操作默认不预授权文件写入或 MCP 工具;仅在用户授权自主编辑时传 --force,仅在用户授权指定 MCP 访问及其数据范围时传 --approve-mcps。
- 认证解析:按顺序解析认证——已有 Cursor 浏览器登录、环境中已存在的 CURSOR_API_KEY、显式提供的 --env-file 或 CURSOR_ENV_FILE。不会爬取工作区或祖先目录的 .env 文件。
- 活跃度与超时:有意义的进展定义为 Cursor 流事件变化或 Git 可见的已跟踪/未跟踪文件内容变化。默认无活动限制为 5 分钟,总截止时间为 45 分钟,超时会以 TERM 到 KILL 的升级方式终止进程组。不会自动重放提示。
- 产物:每次运行写入 status.json、status.env、events.jsonl、stdout.log、stderr.log、runner.log、final.md、prompt.txt、command.txt、preflight.log、run.env、monitor.sh、continue.sh。写操作运行还会捕获工作区基线、状态、变更文件和 diff。
- 续接(continue):通过 <run-dir>/continue.sh --prompt "..." 恢复 Cursor 发出的精确 session_id,并在新运行目录中保留工作区、模型、认证模式、权限和超时默认值。
使用方式
核心入口是 bin/cursor-run.sh,没有 setup、generate 或 review 子技能。
运行示例:
bin/cursor-run.sh run \
--workspace "$PWD" \
--prompt-file /absolute/path/to/task.md
审查示例:
bin/cursor-run.sh review \
--workspace "$PWD" \
--prompt "Review the current diff. Do not edit files. Findings first."
默认产物根目录为 ~/.cursor/headless-runs。如果该位置不可写(例如某些代理沙箱),可通过 --run-root 传入可写的临时或工作区绝对路径。产物路径权限错误不应被视为 Cursor 认证失败。
后台交接可使用 --run-dir-file PATH 精确指定,不要发现全局最新运行。运行开始后,读取 [cursor-run] event=model 行或 status.json 的 model 字段,告知用户 Cursor 选择的模型。不要单独发起模型探测。
适用场景
- 需要持久化产物和精确会话续接的委派任务。
- 有边界的实现、调查、规划或只读审查。
- 需要先给发现、不编辑文件的审查。
限制
- 写操作默认不预授权文件写入或 MCP 工具,需用户明确授权。
- 认证依赖浏览器登录或 CURSOR_API_KEY,不会爬取 .env 文件。
- 浏览器登录可见性可能受主机限制;沙箱运行报告缺少认证时,应检查该次尝试的 runner.log,然后在主机上重试同一有边界命令。
- 运行不会自动重放提示。
- 父级仍负责 diff、验证、提交、推送、PR 和合并决策。
- 仅对微小的一次性回答使用原始 agent -p;需要持久化产物和续接时使用本包装器。
- 使用 Cursor worktrees 时应显式在本包装器之外进行,以便父级始终知道需要检查的工作区。