"写好一个 loop,让 loop 去 prompt 你的 agent —— 你只负责设计循环,剩下的交给夜里无人值守的 loop。"
面向任意 coding-agent CLI 的计划驱动、无人值守多 agent loop 编排。 给它一份推进计划,走开——loop 自动执行与验收;一轮任务清空后自动再规划、追加下一阶段,形成无轮数上限的自驱闭环,在本地实时看板上盯进度。
"我已经不 prompt Claude 了。我写 loop,让 loop 去 prompt Claude、决定做什么。我的工作是写 loop。"
—— Boris Cherny(Anthropic,Claude Code 负责人)于 2026 年 6 月 Acquired 播客访谈中提出(这段讨论在 6 月 7 日引爆并由 Addy Osmani 正式命名为 loop engineering);本句经 mer.vin(Mervin Praison)在《Loop Engineering》一文中整理引用。
loop-skill 是一个可移植的 Agent Skill:把书面计划(推进计划-*.md、路线图、待办清单)变成自驱闭环的无人值守 loop——按 发现 → 规划 → 执行 → 验收 → 迭代 调度 Claude Code、Codex、OpenCode、Gemini CLI、Trae CLI 等工具;首轮由主控写出推进计划,之后每轮任务清空时 loop 自动再规划(同一 CLI 担任 planner,追加 docs/loop-plan.md 并 ingest),不设轮数上限,直至 planner 判定无有价值下一步为止。会话可恢复,上下文不丢;本地多角色 Web 看板实时展示进度。
与客户端无关:把 loop-skill/ 目录放进任何能读 SKILL.md 并执行 shell 的主机 agent(Claude Code、Cursor、Codex CLI、Gemini CLI、OpenCode……)即可。主机 agent 是指挥者;被派发的 CLI 是执行者。
多数多 agent 编排器是绑定 GitHub Issue、PR、CI 的重型框架。loop-skill 刻意不同:
| 典型编排器 | loop-skill | |
|---|---|---|
| 形态 | npm 包 / 框架 | 可移植 SKILL.md + 轻量 Python 运行时 |
| 任务来源 | GitHub Issue | 书面推进计划(docs/loop-plan.md 等) |
| 歧义处理 | agent 反问 / 卡住 | 政策引擎提前写死答案 |
| 验收 | CI 全绿 | verify_mode(默认 dev-first,可按仓覆盖) |
| 客户端 | 单一产品 | 任意支持 Skill 的 agent |
| Provider | 单一 agent | 可插拔 CLI 适配层 |
| 看板 | 桌面应用 | 本地实时 Web 看板(多角色动态界面) |
| 规划闭环 | 人工反复拆任务 | 首轮主控写计划 + 之后自动再规划(默认开启) |
| 多仓执行 | 通常串行或单仓 | 默认并行:每仓同时各跑一个 CLI |
你不需要记命令。在 Cursor / Claude Code 等主控里启用 loop-skill 技能,用自然语言说明意图即可;主控会代你执行底层 CLI。
第一次启动(示例提示语):
用 loop-skill 推进
D:/my-vibe-project下的项目,Claude 执行,后台常驻。
主控会通读各仓文档、写出推进计划、启动看板与无人值守 loop,并回报看板地址。之后 loop 持续自驱:执行 → 验收 → 任务清空 → 自动再规划下一阶段 → 继续执行,无需你反复开口要「下一轮」。
临时停下:
停掉 loop-skill 后台服务。
关机后再接着跑(会话与任务进度保留在 workspace/,不丢上下文):
继续 loop-skill,恢复后台 loop。
你在业务仓改了设计 / 需求,想刷新计划:
我调整了 clip-forge 的设计,请 loop-skill 重新扫描仓库并更新推进计划,然后继续跑。
更多场景见下方 使用说明。主控实际调用的命令见 references/cli-commands.md。
设计目标:你只说话,主控干活。推进计划由主控通读仓库后写入各仓 docs/loop-plan.md;你无需手写 loop.yaml,也不绑定固定需求文件名。
| 角色 | 谁来做 | 改什么 |
|---|---|---|
| 你 | 说意图、审看板、必要时改业务仓文档 | 业务仓库里的设计 / 需求 / 推进计划 |
| 主控(任意支持 Skill 的 agent,如 Cursor、Claude Code、Codex CLI 等) | 理解意图 → 扫描 → 写计划 → 启停 loop | loop-skill/、workspace/、各仓 docs/loop-plan.md |
执行者(claude 等 CLI) |
loop 自动派发任务 | 业务仓库代码 |
| 再规划者(默认同执行 CLI) | 某仓任务全部完成后,loop 自动拉起 planner 追加下一阶段 | 各仓 docs/loop-plan.md |
| 场景 | 你可以这样说 |
|---|---|
| 首次启动 | 「用 loop-skill 推进 D:/my-vibe-project,Claude 执行,后台常驻。」 |
| 只看进度 | 「打开 loop-skill 看板。」 / 「推进看板地址是多少?」 |
| 暂停后台 | 「停掉 loop-skill。」 / 「down 掉 loop。」 |
| 暂停后继续 | 「继续 loop-skill,恢复后台 loop。」 |
| 计划跑完,等下一轮 | 默认无需操作——loop 会自动再规划并继续。若要主动改方向:「重新扫描各仓、更新推进计划并继续跑。」 |
| 任务卡住(blocked) | 默认无需操作——loop 会把受阻原因交给 planner 补 decision / 拆细任务,并自动解冻重试(至多 2 次);仍受阻才需人工,看板会高亮。 |
| 关闭自动再规划 | 「loop-skill 关闭自动再规划,跑完当前计划就停。」(等价 loop / up 的 --no-auto-replan) |
| 改了设计,要更新计划 | 「我更新了 decision-ledger 的需求,请重新扫描各仓、更新推进计划并 ingest,再继续跑。」 |
| 新增子仓库 | 「D:/my-vibe-project 下新加了 xxx 项目,纳入 loop-skill。」 |
| 从看板移除某仓编排 | 「从 loop-skill 工作区移除 clip-forge 的推进计划(不删开发仓库)。」 |
| 任务卡住 | 「看板里 decision-ledger 有 blocked 任务,请处理并继续。」 |
| 换执行 CLI | 「loop-skill 改用 Codex 执行。」 |
主控应禁止让你手写 loop.json / loop.yaml,禁止逐步追问确认;按 SKILL.md 与 references/plan-generation.md 自动完成。
首轮:主控根据仓库内全部相关 Markdown(README、docs 等)理解后,在各仓写入或更新 docs/loop-plan.md(推荐路径)。任务表格式:| P1-01 | 任务描述 | 验收标准 |。
之后(自驱闭环,默认开启):某仓任务全部完成(无 pending / running)时,loop 自动把 default_provider CLI 当作 planner,通读仓库与进度,把下一阶段任务追加进 docs/loop-plan.md,再 ingest 并继续派发。不设轮数上限;仅当某轮再规划未新增任何任务(planner 判定项目已达成、无有价值下一步)时,该仓停止再规划。已完成任务的 status / session_id 在 re-ingest 时保留,不会重跑。
手动关闭:python -m core.cli loop --no-auto-replan 或 up --no-auto-replan。详见 references/plan-generation.md 与 references/planner-contract.md。
| 文件 | 内容 |
|---|---|
loop.json |
多仓登记与任务定义(自动生成,勿提交) |
workspace/state/<repo>.json |
任务进度、sessions、活动流 |
workspace/runtime.json |
看板端口、后台 PID |
workspace/logs/supervisor/ |
看板与 loop 日志 |
看板与运行时都读这些文件;聊天结束也不丢进度。
需要手动调试或脚本集成时,见 references/cli-commands.md(分类表格 + 示例)。
本地 Web 看板实时展示多仓任务进度、角色头像与统计;up 启动后访问 http://127.0.0.1:8765/ 即可查看。
loop-skill/
├── SKILL.md # 技能入口(何时用、怎么用)
├── references/ # loop 方法论、政策、契约、角色、状态 schema
├── providers/ # CLI 适配规格(claude/codex/opencode/gemini/trae)
├── core/ # 最小运行时:配置、状态、派发、循环、端口
├── dashboard/ # 本地实时 Web 看板(多角色动态界面)
├── examples/ # 工作区配置示例
└── workspace/ # 全部运行产物(gitignore)
- Python 3.10+
PATH中至少一个 coding-agent CLI(claude、codex、opencode、gemini、trae-cli)- 现代浏览器(看板)
核心运行时零第三方依赖(纯标准库)。唯一可选依赖是 PyYAML,仅在使用 loop.yaml 配置时需要;若用等价的 loop.json,则无需安装任何东西。
pip install -r requirements.txt # 启用 loop.yaml 支持(可选)MIT — 源码仓库:github.com/handsomestWei/loop-skill
