clawdbot-update-plus

Full backup, update, and restore for Clawdbot - config, workspace, and skills with auto-rollback

16 stars

Best use case

clawdbot-update-plus is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Full backup, update, and restore for Clawdbot - config, workspace, and skills with auto-rollback

Teams using clawdbot-update-plus should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/clawdbot-update-plus/SKILL.md --create-dirs "https://raw.githubusercontent.com/diegosouzapw/awesome-omni-skill/main/skills/backend/clawdbot-update-plus/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/clawdbot-update-plus/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How clawdbot-update-plus Compares

Feature / Agentclawdbot-update-plusStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Full backup, update, and restore for Clawdbot - config, workspace, and skills with auto-rollback

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# 🔄 Clawdbot Update Plus

A comprehensive backup, update, and restore tool for your entire Clawdbot environment. Protect your config, workspace, and skills with automatic rollback, encrypted backups, and cloud sync.

## Quick Start

```bash
# Check for available updates
clawdbot-update-plus check

# Create a full backup
clawdbot-update-plus backup

# Update everything (creates backup first)
clawdbot-update-plus update

# Preview changes (no modifications)
clawdbot-update-plus update --dry-run

# Restore from backup
clawdbot-update-plus restore clawdbot-update-2026-01-25-12:00:00.tar.gz
```

## Features

| Feature | Description |
|---------|-------------|
| **Full Backup** | Backup entire environment (config, workspace, skills) |
| **Auto Backup** | Creates backup before every update |
| **Auto Rollback** | Reverts to previous commit if update fails |
| **Smart Restore** | Restore everything or specific parts (config, workspace) |
| **Multi-Directory** | Separate prod/dev skills with independent update settings |
| **Encrypted Backups** | Optional GPG encryption |
| **Cloud Sync** | Upload backups to Google Drive, S3, Dropbox via rclone |
| **Notifications** | Get notified via WhatsApp, Telegram, or Discord |
| **Modular Architecture** | Clean, maintainable codebase |

## Installation

```bash
# Via ClawdHub
clawdhub install clawdbot-update-plus --dir ~/.clawdbot/skills

# Or clone manually
git clone https://github.com/hopyky/clawdbot-update-plus.git ~/.clawdbot/skills/clawdbot-update-plus
```

### Add to PATH

Create a symlink to use the command globally:

```bash
mkdir -p ~/bin
echo 'export PATH="$HOME/bin:$PATH"' >> ~/.zshrc  # or ~/.bashrc
source ~/.zshrc
ln -sf ~/.clawdbot/skills/clawdbot-update-plus/bin/clawdbot-update-plus ~/bin/clawdbot-update-plus
```

### Dependencies

| Dependency | Required | Purpose |
|------------|----------|---------|
| `git` | Yes | Update skills from repositories |
| `jq` | Yes | Parse JSON configuration |
| `rsync` | Yes | Efficient file copying |
| `rclone` | No | Cloud storage sync |
| `gpg` | No | Backup encryption |

## Configuration

Create `~/.clawdbot/clawdbot-update.json`:

```json
{
  "backup_dir": "~/.clawdbot/backups",
  "backup_before_update": true,
  "backup_count": 5,
  "backup_paths": [
    {"path": "~/.clawdbot", "label": "config", "exclude": ["backups", "logs", "media", "*.lock"]},
    {"path": "~/clawd", "label": "workspace", "exclude": ["node_modules", ".venv"]}
  ],
  "skills_dirs": [
    {"path": "~/.clawdbot/skills", "label": "prod", "update": true},
    {"path": "~/clawd/skills", "label": "dev", "update": false}
  ],
  "remote_storage": {
    "enabled": false,
    "rclone_remote": "gdrive:",
    "path": "clawdbot-backups"
  },
  "encryption": {
    "enabled": false,
    "gpg_recipient": "your-email@example.com"
  },
  "notifications": {
    "enabled": false,
    "target": "+1234567890",
    "on_success": true,
    "on_error": true
  }
}
```

## Backup Paths

Configure what to backup with `backup_paths`:

| Option | Description |
|--------|-------------|
| `path` | Directory to backup (supports `~`) |
| `label` | Name in logs and restore |
| `exclude` | Files/folders to exclude |

### Recommended Setup

```json
"backup_paths": [
  {"path": "~/.clawdbot", "label": "config", "exclude": ["backups", "logs", "media"]},
  {"path": "~/clawd", "label": "workspace", "exclude": ["node_modules", ".venv"]}
]
```

## Skills Update

Configure which skills to update with `skills_dirs`:

| Option | Description |
|--------|-------------|
| `path` | Skills directory |
| `label` | Name in logs |
| `update` | Run `git pull` (true/false) |

### Recommended Setup

```json
"skills_dirs": [
  {"path": "~/.clawdbot/skills", "label": "prod", "update": true},
  {"path": "~/clawd/skills", "label": "dev", "update": false}
]
```

- **Prod**: Auto-update from ClawdHub/GitHub
- **Dev**: Manual only (protects your work)

## Commands

### `backup` — Create Full Backup

```bash
clawdbot-update-plus backup
```

### `list-backups` — List Available Backups

```bash
clawdbot-update-plus list-backups
```

### `update` — Update Everything

```bash
# Standard update (with automatic backup)
clawdbot-update-plus update

# Preview changes only
clawdbot-update-plus update --dry-run

# Skip backup
clawdbot-update-plus update --no-backup

# Force continue even if backup fails
clawdbot-update-plus update --force
```

### `restore` — Restore from Backup

```bash
# Restore everything
clawdbot-update-plus restore backup.tar.gz

# Restore only config
clawdbot-update-plus restore backup.tar.gz config

# Restore only workspace
clawdbot-update-plus restore backup.tar.gz workspace

# Force (no confirmation)
clawdbot-update-plus restore backup.tar.gz --force
```

### `check` — Check for Updates

```bash
clawdbot-update-plus check
```

### `install-cron` — Automatic Updates

```bash
# Install daily at 2 AM
clawdbot-update-plus install-cron

# Custom schedule
clawdbot-update-plus install-cron "0 3 * * 0"  # Sundays at 3 AM

# Remove
clawdbot-update-plus uninstall-cron
```

## Notifications

Get notified when updates complete or fail:

```json
"notifications": {
  "enabled": true,
  "target": "+1234567890",
  "on_success": true,
  "on_error": true
}
```

Target format determines channel:
- `+1234567890` → WhatsApp
- `@username` → Telegram
- `channel:123` → Discord

## Cloud Storage

### Setup rclone

```bash
# Install
brew install rclone  # macOS
curl https://rclone.org/install.sh | sudo bash  # Linux

# Configure
rclone config
```

### Enable in Config

```json
"remote_storage": {
  "enabled": true,
  "rclone_remote": "gdrive:",
  "path": "clawdbot-backups"
}
```

## Encrypted Backups

```json
"encryption": {
  "enabled": true,
  "gpg_recipient": "your-email@example.com"
}
```

## Logs

All operations are logged to `~/.clawdbot/backups/update.log`:

```
[2026-01-25 20:22:48] === Update started 2026-01-25 20:22:48 ===
[2026-01-25 20:23:39] Creating backup...
[2026-01-25 20:23:39] Backup created: clawdbot-update-2026-01-25-20:22:48.tar.gz (625M)
[2026-01-25 20:23:39] Clawdbot current version: 2026.1.22
[2026-01-25 20:23:41] Starting skills update
[2026-01-25 20:23:41] === Update completed 2026-01-25 20:23:41 ===
[2026-01-25 20:23:43] Notification sent to +1234567890 via whatsapp
```

**Log retention**: Logs older than 30 days are automatically deleted.

## Retention Policy

| Type | Retention | Config |
|------|-----------|--------|
| Backups (local) | Last N backups | `backup_count: 5` |
| Backups (remote) | Last N backups | Same as local |
| Logs | 30 days | Automatic |

## Architecture (v2.0)

```
bin/
├── clawdbot-update-plus     # Main entry point
└── lib/
    ├── utils.sh             # Logging, helpers
    ├── config.sh            # Configuration
    ├── backup.sh            # Backup functions
    ├── restore.sh           # Restore functions
    ├── update.sh            # Update functions
    ├── notify.sh            # Notifications
    └── cron.sh              # Cron management
```

## Changelog

### v2.0.0
- Complete architecture rewrite
- Modular design (7 separate modules)
- Cleaner codebase (~150 lines per module vs 1000+ monolith)
- Better error handling
- Improved restore with label support
- Auto-detect notification channel from target format
- Fixed `--no-backup` flag being ignored
- Detailed logging to file with auto-purge
- Backup retention policy (local + remote)

### v1.7.0
- Smart restore with label support
- Auto-detect backup format

### v1.6.0
- Added `backup_paths` for full environment backup
- Separated backup logic from update logic

### v1.5.0
- Multi-directory support (`skills_dirs`)

### v1.4.0
- Notifications via Clawdbot messaging

### v1.3.0
- Added `check`, `diff-backups`, `install-cron` commands

## Author

Created by **hopyky**

## License

MIT

Related Skills

clawdbot-dashboard

16
from diegosouzapw/awesome-omni-skill

A beautiful, feature-rich dashboard for Clawdbot that displays workspace stats, memory, tasks, goals, analytics, and installed skills. Works with any Clawdbot installation - no database needed, all data from workspace files.

bulk-cms-update

16
from diegosouzapw/awesome-omni-skill

Create or update multiple CMS items in a Webflow collection with validation and diff preview. Use when adding multiple blog posts, products, or updating fields across many items.

updatekfg

16
from diegosouzapw/awesome-omni-skill

Synchronizacja KFG między urządzeniami (Windows/Android). Triggers: sync KFG, updatekfg, zaktualizuj

clawdbot-config

16
from diegosouzapw/awesome-omni-skill

Comprehensive Clawdbot configuration and skills system management. Use when working with Clawdbot setup, configuration files, creating/modifying AgentSkills-compatible skills with YAML frontmatter, troubleshooting agent behavior, managing channels, workspace, sandbox, or multi-agent routing.

apps-script-update

16
from diegosouzapw/awesome-omni-skill

Google Apps Script のコードを更新する。「GAS 更新」「Apps Script 更新」「スクリプト編集」「コードを更新」などで起動。

token-saver-75plus

16
from diegosouzapw/awesome-omni-skill

Always-on token optimization + model routing protocol. Auto-classifies requests (T1-T4), routes execution to the cheapest capable model via sessions_spawn, and applies maximum output compression. Target: 75%+ token savings.

claude-win11-speckit-update-skill

16
from diegosouzapw/awesome-omni-skill

Windows 11 system management

claude-updates

16
from diegosouzapw/awesome-omni-skill

Fetch and analyze Claude/Anthropic RSS feeds to summarize recent updates and propose improvements to CLAUDE.md, skills, and workflows.

bgo

10
from diegosouzapw/awesome-omni-skill

Automates the complete Blender build-go workflow, from building and packaging your extension/add-on to removing old versions, installing, enabling, and launching Blender for quick testing and iteration.

Coding & Development

mcp-create-declarative-agent

16
from diegosouzapw/awesome-omni-skill

Skill converted from mcp-create-declarative-agent.prompt.md

MCP Architecture Expert

16
from diegosouzapw/awesome-omni-skill

Design and implement Model Context Protocol servers for standardized AI-to-data integration with resources, tools, prompts, and security best practices

mathem-shopping

16
from diegosouzapw/awesome-omni-skill

Automatiserar att logga in på Mathem.se, söka och lägga till varor från en lista eller recept, hantera ersättningar enligt policy och reservera leveranstid, men lämnar varukorgen redo för manuell checkout.