Community写作与编辑github.com

lessan/jobs

使用 `runjob` 将有边界的工作交给安装好的无头模型 CLI,并在整个机器上维护执行账本。

jobs 是什么?

该技能提供了一个名为 `runjob` 的本地 CLI 工具,用于将有限的工作任务提交给后台运行的 LLM(如 Codex)执行,类似于“离会任务”系统。它支持一次性运行(`runjob run`)和批量编排(`runjob fleet run`),后者可以处理依赖排序、自动隔离工作树、可恢复会话和引擎并发限制。技能要求用户确认 `runjob` 已在 `PATH` 中,否则引导用户前往仓库安装。它严格区分授权启动(明确要求“调度”或“移交”工作)和非授权请求(仅“解释”、“检查”、“起草”或“计划”)。执行后,用户可通过 `runjob log`、`runjob report` 等命令查看日志和账本,并注意日志和提示可能包含敏感代码,不应随意公开。该技能适用于需要将任务交给独立模型处理而不占用当前对话的场景,但不应替代当前对话内的子代理。

兼容平台~Claude Code✓Codex CLI~Cursor
npx skills add lessan/jobs

Installed? Explore more 写作与编辑 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

jobs 是做什么的?

使用 runjob 将有限的工作交给已安装的无头模型 CLI,并在整个机器上维护执行账本。确认 runjob 已在 PATH 中;如果不在,则引导用户前往仓库的安装步骤,不要临时编写一个全机器安装脚本。

启动任务可能会消耗配额或产生提供商费用。将明确的请求(“调度”或“移交”工作)视为该启动的授权。请求“解释”、“检查”、“起草”或“计划”不视为启动授权。

选择执行形状

  • 使用 runjob run 执行一个有限的作业。它在所选工作目录中运行,不会创建分支或工作树。对于可能需要编辑或提交的工作,请使用可丢弃的 Git 工作树或批量模式。
  • 使用 runjob fleet run 执行多个作业,支持依赖排序、自动隔离工作树、可恢复会话或每引擎并发限制。在创建批量文件之前,请阅读 references/fleet.md。
  • 使用 runjob log、runjob report 和 runjob dash 检查已在进行中的工作。这些是只读操作;runjob repair 是显式的账本修改操作。

当用户要求在当前对话内进行委派时,不要用此技能替代当前对话中的子代理。

一次性作业

对于重要指令,请使用提示文件,以便分派是可审查的:

runjob run --engine codex --effort high \
  --cwd /absolute/path/to/worktree --file /absolute/path/to/prompt.md

当用户未选择 --model 或 --effort 且引擎具有合理的 CLI 默认值时,可省略这些参数。不要编造当前模型名称。当引擎特定的标志、认证或沙箱行为重要时,请阅读 references/engines.md。

runjob run 在启动后立即返回,除非提供了 --wait。请保留打印的 uid。通过以下命令检查:

runjob log --uid UID
runjob log --active
runjob report UID --json
runjob dash

日志和提示可能包含源代码或敏感指令。它们位于 ${DEV_JOBS_HOME:-~/.config/dev-jobs} 下;未经单独审查,不要发布或附加它们。

完成与移交

报告 uid、实际请求的引擎/模型、工作目录以及作业是刚刚启动还是已完成。不要将进程启动描述为成功结果。在等待时,验证终端账本状态并总结作业的实际输出,包括失败或剩余工作。

对于机器可读的作业结束,请使用 references/report-trailer.md 中的确切协议。将其字段视为作业的声明;在合并或发布任何内容之前,独立验证提交、测试和修改过的路径。

相关技能