checkpoint
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseWorkflow Checkpoint Skill
Workflow Checkpoint Skill
Overview
概述
Save and mutate persistent workflow state that survives context auto-summarization.
State files store: task details, worktree locations, PR URLs, and review status. This skill owns the write side of workflow state — initializing a workflow, updating fields, transitioning phases, and capturing a structured handoff. For the read/restore side (resuming after a break, reconciling against git, verifying a workflow exists), see .
@skills/rehydrate/SKILL.md保存并变更可持久化的工作流状态,使其在上下文自动总结后仍能保留。
状态文件存储:任务详情、工作树位置、PR URL和评审状态。本技能负责工作流状态的写入端——初始化工作流、更新字段、转换阶段以及捕获结构化交接。关于读取/恢复端(会话中断后恢复、与git协调、验证工作流是否存在),请参阅。
@skills/rehydrate/SKILL.mdTriggers
触发条件
Activate this skill when:
- Starting a new workflow ()
ideate - Transitioning between workflow phases
- Saving progress for later continuation ()
checkpoint
在以下场景激活本技能:
- 启动新工作流()
ideate - 工作流阶段之间转换
- 保存进度以便后续继续()
checkpoint
Phase Transitions
阶段转换
Valid transitions, guards, and prerequisites for all workflow types are documented in . CRITICAL: Phase mutation is a separate action from field mutation. When a transition has a guard, the prerequisite fields first, then — guards read the most recent state, so updates land before guards evaluate. Attempting to mutate via returns a error pointing at (see "Reserved fields" below).
references/phase-transitions.mdaction: "update"action: "transition"phaseaction: "update"RESERVED_FIELDtransition所有工作流类型的有效转换、守卫条件和先决条件都记录在中。关键提示:阶段变更与字段变更是独立的操作。当转换存在守卫条件时,先使用更新先决字段,再执行——守卫条件会读取最新状态,因此更新操作必须在守卫条件评估前完成。尝试通过变更字段会返回错误,并指向操作(请参阅下方“保留字段”部分)。
references/phase-transitions.mdaction: "update"action: "transition"action: "update"phaseRESERVED_FIELDtransitionSchema Discovery
架构发现
Use for
parameter schemas and
for phase transitions, guards, and playbook guidance. For the lightweight
oneshot variant (with its choice state
driven by ), call
— oneshot is a first-class playbook alongside feature/debug/refactor. Use
for event data schemas.
exarchos_workflow({ action: "describe", actions: ["update", "init", "get"] })exarchos_workflow({ action: "describe", playbook: "feature" })implementing → synthesize|completedsynthesisPolicyexarchos_workflow({ action: "describe", playbook: "oneshot" })exarchos_event({ action: "describe", eventTypes: ["workflow.transition", "task.completed"] })使用获取参数架构,使用获取阶段转换、守卫条件和工作手册指南。对于轻量级一次性变体(其选择状态由驱动),请调用——oneshot是与feature/debug/refactor并列的一等工作手册。使用获取事件数据架构。
exarchos_workflow({ action: "describe", actions: ["update", "init", "get"] })exarchos_workflow({ action: "describe", playbook: "feature" })implementing → synthesize|completedsynthesisPolicyexarchos_workflow({ action: "describe", playbook: "oneshot" })exarchos_event({ action: "describe", eventTypes: ["workflow.transition", "task.completed"] })State Location
状态存储位置
Workflow state lives in the MCP event store, not the filesystem. Use to read state and to discover active workflows. The pipeline view is repo-scoped by default — only the caller's repo; when the response reports greater than , workflows in other repos are hidden — re-query with to reveal them. Do not scan — that path is legacy and may be stale or empty.
exarchos_workflow getexarchos_view pipelineunscopedTotalpage.totalscope: "all"~/.claude/workflow-state/*.state.json工作流状态存储在MCP事件存储中,而非文件系统。使用读取状态,使用发现活跃工作流。流水线视图默认按仓库范围限定——仅显示调用者的仓库;当响应报告大于时,说明其他仓库中的工作流被隐藏——使用重新查询以显示这些工作流。请勿扫描——该路径为遗留路径,内容可能过时或为空。
exarchos_workflow getexarchos_view pipelineunscopedTotalpage.totalscope: "all"~/.claude/workflow-state/*.state.jsonState Operations
状态操作
For full MCP tool signatures, error handling, and anti-patterns, see .
references/mcp-tool-reference.md有关MCP工具的完整签名、错误处理和反模式,请参阅。
references/mcp-tool-reference.mdInitialize State
初始化状态
At the start of , use with with:
ideateexarchos:exarchos_workflowaction: "init"- : the workflow identifier (e.g.,
featureId)"user-authentication" - : one of
workflowType,"feature","debug","refactor""oneshot" - (optional, oneshot only): one of
synthesisPolicy,"always","never"(default"on-request") — silently ignored for non-oneshot types"on-request"
This creates a new workflow state entry. The initial phase depends on
:
workflowType- → starts in
featureplan - → starts in
debugtriage - → starts in
refactorexplore - → starts in
oneshotplan
在开始时,使用并设置,同时传入:
ideateexarchos:exarchos_workflowaction: "init"- :工作流标识符(例如
featureId)"user-authentication" - :可选值为
workflowType、"feature"、"debug"、"refactor""oneshot" - (可选,仅适用于oneshot):可选值为
synthesisPolicy、"always"、"never"(默认值为"on-request")——非oneshot类型会自动忽略该参数"on-request"
此操作会创建一个新的工作流状态条目。初始阶段取决于:
workflowType- → 从
feature阶段开始plan - → 从
debug阶段开始triage - → 从
refactor阶段开始explore - → 从
oneshot阶段开始plan
Workflow Types at a Glance
工作流类型概览
- — full
featurefor real features with subagent dispatch and reviewplan → plan-review → delegate → review → synthesize - —
debugfor bug workflows with track selectiontriage → investigate → (thorough | hotfix) - —
refactorfor code improvements, polish for small and overhaul for multi-taskexplore → brief → (polish | overhaul) - —
oneshotfor trivial changes; direct-commit by default with an opt-in PR path resolved via a choice-state guard driven byplan → implementing → (completed | synthesize)and thesynthesisPolicyeventsynthesize.requested
See for the lightweight variant's full prose, including the choice-state mechanics and trigger.
@skills/oneshot/SKILL.mdfinalize_oneshot- — 完整的
feature流程,适用于包含子Agent调度和评审的真实功能开发plan → plan-review → delegate → review → synthesize - —
debug流程,适用于包含跟踪选择的Bug修复工作流triage → investigate → (thorough | hotfix) - —
refactor流程,适用于代码优化,polish用于小型优化,overhaul用于多任务优化explore → brief → (polish | overhaul) - —
oneshot流程,适用于微小变更;默认直接提交,通过由plan → implementing → (completed | synthesize)和synthesisPolicy事件驱动的选择状态守卫条件提供可选PR路径synthesize.requested
有关轻量级变体的完整说明,包括选择状态机制和触发条件,请参阅。
finalize_oneshot@skills/oneshot/SKILL.mdUpdate State (fields only)
更新状态(仅字段)
Use with with and . This action mutates non-phase fields only — , , , , and are reserved (see "Reserved fields" below).
exarchos:exarchos_workflowaction: "update"featureIdupdatesphaseworkflowTypefeatureIdcreatedAtversion- Set artifact path:
updates: { "artifacts.spec": "docs/specs/2026-01-05-feature.md" } - Mark task complete (by index):
updates: { "tasks[0].status": "complete", "tasks[0].completedAt": "<timestamp>" } - Add worktree:
updates: { "worktrees.wt-001": { "branch": "feature/001-types", "taskId": "001", "status": "active" } }
Worktree status values:
'active' | 'merged' | 'removed'使用并设置,同时传入和。此操作仅变更非阶段字段——、、、和为保留字段(请参阅下方“保留字段”部分)。
exarchos:exarchos_workflowaction: "update"featureIdupdatesphaseworkflowTypefeatureIdcreatedAtversion- 设置工件路径:
updates: { "artifacts.spec": "docs/specs/2026-01-05-feature.md" } - 标记任务完成(按索引):
updates: { "tasks[0].status": "complete", "tasks[0].completedAt": "<timestamp>" } - 添加工作树:
updates: { "worktrees.wt-001": { "branch": "feature/001-types", "taskId": "001", "status": "active" } }
工作树状态值:
'active' | 'merged' | 'removed'Transition Phase
阶段转换
Use with with and :
exarchos:exarchos_workflowaction: "transition"featureIdtarget- Advance phase:
target: "delegate"
Transitions are HSM-validated and emit a event. Guarded transitions read state after the most recent , so any that the guard depends on must land first.
workflow.transitionupdateupdates: {...}使用并设置,同时传入和:
exarchos:exarchos_workflowaction: "transition"featureIdtarget- 推进阶段:
target: "delegate"
转换会经过HSM验证,并触发事件。带守卫条件的转换会读取最近一次后的状态,因此守卫条件依赖的所有必须先完成更新。
workflow.transitionupdateupdates: {...}Editing the tasks
array
tasks编辑tasks
数组
tasksThe dot-path parser used by recognizes only numeric array brackets (, , …). Keyed forms like are NOT supported and now throw an error with a clear message — earlier versions silently wrote to a bogus top-level key, returning while the actual task was untouched. Three patterns are supported:
set updatestasks[0]tasks[1]tasks[id=T-001]INVALID_INPUTsuccess: true-
Replace the whole array (use this when the plan is being revised wholesale):typescript
exarchos_workflow({ action: "update", featureId: "<id>", updates: { tasks: [ { id: "T-001", title: "...", status: "pending" }, { id: "T-002", title: "...", status: "pending" }, ]}, }) -
Edit one task by its array index:typescript
exarchos_workflow({ action: "update", featureId: "<id>", updates: { "tasks[0].status": "complete", "tasks[0].completedAt": "<ts>" }, })First read(tasks) to find the index of the task you want to edit, then set by that index.action: "get", query: "tasks" -
Append a new task by writing to the next-free index. If the array currently has length, write to
N:tasks[N]typescript// Suppose tasks already contains T-001 and T-002 (length 2). To append: exarchos_workflow({ action: "update", featureId: "<id>", updates: { "tasks[2]": { id: "T-003", title: "Follow-up", status: "pending" } }, })The parser allows writing one slot past the current length (); writing further out (MAX_ARRAY_GAP = 1against a length-2 array) throwstasks[5]. Read the currentINVALID_INPUTlength before appending.tasks
set updatestasks[0]tasks[1]tasks[id=T-001]INVALID_INPUTsuccess: true-
替换整个数组(当计划被全面修订时使用):typescript
exarchos_workflow({ action: "update", featureId: "<id>", updates: { tasks: [ { id: "T-001", title: "...", status: "pending" }, { id: "T-002", title: "...", status: "pending" }, ]}, }) -
按数组索引编辑单个任务:typescript
exarchos_workflow({ action: "update", featureId: "<id>", updates: { "tasks[0].status": "complete", "tasks[0].completedAt": "<ts>" }, })先读取(tasks)找到要编辑的任务索引,再按该索引进行设置。action: "get", query: "tasks" -
通过写入下一个可用索引追加新任务。如果数组当前长度为,则写入
N:tasks[N]typescript// 假设tasks已包含T-001和T-002(长度为2)。要追加任务: exarchos_workflow({ action: "update", featureId: "<id>", updates: { "tasks[2]": { id: "T-003", title: "Follow-up", status: "pending" } }, })解析器允许写入当前长度之后的一个位置();写入更远的位置(如针对长度为2的数组写入MAX_ARRAY_GAP = 1)会抛出tasks[5]错误。追加前请读取当前INVALID_INPUT的长度。tasks
Integration Points
集成点
When to Update State
状态更新时机
| Event | State Update |
|---|---|
| |
| Design & Rationale authored | |
| Decomposition added | |
| Plan-review gaps found | |
| Plan-review approved | |
| Task dispatched | Set task |
| Task complete | Set task |
| Worktree created | Add to |
| Review complete | Update |
| PR created | Set |
| PR feedback | Append to |
| 事件 | 状态更新操作 |
|---|---|
| |
| 设计与原理文档编写完成 | |
| 分解任务完成 | |
| 计划评审发现问题 | |
| 计划评审通过 | |
| 任务分派 | 设置任务 |
| 任务完成 | 设置任务 |
| 工作树创建 | 添加到 |
| 评审完成 | 更新 |
| PR创建 | 设置 |
| PR反馈 | 追加到 |
Oneshot-specific state updates
仅适用于Oneshot的状态更新
Oneshot is a first-class workflow type with a compressed lifecycle and an
opt-in PR path. The rows below mirror the feature-workflow table above.
| Phase | State updates | Events emitted |
|---|---|---|
| | |
| | |
| | |
| — | |
The fork is a choice state resolved
by , which reads the guard
( + events). See
for the full opt-in mechanics.
implementing → synthesize | completedfinalize_oneshotsynthesisOptedInsynthesisPolicysynthesize.requested@skills/oneshot/SKILL.mdOneshot是一等工作流类型,具有压缩的生命周期和可选PR路径。以下表格与上方功能工作流表格对应。
| 阶段 | 状态更新 | 触发的事件 |
|---|---|---|
| | |
| | |
| | |
| — | |
implementing → synthesize | completedfinalize_oneshotsynthesisOptedInsynthesisPolicysynthesize.requested@skills/oneshot/SKILL.mdAutomatic State Updates
自动状态更新
Skills should update state at key moments:
ideate/SKILL.md:
markdown
After authoring the Design & Rationale section of the unified docs/specs/ artifact:
- `action: "update"` — `updates: { "artifacts.spec": "<path>" }`
(no transition — `plan` is the initial phase; continue to decomposition in the same phase)plan/SKILL.md:
markdown
After saving plan:
1. `action: "update"` — `updates: { "artifacts.plan": "<path>", "tasks": [...] }`
2. `action: "transition"` — `target: "plan-review"`delegate/SKILL.md:
markdown
On task dispatch:
- Update task status to "in_progress"
- Add worktree to state if created
On task complete:
- Update task status to "complete"
- Check if all tasks done, suggest checkpoint技能应在关键节点更新状态:
ideate/SKILL.md:
markdown
在统一文档/docs/specs/的设计与原理部分编写完成后:
- `action: "update"` — `updates: { "artifacts.spec": "<path>" }`
(无需转换阶段——`plan`是初始阶段;继续在同一阶段进行任务分解)plan/SKILL.md:
markdown
保存计划后:
1. `action: "update"` — `updates: { "artifacts.plan": "<path>", "tasks": [...] }`
2. `action: "transition"` — `target: "plan-review"`delegate/SKILL.md:
markdown
任务分派时:
- 将任务状态更新为"in_progress"
- 如果创建了工作树,添加到状态中
任务完成时:
- 将任务状态更新为"complete"
- 检查所有任务是否完成,建议执行checkpointState Schema
状态架构
See for full schema.
docs/schemas/workflow-state.schema.jsonKey sections:
- : Schema version (currently "1.1")
version - : Unique workflow identifier
featureId - : Required. One of "feature", "debug", "refactor", or "oneshot"
workflowType - : Current workflow phase
phase - : Paths to design, plan, PR
artifacts - : Task list with status
tasks - : Active git worktrees
worktrees - : Plan-review delta analysis results (
planReview,gaps)approved - : Review results
reviews - : Merge/PR state
synthesis
完整架构请参阅。
docs/schemas/workflow-state.schema.json关键部分:
- :架构版本(当前为"1.1")
version - :唯一的工作流标识符
featureId - :必填项。可选值为"feature"、"debug"、"refactor"或"oneshot"
workflowType - :当前工作流阶段
phase - :设计文档、计划、PR的路径
artifacts - :包含状态的任务列表
tasks - :活跃的git工作树
worktrees - :计划评审差异分析结果(
planReview、gaps)approved - :评审结果
reviews - :合并/PR状态
synthesis
Reserved fields
保留字段
exarchos:exarchos_workflowaction: "update"RESERVED_FIELD- Top-level immutable keys — ,
phase,workflowType,featureId,createdAt. Set once at init; never mutated directly.version - Underscore-prefixed paths — any dot-path whose top-level key, or any segment, begins with (e.g.
_,_version,_checkpoint.summary). These are projection or event-store metadata._eventHints
Alternate write paths:
- →
phasewithexarchos:exarchos_workflowandaction: "transition". Transitions are HSM-validated and emit transition events.target: "<phase>" - Underscore-prefixed paths → emit a typed event via with
exarchos:exarchos_event(e.g.action: "append",checkpoint). The projection folds the event into the field on the next read.state.patched - ,
workflowType,featureId,createdAt→ not migratable. If you need a different workflow type, init a new workflow.version
A error envelope now carries a typed block:
RESERVED_FIELDdatajson
{
"success": false,
"error": {
"code": "RESERVED_FIELD",
"message": "Cannot update reserved field: phase",
"data": {
"rejectedPath": "phase",
"rule": "`phase` is top-level immutable — set once at init, never directly mutated thereafter.",
"alternateWritePath": "Use `exarchos:exarchos_workflow` with `action: \"transition\"` and `target: \"<phase>\"` — phase changes are HSM-validated and emit transition events."
}
}
}Read the full descriptor — including the regex catch-all for underscore paths — via with and . The returned block is the single source of truth.
exarchos:exarchos_workflowaction: "describe"actions: ["update"]reservedFields使用并设置时,会拒绝两类路径并返回错误:
exarchos:exarchos_workflowaction: "update"RESERVED_FIELD- 顶级不可变键 — 、
phase、workflowType、featureId、createdAt。在初始化时设置一次;之后不得直接修改。version - 下划线前缀路径 — 任何顶级键或任意段以下划线开头的点路径(例如、
_version、_checkpoint.summary)。这些是投影或事件存储的元数据。_eventHints
替代写入路径:
- → 使用
phase并设置exarchos:exarchos_workflow和action: "transition"。转换会经过HSM验证,并触发转换事件。target: "<phase>" - 下划线前缀路径 → 通过并设置
exarchos:exarchos_event触发类型化事件(例如action: "append"、checkpoint)。投影会在下次读取时将事件合并到字段中。state.patched - 、
workflowType、featureId、createdAt→ 不可迁移。如果需要不同的工作流类型,请初始化新的工作流。version
RESERVED_FIELDdatajson
{
"success": false,
"error": {
"code": "RESERVED_FIELD",
"message": "Cannot update reserved field: phase",
"data": {
"rejectedPath": "phase",
"rule": "`phase` is top-level immutable — set once at init, never directly mutated thereafter.",
"alternateWritePath": "Use `exarchos:exarchos_workflow` with `action: \"transition\"` and `target: \"<phase>\"` — phase changes are HSM-validated and emit transition events."
}
}
}通过并设置和读取完整描述符——包括下划线路径的正则匹配规则。返回的块是唯一的事实来源。
exarchos:exarchos_workflowaction: "describe"actions: ["update"]reservedFieldsStructured Handoff Output
结构化交接输出
When capturing a handoff (the command surface), emit this structured summary so the agent that resumes sees the same contract you operated under before context clears. The block mirrors the output (see ) for correctness-signal symmetry — an agent producing a checkpoint sees the same house rules an agent rehydrating would.
checkpoint### House Rulesrehydrate@skills/rehydrate/SKILL.mdmarkdown
undefined当捕获交接(命令界面)时,输出此结构化摘要,以便恢复工作流的Agent能看到与上下文清除前相同的约定。块与输出(请参阅)保持一致,以确保正确性信号对称——生成checkpoint的Agent看到的规则与恢复工作流的Agent看到的规则相同。
checkpoint### House Rulesrehydrate@skills/rehydrate/SKILL.mdmarkdown
undefinedCheckpoint Saved
已保存检查点
Feature: <feature-id>
Phase: <current-phase>
功能: <feature-id>
阶段: <current-phase>
Progress
进度
- Tasks: X/Y complete
- Current: <what's in progress>
- Next: <suggested next action>
- 任务: X/Y 已完成
- 当前: <进行中的工作>
- 下一步: <建议的下一个操作>
House Rules (apply every action this turn forward)
规则(后续所有操作均需遵守)
Skill: <phasePlaybook.skillRef or "(no playbook for this phase)">
Tools: <phasePlaybook.tools rendered as bullets>
Required model-emitted events: <phasePlaybook.events rendered as bullets — e.g. , >
Auto-emitted events (runtime fires these): <phasePlaybook.autoEmittedEvents rendered as bullets>
Transition: <phasePlaybook.transitionCriteria> | Guard: <phasePlaybook.guardPrerequisites>
Validation scripts: <phasePlaybook.validationScripts joined>
task.progressedphase.advanced技能: <phasePlaybook.skillRef 或 "此阶段无工作手册">
工具: <phasePlaybook.tools 以项目符号形式呈现>
模型必须触发的事件: <phasePlaybook.events 以项目符号形式呈现 — 例如 , >
自动触发的事件(运行时触发): <phasePlaybook.autoEmittedEvents 以项目符号形式呈现>
转换条件: <phasePlaybook.transitionCriteria> | 守卫条件: <phasePlaybook.guardPrerequisites>
验证脚本: <phasePlaybook.validationScripts 拼接显示>
task.progressedphase.advancedEvent Emission Hints
事件触发提示
<_eventHints.missing rendered as bullets, or "(none — phase machinery satisfied)">
<_eventHints.missing 以项目符号形式呈现,或显示"(无 — 阶段机制已满足)">
Resume Instructions
恢复说明
To continue this workflow in a new session, run — or start the harness fresh, and the SessionStart hook will auto-discover active workflows.
rehydrateDiscipline reminder: every task transition this turn forward MUST land on the workflow event stream viaorexarchos_event.appendsubagent emission. Directdelegate/Edit/Bashactions on task branches without corresponding events will desync the workflow tracker (see RCAgit).docs/rca/2026-05-08-rehydrate-behavioral-gap.md
undefined要在新会话中继续此工作流,请运行命令——或重新启动工具,SessionStart钩子会自动发现活跃工作流。
rehydrate纪律提醒: 后续的每一次任务转换都必须通过或exarchos_event.append子Agent触发,写入工作流事件流。直接在任务分支上执行delegate/Edit/Bash操作而不触发相应事件会导致工作流跟踪器不同步(请参阅RCA文档git)。docs/rca/2026-05-08-rehydrate-behavioral-gap.md
undefinedAuto-Checkpoint Triggers
自动Checkpoint触发条件
Suggest a checkpoint when:
- After completes — all tasks done, before review
delegate - After a PR is created — in , before the feedback loop
synthesize - After 3+ feedback iterations — context-accumulation risk
- When the user mentions context issues — proactive save
在以下场景建议执行checkpoint:
- 完成后 — 所有任务完成,评审前
delegate - PR创建后 — 在阶段,反馈循环前
synthesize - 3次以上反馈迭代后 — 存在上下文累积风险
- 用户提及上下文问题时 — 主动保存
Best Practices
最佳实践
- Update often - State should reflect reality at all times
- Use MCP tools - Prefer checkpoint MCP tools over manual JSON editing
- Reconcile on resume - Always verify state matches git state (see )
@skills/rehydrate/SKILL.md - Checkpoint at boundaries - Save state before likely context exhaustion
- Read state, don't remember - After summarization, read from state (see )
@skills/rehydrate/SKILL.md
- 频繁更新 - 状态应始终反映实际情况
- 使用MCP工具 - 优先使用checkpoint MCP工具,而非手动编辑JSON
- 恢复时协调 - 始终验证状态与git状态是否匹配(请参阅)
@skills/rehydrate/SKILL.md - 在边界处执行Checkpoint - 在可能出现上下文耗尽前保存状态
- 读取状态,而非记忆 - 总结后从状态中读取信息(请参阅)
@skills/rehydrate/SKILL.md
Troubleshooting
故障排除
MCP Tool Call Failed
MCP工具调用失败
If an Exarchos MCP tool returns an error:
- Check the error message — it usually contains specific guidance
- Verify the workflow state exists: call with
exarchos:exarchos_workflowand the featureIdaction: "get" - If "version mismatch": another process updated state — retry the operation
- If state is corrupted: call with
exarchos:exarchos_workflowandaction: "cancel"dryRun: true
如果Exarchos MCP工具返回错误:
- 查看错误消息——通常包含具体指导
- 验证工作流状态是否存在:调用并设置
exarchos:exarchos_workflow和对应的featureIdaction: "get" - 如果出现“版本不匹配”:其他进程已更新状态——重试操作
- 如果状态损坏:调用并设置
exarchos:exarchos_workflow和action: "cancel"dryRun: true
Checkpoint Missing
Checkpoint缺失
If is invoked with no active workflow:
checkpoint- Discovery first: call with
exarchos:exarchos_workflowto enumerate active workflows; if the list is empty the checkpoint command's "no active workflow" report is correct — exit cleanlyaction: "list" - If returns a candidate, verify it: call
listwithexarchos:exarchos_workflowand thataction: "get"featureId - If a workflow exists but checkpoint fails: check disk space and permissions on the event store
如果调用时没有活跃工作流:
checkpoint- 先进行发现:调用并设置
exarchos:exarchos_workflow枚举活跃工作流;如果列表为空,则checkpoint命令报告的“无活跃工作流”正确——正常退出action: "list" - 如果返回候选工作流,验证它:调用
list并设置exarchos:exarchos_workflow和对应的action: "get"featureId - 如果工作流存在但checkpoint失败:检查事件存储的磁盘空间和权限
Example Workflow
示例工作流
-
Start new workflow: Usewith
exarchos:exarchos_workflowwithaction: "init",featureId: "user-authentication"workflowType: "feature" -
After authoring the Design & Rationale section (is already the initial phase — no transition):
plan- ,
action: "update",featureId: "user-authentication"updates: { "artifacts.spec": "docs/specs/2026-01-05-user-auth.md" }
-
Save progress before a break: Useto capture a structured handoff; resume later with
checkpoint(seerehydrate).@skills/rehydrate/SKILL.md
-
启动新工作流:使用并设置
exarchos:exarchos_workflow,传入action: "init",featureId: "user-authentication"workflowType: "feature" -
设计与原理部分编写完成后(已经是初始阶段——无需转换阶段):
plan- ,
action: "update",featureId: "user-authentication"updates: { "artifacts.spec": "docs/specs/2026-01-05-user-auth.md" }
-
暂停前保存进度:使用捕获结构化交接;后续使用
checkpoint恢复(请参阅rehydrate)。@skills/rehydrate/SKILL.md