Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Drift detection + baseline integrity guard for agent workspace files with automatic alerting support
Drift detection + baseline integrity guard for agent workspace files with automatic alerting support
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.
Protects your agent's core files (SOUL.md, AGENTS.md, etc.) from unauthorized changes with automatic detection, restoration, and user alerting.
cd ~/.openclaw/workspace python3 skills/soul-guardian/scripts/soul_guardian.py init --actor setup --note "initial baseline"
python3 skills/soul-guardian/scripts/soul_guardian.py enable-monitoring This shows you how to add monitoring to your workflow.
FileModeAction on driftSOUL.mdrestoreAuto-restore + alertAGENTS.mdrestoreAuto-restore + alertUSER.mdalertAlert onlyTOOLS.mdalertAlert onlyIDENTITY.mdalertAlert onlyHEARTBEAT.mdalertAlert onlyMEMORY.mdalertAlert onlymemory/*.mdignoreIgnored
python3 skills/soul-guardian/scripts/soul_guardian.py check --output-format alert Silent if no drift Outputs human-readable alert if drift detected Perfect for heartbeat integration
python3 skills/soul-guardian/scripts/soul_guardian.py watch --interval 30 Runs continuously, checking every 30 seconds.
python3 skills/soul-guardian/scripts/soul_guardian.py approve --file SOUL.md --actor user --note "intentional update"
python3 skills/soul-guardian/scripts/soul_guardian.py status
python3 skills/soul-guardian/scripts/soul_guardian.py verify-audit
When drift is detected, the --output-format alert produces output like: ================================================== ๐จ SOUL GUARDIAN SECURITY ALERT ================================================== ๐ FILE: SOUL.md Mode: restore Status: โ RESTORED to approved baseline Expected hash: abc123def456... Found hash: 789xyz000111... Diff saved: /path/to/patches/drift.patch ================================================== Review changes and investigate the source of drift. If intentional, run: soul_guardian.py approve --file <path> ================================================== This output is designed to be relayed directly to the user in TUI/chat.
What it does: Detects filesystem drift vs approved baseline (sha256) Produces unified diffs for review Maintains tamper-evident audit log with hash chaining Refuses to operate on symlinks Uses atomic writes for restores What it doesn't do: Cannot prove WHO made a change (actor is best-effort metadata) Cannot protect if attacker controls both workspace AND state directory Is not a substitute for backups Recommendation: Store state directory outside workspace for better resilience.
Run the full demo flow to see soul-guardian in action: bash skills/soul-guardian/scripts/demo.sh This will: Verify clean state (silent check) Inject malicious content into SOUL.md Run heartbeat check (produces alert) Show SOUL.md was restored
"Not initialized" error: Run init first to set up baselines. Drift keeps happening: Check what's modifying your files. Review the audit log and patches. Want to approve a change: Run approve --file <path> after reviewing the change.
Workflow acceleration for inboxes, docs, calendars, planning, and execution loops.
Largest current source with strong distribution and engagement signals.