Elegant Config Guardian
ReviewAudited by ClawScan on May 10, 2026.
Overview
The skill is coherent for guarded OpenClaw config edits, but its rollback protection has gaps and it runs a caller-supplied shell command.
Review or fix the rollback logic before relying on this for production config changes. Only pass trusted patch commands, use --require-ack, verify that the gateway actually restarted with the new config, and keep the backup path handy for manual recovery.
Findings (3)
Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.
A failed or partially failed config patch could leave OpenClaw configuration changed while the user believes automatic rollback protected them.
This safety claim is stronger than the implementation: the script uses an unguarded apply step under `set -e`, and some failures can exit before rollback logic runs.
Use `scripts/safe_apply.sh` to enforce: backup → apply → restart → health check → optional ack wait → rollback on failure.
Add explicit error handling or a trap that restores the backup on any apply/restart/health failure, or document that rollback only covers specific health-check and ack-timeout failures.
The script may report success even when the intended runtime change was not applied, leaving a risky config change on disk for a later restart.
Gateway restart failures are explicitly ignored, so a later status check may not prove that the new configuration was actually loaded.
openclaw gateway restart >/dev/null 2>&1 || true
Do not suppress restart errors; fail closed, roll back on restart failure, and verify that the running gateway actually loaded the new config.
If an unsafe command is supplied, it can run arbitrary local commands under the user's account before rollback checks occur.
The script accepts a caller-supplied command and executes it through shell eval. This is disclosed and central to applying config patches, but it is not constrained to the target config file.
--apply-cmd) APPLY_CMD="$2"; shift 2 ;; ... eval "$APPLY_CMD"
Use only reviewed, trusted patch commands; avoid building --apply-cmd from untrusted text, and consider replacing eval with a safer, constrained command interface.
