Install
openclaw skills install openclaw-config-guardAudit and safely repair OpenClaw configuration with deterministic validation, backups, rollback, and change reporting. Use when asked to review or modify `openclaw.json`, check whether OpenClaw can still start, safely fix startup-blocking config errors, or audit OpenClaw config before deciding on changes.
openclaw skills install openclaw-config-guardAudit first. Repair only when the fix is proven. Protect startup over aesthetics.
Before making any judgment, open the official docs listed in references/official-sources.md. Treat them as the source of truth for schema, allowed values, and repair guidance. Do not rely on memory for config rules.
python3 "<skill-dir>/scripts/config_guard.py" resolve-path --json
If that fails, fall back to ~/.openclaw/openclaw.json.
python3 "<skill-dir>/scripts/config_guard.py" audit --doctor
This wraps:
openclaw config validate --jsonopenclaw doctor --non-interactivestartup blockers: JSON5 parse failures, schema validation failures, unknown keys, wrong types, invalid enum values, missing required structure, or clearly conflicting settings that prevent startup.recommendations: suspicious but non-blocking items such as duplicate plugin IDs, stale-but-working config, style cleanup, or non-critical hardening suggestions.openclaw config set / openclaw config unset for exact path edits.openclaw doctor --fix by default.python3 "<skill-dir>/scripts/config_guard.py" backup --json
python3 "<skill-dir>/scripts/config_guard.py" validate --doctor --json
If post-change validation fails, roll back immediately from the backup and say so in the report.
python3 "<skill-dir>/scripts/config_guard.py" diff --before /path/to/before --after /path/to/after --json
If you want a deterministic report frame, prepare a JSON manifest and run:
python3 "<skill-dir>/scripts/config_guard.py" report --manifest /path/to/manifest.json
<skill-dir> means the directory that contains this SKILL.md. Resolve relative paths against this skill directory instead of assuming any environment variable is set.
The final Markdown report must include: