{ "title": "SOUL Evil Hook", "content": "The SOUL Evil hook swaps the **injected** `SOUL.md` content with `SOUL_EVIL.md` during\na purge window or by random chance. It does **not** modify files on disk.\n\nWhen `agent:bootstrap` runs, the hook can replace the `SOUL.md` content in memory\nbefore the system prompt is assembled. If `SOUL_EVIL.md` is missing or empty,\nOpenClaw logs a warning and keeps the normal `SOUL.md`.\n\nSub-agent runs do **not** include `SOUL.md` in their bootstrap files, so this hook\nhas no effect on sub-agents.\n\nCreate `SOUL_EVIL.md` in the agent workspace root (next to `SOUL.md`).\n\n* `file` (string): alternate SOUL filename (default: `SOUL_EVIL.md`)\n* `chance` (number 0–1): random chance per run to use `SOUL_EVIL.md`\n* `purge.at` (HH:mm): daily purge start (24-hour clock)\n* `purge.duration` (duration): window length (e.g. `30s`, `10m`, `1h`)\n\n**Precedence:** purge window wins over chance.\n\n**Timezone:** uses `agents.defaults.userTimezone` when set; otherwise host timezone.\n\n* No files are written or modified on disk.\n* If `SOUL.md` is not in the bootstrap list, the hook does nothing.", "code_samples": [ { "code": "Then set the config:", "language": "unknown" } ], "headings": [ { "level": "h2", "text": "How It Works", "id": "how-it-works" }, { "level": "h2", "text": "Enable", "id": "enable" }, { "level": "h2", "text": "Options", "id": "options" }, { "level": "h2", "text": "Notes", "id": "notes" }, { "level": "h2", "text": "See Also", "id": "see-also" } ], "url": "llms-txt#soul-evil-hook", "links": [] }