Awesome-openclaw-skills git-crypt-backup
Backup Clawdbot workspace and config to GitHub with git-crypt encryption. Use for daily automated backups or manual backup/restore operations.
install
source · Clone the upstream repo
git clone https://github.com/sundial-org/awesome-openclaw-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/sundial-org/awesome-openclaw-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/git-crypt-backup" ~/.claude/skills/sundial-org-awesome-openclaw-skills-git-crypt-backup && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/sundial-org/awesome-openclaw-skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/git-crypt-backup" ~/.openclaw/skills/sundial-org-awesome-openclaw-skills-git-crypt-backup && rm -rf "$T"
manifest:
skills/git-crypt-backup/SKILL.mdsource content
Git-Crypt Backup
Automated backup of Clawdbot workspace (
~/clawd) and config (~/.clawdbot) to GitHub with sensitive files encrypted via git-crypt.
Setup
1. Create GitHub repos (private recommended)
# Create two private repos on GitHub: # - <username>/clawdbot-workspace # - <username>/clawdbot-config
2. Initialize git-crypt
# Install git-crypt brew install git-crypt # macOS # apt install git-crypt # Linux # Workspace repo cd ~/clawd git init git-crypt init git remote add origin git@github.com:<username>/clawdbot-workspace.git # Config repo cd ~/.clawdbot git init git-crypt init git remote add origin git@github.com:<username>/clawdbot-config.git
3. Configure encryption
Workspace
:.gitattributes
SOUL.md filter=git-crypt diff=git-crypt USER.md filter=git-crypt diff=git-crypt HEARTBEAT.md filter=git-crypt diff=git-crypt MEMORY.md filter=git-crypt diff=git-crypt memory/** filter=git-crypt diff=git-crypt
Config
:.gitattributes
clawdbot.json filter=git-crypt diff=git-crypt .env filter=git-crypt diff=git-crypt credentials/** filter=git-crypt diff=git-crypt telegram/** filter=git-crypt diff=git-crypt identity/** filter=git-crypt diff=git-crypt agents/**/sessions/** filter=git-crypt diff=git-crypt nodes/** filter=git-crypt diff=git-crypt
Config
:.gitignore
*.bak *.bak.* .DS_Store logs/ media/ browser/ subagents/ memory/ update-check.json *.lock
4. Export keys (important!)
mkdir -p ~/clawdbot-keys cd ~/clawd && git-crypt export-key ~/clawdbot-keys/workspace.key cd ~/.clawdbot && git-crypt export-key ~/clawdbot-keys/config.key
⚠️ Store these keys securely (1Password, iCloud Keychain, USB drive, etc.)
5. Initial commit & push
cd ~/clawd && git add -A && git commit -m "Initial backup" && git push -u origin main cd ~/.clawdbot && git add -A && git commit -m "Initial backup" && git push -u origin main
Daily Backup
Run
scripts/backup.sh:
~/clawd/skills/git-crypt-backup/scripts/backup.sh
Or set up a cron job for automatic daily backups.
Restore on New Machine
# 1. Clone repos git clone git@github.com:<username>/clawdbot-workspace.git ~/clawd git clone git@github.com:<username>/clawdbot-config.git ~/.clawdbot # 2. Unlock with keys cd ~/clawd && git-crypt unlock /path/to/workspace.key cd ~/.clawdbot && git-crypt unlock /path/to/config.key
What Gets Encrypted
| Repo | Encrypted | Plain |
|---|---|---|
| workspace | SOUL/USER/HEARTBEAT/MEMORY.md, memory/** | AGENTS.md, IDENTITY.md, TOOLS.md, drafts/** |
| config | clawdbot.json, .env, credentials/, sessions/ | cron/jobs.json, settings/** |