hermes-data-sync

Back up, restore, and synchronize Hermes Agent data to GitHub or local archives.

Updated Sep 9, 2026
One-click install
npx skills add https://github.com/luckybbjason1/trading --skill hermes-data-sync-luckybbjason1
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: hermes-data-sync
Source: https://github.com/luckybbjason1/trading/tree/main/.hermes/skills/hermes-data-sync
Command: npx skills add https://github.com/luckybbjason1/trading --skill hermes-data-sync-luckybbjason1

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Hermes Agent stores critical data (config, API keys, memories, session history, skills) locally in ~/.hermes, which is at risk of loss and cannot be shared across devices. This Skill provides a repeatable workflow to back up, restore, and synchronize that data to remote storage. ## Core Features & Use Cases - GitHub Two-Way Sync: Initialize a private Git repository in ~/.hermes, push backups, and pull changes to keep multiple devices in sync. - Local Archive Backup: Create timestamped tar.gz archives with proper exclusions for caches and SQLite WAL files. - Memory Import: Distill external memory exports (e.g., CLAUDE backups) into concise Hermes memory entries within the 2200-character limit. - Use Case: You run Hermes on both a Linux server and an Android phone via Termux. Use this Skill to push your config, .env, and state.db to a private GitHub repo from one device and pull it on the other, keeping sessions and memories consistent. ## Quick Start Ask the agent to back up your Hermes data to a private GitHub repository using your GitHub token.

Frequently Asked Questions about hermes-data-sync

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I back up Hermes Agent data to GitHub?

Initialize a git repository in ~/.hermes, add a .gitignore excluding caches and *.db-wal/*.db-shm files, then push to a private GitHub repo using a fine-grained PAT with Contents read/write permission embedded in the remote URL.

How do I sync Hermes data between two devices?

Always run git pull origin main before pushing to avoid non-fast-forward rejections. Commit with git add -A and push after pulling, using --rebase if conflicts appear between devices.

Why does git push return 401 Unauthorized with a GitHub token?

A 401 error means the GITHUB_TOKEN in ~/.hermes/.env is a placeholder or invalid. Generate a fine-grained PAT with Contents read/write access scoped to your backup repository and use it directly in the remote URL.

Should state.db-wal and state.db-shm be committed to git?

No. These are SQLite Write-Ahead Logging files that change on every write and cause constant diffs and conflicts. Exclude them in .gitignore with *.db-wal and *.db-shm patterns.

What is the Hermes memory character limit when importing memories?

Hermes memory has a hard 2200-character limit across all entries. When importing external memory exports, distill each fact to under 200 characters, check the usage field after each memory call, and prioritize operational facts.

Does Hermes backup work on Android with Termux?

Yes, but Termux git handles symlinks differently, so use git add -A instead of -u to track all files. Large state.db files can slow pushes, so prune old sessions before backing up.