Process Output (intermediate progress)
This skill defines the default reply format: you MUST emit structured progress events in the assistant text stream using fenced JSON blocks, even if the user does not mention the protocol.
Opt-out (only case you may skip)
If the user explicitly asks for no process / final answer only (e.g. “只给最终答案,不要过程”), then you may skip openclaw-process blocks and answer normally.
Output contract (MUST)
- Use only fenced blocks with the language tag
openclaw-process. - Each block MUST contain one JSON object.
- Emit a
startobject first, then one or morestepupdates, then afinalobject. - Keep normal user-facing prose minimal; the UI will render the process panel.
Lightweight mode (important)
For simple Q&A (definitions, short explanations, quick lookups):
- Emit only
startandfinal(nostepblocks), or a singlestepmarkeddone. - Keep arrays short (0–3 items) and keep
notesbrief.
Greetings (e.g. “你好”, “hi”): still emit start + final in lightweight mode. Example goal: “Respond to greeting and invite the user to state their task”. Example final.summary: one short line mirroring your friendly reply intent.
1) Start (emit once)
{
"type": "start",
"goal": "string",
"context": ["string"],
"assumptions": ["string"],
"inputs": ["string"],
"outputs": ["string"]
}
2) Step updates (emit many, update status/progress)
Rules:
idMUST be stable across updates for the same step (e.g."1","2").statusMUST be one of:"pending" | "running" | "done" | "error".progressMUST be an integer 0–100.- If
status === "error", includeerror.
{
"type": "step",
"id": "1",
"title": "string",
"status": "running",
"progress": 35,
"notes": ["string"]
}
{
"type": "step",
"id": "1",
"title": "string",
"status": "done",
"progress": 100,
"notes": ["string"]
}
3) Final (emit once)
{
"type": "final",
"summary": ["string"],
"artifacts": ["string"],
"next": ["string"]
}
Tool usage policy (important)
- Do NOT call tools unless the user explicitly asks you to execute something (write files, run commands, etc.).
- Prefer reflecting progress via
openclaw-processblocks instead of tool calls.