Install
openclaw skills install update-approval-guardUse this skill when the user wants scheduled update checks for OpenClaw and installed skills, but does not want automatic mutation. The skill performs dry-run inspection, asks for approval, and only executes updates after explicit confirmation.
openclaw skills install update-approval-guardThis skill turns automatic updating into a safer two-step workflow:
Never apply updates automatically during the scheduled check.
Use this skill when the user asks to:
Store data under:
<workspace>/data/update-approval-guard/
Use these files:
pending-update.jsonhistory.jsonUse this structure for pending-update.json:
{
"createdAt": "2026-03-13T00:00:00+08:00",
"expiresAt": "2026-03-14T00:00:00+08:00",
"status": "pending_confirmation",
"summary": "Detected 1 OpenClaw update and 2 skill updates.",
"openclaw": {
"current": "2026.3.8",
"latest": "2026.3.9",
"hasUpdate": true
},
"skills": [
{
"name": "some-skill",
"current": "1.0.0",
"latest": "1.0.1",
"hasUpdate": true
}
],
"approved": false,
"approvedAt": null,
"approvedBy": null
}
When the user asks to enable the daily scheduled check, create an isolated cron job that runs every day at 00:00 Asia/Shanghai.
The scheduled job must do the following:
<workspace>/data/update-approval-guard/ exists.pending-update.json with a 24-hour expiry.pending_confirmation.Use wording equivalent to:
Check for updates to OpenClaw and all installed skills.
Rules:
1. Run check-only commands. Do not apply updates automatically.
2. Create <workspace>/data/update-approval-guard/pending-update.json only when updates are found.
3. Include current version, latest version, and whether each item has an update.
4. Set status to pending_confirmation and expiry to 24 hours after creation.
5. If a non-expired pending plan already exists, keep it and report that approval is still pending.
6. If there are no updates, report that everything is current.
7. Ask the user to confirm before any update can be executed.
8. Never run the actual update command during this scheduled check.
When the user sends an approval message such as:
确认执行更新确认更新批准更新approve updatesapply pending updatesperform this workflow:
<workspace>/data/update-approval-guard/pending-update.json.pending_confirmation.openclaw doctor after updates.history.json.completed or failed.If there is no pending plan, say there is nothing to approve.
If the plan is expired, say it expired and a fresh check is required.
The local command available on this machine is openclaw.
Use the following command policy.
Use safe inspection commands only.
For skills:
clawhub update --all --dry-run
For OpenClaw:
Only after explicit approval, use the real update commands.
For skills:
clawhub update --all
For OpenClaw:
openclaw update is available in the environment, use it.After approved updates:
openclaw doctor
If a safe fix mode is explicitly requested and supported, you may use it. Otherwise prefer the plain health check.
When the user asks to set up the schedule and does not specify otherwise, use:
00:00Asia/Shanghaiisolatedannouncetrue for routine checks unless the job clearly needs full bootstrap contextUse the Cron Jobs capability with settings equivalent to:
Daily Update Approval Check0 0 * * *Asia/ShanghaiisolatedagentTurnannouncetrueUse wording like:
检测到 OpenClaw 本体和已安装 skills 的可用更新,已生成待更新计划,默认不会自动执行。若需执行,请回复:
确认执行更新
Use wording like:
当前 OpenClaw 与已安装 skills 均为最新版本,无需更新。
Use wording like:
已根据你的确认执行更新。OpenClaw 更新状态:成功。Skill 更新状态:成功。健康检查已完成。
Use wording like:
待更新计划已过期,未执行任何更新。请先重新检查更新。
If any step fails:
history.json.Common failure causes:
This skill is intentionally conservative. It is meant for operators who want the visibility of automatic update checks but want to keep change approval in human hands.