Create encrypted backups of agent personality files, memory, config, secrets, and projects. Use when the agent needs to set up, run, or manage automated backups of its workspace and identity files. Supports configurable backup targets, AES-256 encryption via 7-zip, and delivery via email (SMTP) or local storage.
21 stars
0 votes
0 copies
6 views
Added September 7, 2026
securitypythonbashnodegit
Works with
cli
Security analysis
A93/100
highCreates or modifies cron jobs for persistent execution
Installs into .claude/skills of the current project.
Sponsors
SSkills DirectorySkills Directory
Is that skill safe to install?
SSkills DirectorySkills Directory
Know which skills are safe — weekly.
Are you the author of Personality Backup?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/modbender-personality-backup)
---
name: personality-backup
description: Create encrypted backups of agent personality files, memory, config, secrets, and projects. Use when the agent needs to set up, run, or manage automated backups of its workspace and identity files. Supports configurable backup targets, AES-256 encryption via 7-zip, and delivery via email (SMTP) or local storage.
---
# Personality Backup
Encrypted backup of agent identity, memory, and workspace data.
## Prerequisites
- `p7zip-full` (7-zip CLI)
- Python 3 with `smtplib` (for email delivery)
- A backup password stored in a file
## Configuration
Create `~/.openclaw/secrets/backup-config.json`:
```json
{
"password_file": "/home/jan/.openclaw/secrets/backup-password.txt",
"password_field": "Password",
"delivery": "email",
"email": {
"to": "user@example.com",
"from": "agent@example.com",
"smtp_host": "mail.example.com",
"smtp_port": 465,
"smtp_user": "agent@example.com",
"smtp_pass_env": "BACKUP_SMTP_PASS"
},
"local": {
"dir": "/home/jan/backups"
},
"workspace": "/home/jan/.openclaw/workspace",
"secrets_dir": "/home/jan/.openclaw/secrets",
"config_file": "/home/jan/.openclaw/openclaw.json",
"agent_name": "Agent",
"agent_emoji": "",
"personality_files": ["SOUL.md", "IDENTITY.md", "USER.md", "AGENTS.md", "MEMORY.md", "TOOLS.md"],
"backup_memory": true,
"backup_secrets": true,
"backup_config": true,
"backup_projects": true,
"backup_scripts": true,
"project_excludes": ["node_modules", ".git", "__pycache__", "*.mp4", "*.mp3", "*.wav"],
"generate_restore_guide": true
}
```
All fields have sensible defaults. Only `password_file` and delivery settings are required.
### Password File Format
The password file should contain a line: `Password: YOUR_SECRET_KEY`
Or set `password_field` to `null` and the entire file content is used as the password.
## Usage
### Run a backup
```bash
bash scripts/backup.sh /path/to/backup-config.json
```
### Set up daily cron
```bash
echo "0 3 * * * bash $(pwd)/scripts/backup.sh /path/to/backup-config.json" | crontab -
```
### Delivery Methods
- **email** — Sends encrypted archive as email attachment via SMTP
- **local** — Saves archive to a local directory
SMTP password: set via the environment variable named in `smtp_pass_env`, or put it directly in `smtp_pass` (less secure).
## Restore
The backup includes a generated `RESTORE.md` with step-by-step instructions for restoring onto a fresh OpenClaw installation. The restore guide is customized with the agent's name and configuration.