关于 manage-run
供 Archon CLI 用户管理当前项目工作流运行的专用技能,假设 Archon 已安装且命令在项目仓库中执行。它涵盖运行列表、状态查看、审批、拒绝、取消及继续执行,并说明交互式关卡的处理方式。
主要功能
- 01列出并筛选工作流运行
- 02查看运行状态与节点详情
- 03审批或拒绝暂停的运行
- 04取消或标记运行已放弃
- 05继续运行并监控完成状态
适用场景
- 01检查项目中最近的工作流运行
- 02审查暂停运行并作出关卡决策
- 03跟踪后台运行直至完成或失败
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ coleam00/ archon --skill manage-run安装后在 Claude Code 中输入/manage-run确认已加载。
附带文件references/commands.md
详细介绍
管理 Archon 运行
专注于通过 archon CLI 管理工作流运行的技能。此技能假设
Archon 已安装,且你正在项目仓库内操作——当前目录会自动将每条命令限定在该项目中。要编写
工作流、进行设置或配置,请改用更全面的 archon 技能。
最近的运行(实时)
!archon workflow runs --limit 10 2>&1 || echo "Archon CLI not installed. (This skill needs the archon CLI on PATH.)"
输出方式
- 在任意命令后添加
--json,即可在 stdout 上获取单个、干净的 JSON 对象(在--json模式下会自动抑制日志)。如果你要解析结果,优先使用--json。 - 不使用
--json时,会输出人类可读的文本。诊断信息和警告始终输出到 stderr。 - 当前目录(cwd)决定你能看到哪个项目的运行。从仓库目录运行命令。
动作
| 目标 | 命令 |
|---|---|
| 列出最近的运行(此项目的所有状态) | archon workflow runs --json |
| 列出所有项目的运行 | archon workflow runs --all --json |
| 按状态筛选/限制行数 | archon workflow runs --status running --limit 50 --json |
| 查看一次运行(状态、错误) | archon workflow get <run-id> --json |
| 查看一次运行的逐节点详情 | archon workflow get <run-id> --verbose --json |
| 仅查看活跃运行(running/paused) | archon workflow status --json |
| 启动一次运行,不阻塞 | archon workflow run <workflow> "<message>" --detach |
| 批准一个暂停的关卡 | archon workflow approve <run-id> "looks good" --json |
| 接受并完成满足完成条件的循环关卡 | archon workflow approve <run-id> --json(不加评论) |
| 拒绝一个暂停的关卡 | archon workflow reject <run-id> "fix X first" --json |
主动停止正在运行的 CLI --detach 运行 | archon workflow cancel <run-id> --json |
| 将暂停或已确认孤立的运行标记为已取消,但不停止主机上的工作 | archon workflow abandon <run-id> --json |
使用模式
监控运行直至完成
archon workflow runs --json # find the run id
archon workflow get <run-id> --json # poll status: running | completed | failed | paused
当 status 为 completed、failed 或 cancelled 时,运行即已结束。
启动工作且不阻塞
archon workflow run archon-assist "Investigate the flaky test" --detach
# returns immediately; the run then appears in `archon workflow runs`
--detach 会在后台子进程中运行工作流。父进程无法打印新运行的 ID(它是在子进程中创建的)——使用 archon workflow runs 查找。如果运行始终没有出现,请检查命令打印的子进程日志路径(或 --detach --json 中的 logPath 字段)。
控制台 UI 提示: 分离运行会显示在 Web 控制台的 Workflow 停靠栏中(停靠栏会按项目列出运行),并且实时更新——即使它是在独立进程中执行的。服务端轮询器会追踪 workflow-event 表,并将新行重放到控制台的实时动态中(在 PostgreSQL 上,
NOTIFY触发器会在同一秒内推送这些行;在 SQLite 上,轮询器会按较短的间隔获取它们)。无需刷新。
批准或拒绝暂停的运行(两步)
--json 模式下的 approve/reject/resume 会记录决定(运行随后可恢复),但不会执行工作流——执行时会输出内容,从而破坏 JSON。因此:
archon workflow approve <run-id> "ship it" --json # records the approval (resumable: true)
archon workflow resume <run-id> # execute it — run this as a BACKGROUND task
archon workflow get <run-id> --json # poll until completed/failed
如果你只需记录关卡决定,不需要推进后续的取消或返工流程,那么单独执行 --json 步骤就够了。若要在一次阻塞调用中完成批准并继续运行,请去掉 --json:archon workflow approve <run-id> "ship it" 会自动恢复运行(请将其作为后台任务运行)。
交互循环门:不添加评论 = 接受并完成
当暂停的交互循环门满足任一已声明的完成条件时
(archon workflow get <run-id> --json → .metadata.approval.completionSignaled 为
true),不添加评论直接批准即表示接受完成状态——恢复后,节点会基于已计算的输出直接
完成,不会重新运行。添加评论后批准,则会将其作为反馈运行下一轮。请先读取门的状态,再
审慎选择:
archon workflow get <run-id> --json | jq .metadata.approval.completionSignaled
archon workflow approve <run-id> --json # accept & complete (finalize, no re-run)
archon workflow approve <run-id> "redo X" --json # run another iteration with feedback
(在项目范围的聊天中,manage_run 工具的 approve 操作也遵循此规则:不提供 message — 或设置 accept: true — 即会完成;提供 message 则会继续迭代。)
参考
如需查看完整的标志列表和各动词的 JSON 结构,请阅读 references/commands.md。