Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Backup and restore your OpenClaw workspace to GitHub
Backup and restore your OpenClaw workspace to GitHub
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.
Backup and restore your OpenClaw workspace to GitHub.
This skill is designed with defense-in-depth. Please read carefully.
CategoryFilesStatusIdentity FilesAGENTS.md, SOUL.md, USER.md, TOOLS.md, IDENTITY.md, HEARTBEAT.mdโ SafeSkillsAll from $OPENCLAW/skills/โ ๏ธ Manual reviewScriptsAll from $OPENCLAW/scripts/โ ๏ธ Manual review
The following files are NOT backed up by design: SITES.md โ May contain API keys/secrets MEMORY.md โ May contain sensitive conversation data Any file in credentials/, .env, node_modules/
โ API keys and tokens (any format) โ Credentials folder โ .env files โ node_modules โ .git directories โ Nested git repositories โ Files containing secrets (detected by regex)
ClawSync scans for these secret patterns: GitHub tokens (ghp_*) OpenAI keys (sk-*) Google API keys (AIza*) Slack tokens (xoxb-*, xoxp-*) AWS access keys (AKIA*) JWTs and bearer tokens Private keys (-----BEGIN * PRIVATE KEY-----) High-entropy strings If any are detected โ backup aborts before push.
export GITHUB_TOKEN="ghp_xxxx" export BACKUP_REPO="username/repo-name" export OPENCLAW_WORKSPACE="${HOME}/openclaw-workspace"
For least privilege, use a GitHub Fine-Grained PAT: Go to GitHub โ Settings โ Developer settings โ Personal access tokens โ Fine-grained tokens Create new token with: Repository access: Only $BACKUP_REPO Permissions: Contents: Write Use this token as GITHUB_TOKEN
git clone https://github.com/your-username/clawsync.git ~/clawsync cp .env.example .env # Edit .env with your values bash sync.sh
Pre-flight Check: Validates required env vars before running Strict Whitelist: Only copies explicitly allowed files Deny List: Filters out .git, credentials, node_modules Secret Scrubbing: Detects 100+ secret patterns, aborts if found Safe Restore: Requires --force or confirmation before overwriting
# With confirmation (default) bash restore.sh # Force mode (no prompt) bash restore.sh --force
Uses gh CLI if available, falls back to token auth.
sync.sh - Backup script (ShellCheck compliant) restore.sh - Restore script .env_example - Template .gitignore - Blocks secrets
# Set up test workspace mkdir -p /tmp/test-workspace echo "test" > /tmp/test-workspace/AGENTS.md echo "test" > /tmp/test-workspace/USER.md mkdir -p /tmp/test-workspace/skills /tmp/test-workspace/scripts # Run integration test export BACKUP_REPO="test/repo" export OPENCLAW_WORKSPACE="/tmp/test-workspace" export GITHUB_TOKEN="dummy" cd /tmp && rm -rf test-backup-repo && mkdir test-backup-repo cd test-backup-repo && git init cp ~/clawsync/sync.sh . bash sync.sh
# Create a test file with a fake secret echo "My API key is ghp_test1234567890abcdefghijklmnopqrstuvwxyz" > /tmp/test-workspace/AGENTS.md # Run sync - should abort with error bash sync.sh # Expected output: "Error: Potential secret detected..."
This test verifies the script catches secrets BEFORE they are staged: # Set up test workspace export BACKUP_REPO="test/repo" export OPENCLAW_WORKSPACE="/tmp/test-workspace" export GITHUB_TOKEN="dummy" # Create workspace with secret in a non-staged file mkdir -p /tmp/test-workspace echo "Real API key: sk-realapikey12345678901234567890" > /tmp/test-workspace/AGENTS.md # Copy sync.sh to temp backup dir cd /tmp && rm -rf audit-test && mkdir audit-test && cd audit-test git init cp ~/clawsync/sync.sh . # Run sync - should FAIL (catches non-staged secret) bash sync.sh # Expected: "Error: Potential secret detected in backup directory!" # This proves the pre-git-add scanning works
The CI runs on every push and pull request: ShellCheck - Lints bash scripts Integration test - Verifies backup/restore works To publish a new version: git add -A git commit -m "Release v1.0.x" git tag v1.0.x git push origin master --tags CI will automatically: Run tests If tests pass and tag starts with v*, publish to ClawHub
Workflow acceleration for inboxes, docs, calendars, planning, and execution loops.
Largest current source with strong distribution and engagement signals.