Install
openclaw skills install @soal2/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 @soal2/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: