SkillsAggSubmit Skill

config-guard

Clean

Prevent OpenClaw config changes from crashing the gateway. Auto-backup, schema validation, critical field checks, and auto-rollback. Use before any config.apply, config.patch, or openclaw.json edit.

7 stars🍴 2 forks0 installs📄 MIT

Install Command

npx skills add jzOcb/config-guard
Author
jzOcb
Repository
jzOcb/config-guard
Discovered via
github topic
Weekly installs
0
Quality score
41/100
Last commit
2/6/2026

SKILL.md

---
name: config-guard
description: Prevent OpenClaw config changes from crashing the gateway. Auto-backup, schema validation, critical field checks, and auto-rollback. Use before any config.apply, config.patch, or openclaw.json edit.
metadata:
  openclaw:
    emoji: "🛡️"
---

# Config Guard 🛡️

**Stop AI agents from killing themselves by editing their own config wrong.**

OpenClaw agents have full access to `openclaw.json` — the file that controls the gateway, channels, models, and tools. One bad edit and the gateway crashes. The agent goes offline. Nobody can fix it remotely.

This skill prevents that.

## The Problem

Real incidents (all from 2026-02-04, same day):

| What happened | Root cause |
|---|---|
| Gateway crashed after update | AI added unknown config fields (`auth`, `fallbacks`) |
| Model not found | AI wrote `claude-sonnet-4.5` (dots) instead of `claude-sonnet-4-5` (hyphens) |
| Telegram stopped working | Config change silently wiped the channel section |
| browser.profiles error | AI forgot the required `color` field (must be hex) |
| Plugin SDK missing | Update broke module paths, no validation caught it |

**Core truth: AI doesn't know correct config formats. It guesses. Wrong guesses crash systems.**

## What Config Guard Does

### Before config changes:
1. **Auto-backup** — `cp openclaw.json` to timestamped backup
2. **JSON syntax check** — catches malformed JSON before it hits the gateway
3. **Schema validation** — checks required fields, correct types, valid values
4. **Semantic checks** — catches AI-specific mistakes:
   - Model names with dots instead of hyphens
   - Missing required fields (browser.profiles.color)
   - Unknown top-level keys
   - Placeholder values in sensitive fields
5. **Critical field diff** — warns if Telegram channel, auth tokens, or tool deny lists changed

### After config changes (with `--restart`):
6. **Gateway health check** — polls gateway for up to 30s
7. **Auto-rollback** — if gateway doesn't recover, restores backup automatically

## Usage

### As a script (recommended):
```bash
# Validate current config
bash scripts/config-guard.sh check

# Validate → backup → apply → verify
bash scripts/config-guard.sh apply --restart

# Show what changed vs last backup
bash scripts/config-guard.sh diff

# Emergency rollback
bash scripts/config-guard.sh rollback
```

### As a git hook:
```bash
# Install the pre-commit hook
cp scripts/pre-config-hook.sh /path/to/repo/.git/hooks/pre-commit
# Or chain it in your existing hook
```

### For AI agents:

## ⛔ CRITICAL: DO NOT USE `gateway config.patch` DIRECTLY

The `gateway` tool's `config.patch` action **bypasses all validation**. One wrong model name, one invalid field, and the gateway crashes. You go offline. Nobody can fix you remotely.

**Use `safe-config-patch.sh` instead:**

```bash
# ✅ CORRECT: Validates before applying
bash scripts/safe-config-patch.sh '{"agents":{"defaults":{"model":"anthropic/claude-opus-4-5"}}}'

# ❌ WRONG: No validation, will crash on bad input  
gateway config.patch raw='{"agents":{"defaults":{"model":"claude-opus-4.5"}}}'  # dots = crash
```

## MANDATORY WORKFLOW

1. **Use the safe wrapper** (validates → backs up → applies → verifies):
   ```bash
   bash /path/to/config-guard/scripts/safe-config-patch.sh '<json-patch>'
   ```

2. **Never guess config field names or values.** If unsure:
   - Use `gateway config.schema` to check valid fields
   - Use `gateway config.get` to see current values
   - Change ONE field at a time

3. **For complex changes**, validate first:
   ```bash
   bash /path/to/config-guard/scripts/config-guard.sh check ~/.openclaw/openclaw.json
   ```

4. **If gateway dies**, rollback:
   ```bash
   bash /path/to/config-guard/scripts/config-guard.sh rollback
   ```

## Why This Matters

On 2026-02-05, the agent used `gateway config.patch` to upgrade to Claude Opus 4.6. The model ID was wrong (`claude-opus-4-6-20260205` doesn't exist yet). Gateway kept crashing and falling back to 4.5. Human had to manually fix.

**config-guard existed but was bypassed** because the agent used the raw gateway tool instead of the validated wrapper. This is exactly the failure mode this skill was designed to prevent.

## Checks Performed

| Check | What it catches |
|---|---|
| JSON syntax | Malformed JSON, trailing commas, unquoted keys |
| Unknown top-level keys | AI inventing fields like `fallbacks`, `auth` at wrong level |
| Model name format | `claude-sonnet-4.5` → should be `claude-sonnet-4-5` |
| browser.profiles.color | Missing required field, non-hex values |
| commands.native | Missing required fields |
| Placeholder values | `your-token-here`, `sk-xxx` in sensitive fields |
| Empty primary model | No model configured = agent can't think |
| Telegram channel wipe | Silent removal of channel config |
| Auth token removal | Gateway auth accidentally deleted |
| Tool deny list changes | Security-critical tools removed from deny |

## Philosophy

**Prompts are suggestions. Code is law.**

This skill doesn't ask the AI to "please validate before changing config." It provides executable scripts that enforce validation. The pre-commit hook blocks bad configs from being committed. The apply script auto-rollbacks on failure.

The AI doesn't need to cooperate. The code runs regardless.

## Install

```bash
clawdhub install config-guard
# or copy the scripts/ directory to your workspace
```

## Requirements

- `python3` (for JSON parsing and validation)
- `curl` (for gateway health checks)
- `bash` 4+

Similar Skills

Safe OpenClaw upgrades with snapshot, pre-flight checks, controlled upgrade steps, post-verification, and emergency rollback. Never lose your working system to a bad update again.

npx skills add jzOcb/upgrade-guard

OpenClaw Agent Infrastructure Guardian — keep your agent's infrastructure alive. Process lifecycle management with detached execution, auto-restart on failure. Cron scheduler health monitoring (per-job detection, auto-recovery). Direct Telegram/messaging alerts independent of OpenClaw. System-level watchdog that runs from crontab, not OpenClaw cron. Use when launching background processes, monitoring cron job health, or when things keep dying silently.

npx skills add jzOcb/openclaw-infra-guard
token-guardClean

Monitor and control OpenClaw token usage and costs. Set daily budgets, track spending, auto-downgrade models when limits hit. Stop burning money while you sleep.

npx skills add jzOcb/token-guard

Stop AI agents from secretly bypassing your rules. Mechanical enforcement with git hooks, secret detection, deployment verification, and import registries. Born from real production incidents: server crashes, token leaks, code rewrites. Works with Claude Code, Clawdbot, Cursor. Install once, enforce forever.

securitydevopsgitai-safetycode-quality
npx skills add jzOcb/agent-guardrails