Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Automatic conversation backup system for Obsidian with incremental snapshots, hourly breakdowns, and formatted chat-style markdown. Use when setting up conversation archival, preventing data loss from /new resets, or organizing chat history in Obsidian vault with proper formatting (colored callouts, timestamps, multi-paragraph support).
.claude/skills/sundial-org-obsidian-conversation-backup/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-10 | ✗→✓ | ▲ Improved | 35% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 34% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 19% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 74% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 588% | 0% |
Automatically backs up Clawdbot conversations to Obsidian with beautiful chat-style formatting. Prevents data loss from /new resets with hourly incremental snapshots.
bash# Extract the skill (if downloaded as .skill file) unzip obsidian-conversation-backup.skill cd obsidian-conversation-backup # Run installer (interactive) chmod +x install.sh ./install.sh
The installer will ask for:
Or manual setup:
config.example to configconfig with your pathschmod +x scripts/*.shAdd to crontab for hourly backups:
bashcrontab -e # Add this line (runs every hour at :00) 0 * * * * /path/to/obsidian-conversation-backup/scripts/monitor_and_save.sh
Edit scripts/format_message_v2.jq to change:
[!quote] for user, [!check] for assistant)Once configured in cron, the system runs automatically:
Every hour:
YYYY-MM-DD-HHmm-incremental.mdExample output:
2026-01-20-1500-incremental.md (messages from last save to now)
2026-01-20-1600-incremental.md (new messages since 15:00)
2026-01-20-1700-incremental.md (new messages since 16:00)Protection: Max conversation loss = 1 hour
Save complete conversation anytime:
bashscripts/save_full_snapshot.sh [topic-name]
Examples:
bashscripts/save_full_snapshot.sh important-decisions scripts/save_full_snapshot.sh bug-fix-discussion scripts/save_full_snapshot.sh # uses "full-conversation" as default
Create organized breakdown by clock hour:
bashscripts/create_hourly_snapshots.sh YYYY-MM-DD
Example:
bashscripts/create_hourly_snapshots.sh 2026-01-20
Output:
2026-01-20-1500-hourly.md (15:00-15:59 messages)
2026-01-20-1600-hourly.md (16:00-16:59 messages)
2026-01-20-1700-hourly.md (17:00-17:59 messages)Use case: End-of-day organization for easy reference
Messages appear as colored Obsidian callouts:
User messages (blue [!quote] callout):
> [!quote] 🐉 User · 15:30
> This is my messageAssistant messages (green [!check] callout):
> [!check] 🦞 Zoidbot · 15:31
> This is the responseFeatures:
<br><br> for paragraph breaks)> )The monitor_and_save.sh script also tracks token usage:
Warnings via Telegram:
Implementation:
bash# Sends warning only when crossing threshold (one-time) # No repeated warnings # Resets when back under 800k
scripts/
├── monitor_and_save.sh # Hourly incremental backup + token monitoring
├── save_full_snapshot.sh # On-demand full conversation save
├── create_hourly_snapshots.sh # Organize by clock hour
└── format_message_v2.jq # Chat formatting logicThe system uses hidden files to track state:
bash/root/clawd/.last_save_line_count # For token monitoring /root/clawd/.last_snapshot_timestamp # For incremental saves /root/clawd/.token_warning_sent # For warning deduplication
Note: Do not delete these files or incremental backups may duplicate content
Default: /root/.clawdbot/agents/main/sessions/*.jsonl
If your session files are elsewhere, update the SESSION_FILE path in each script.
crontab -lchmod +x scripts/*.shformat_message_v2.jq has the gsub("\n\n"; "<br><br>") line> prefixjq --versionbash rm /root/clawd/.last_snapshot_timestamp
format_message_v2.jq to filter empty messagesif ($text_content | length) > 0 conditionapt-get install jq)Edit crontab:
bash# Every 2 hours 0 */2 * * * /path/to/monitor_and_save.sh # Every 30 minutes */30 * * * * /path/to/monitor_and_save.sh # Specific times only (9am, 12pm, 6pm, 9pm) 0 9,12,18,21 * * * /path/to/monitor_and_save.sh
Edit monitor_and_save.sh:
bash# Change from 10 to 5 messages minimum if [[ $new_lines -lt 5 ]]; then
Obsidian callout types:
[!quote] - Blue[!check] - Green[!note] - Cyan[!tip] - Purple[!warning] - Orange[!danger] - RedEdit monitor_and_save.sh to change warning text or add custom notifications.
.last_snapshot_timestamp in vault backupsDaily routine:
scripts/create_hourly_snapshots.sh 2026-01-20Before /new reset:
scripts/save_full_snapshot.sh before-reset/new safely - conversation is backed upThis skill works with:
Created by the Clawdbot community for reliable conversation backup and beautiful Obsidian formatting.
Other measured skills in the registry, with their headline benchmark lift.