Set up nightly GitHub backups with one sentence

Hermes Agent lets you schedule cron jobs in plain English. Task: Hermes Agent lets you schedule cron jobs in plain English. Type 'every night at 12am, push changes to GitHub' and it creates the skill and cron automatically. Type One Sentence. Get a Cron Job. Hermes Agent has 140,000 GitHub stars and an MIT license, but the feature that keeps surprising people isn’t the self-improving skill system or the voice notes — it’s this: you type “every night at 12am central time, push changes to this GitHub repo” and Hermes creates both the skill and the cron job automatically. No crontab syntax. No scheduler configuration. No YAML. One sentence. That’s the specific thing worth understanding here. Not the general idea that AI agents can do scheduling, but the concrete mechanics of how Hermes handles it — and why the GitHub backup case is the right first cron to set up. The Concrete Setup That Produces a Working Cron Here’s what actually happens when you send that message to Hermes through Telegram. Hermes receives the natural language request. It searches its available skills — there are 91 built-in on a fresh install, and Hermes already ships with GitHub repo management and GitHub auth skills. It runs some terminal commands to check the environment. It invokes cron job create tooling. Then it runs cron job list to verify the job registered. Finally, it updates memory.md with a note about the new automation. The output you get back isn’t just a confirmation. Hermes explains what it did: it noticed the Docker container runs in UTC, so rather than hardcoding a UTC offset that would break during daylight saving transitions, it set the cron to run hourly and self-check against central time. That’s the kind of decision a competent engineer would make. Hermes made it without being asked. The resulting skill is called nightly-github-sync. It lives as a skill.md file with YAML front matter that tells Hermes when to invoke it. The cron session that fires at midnight is isolated — it doesn’t inherit any context from your current conversation. It runs the skill, pushes the changes, and sends the result back to your Telegram chat. Before any of this works, you need to give Hermes your GitHub token. The right way to do this is not to paste it into the chat. Instead, SSH into your VPS terminal and run: This writes the token to /opt/data.env inside the Docker container without it ever appearing in conversation history. If you’re using OpenAI Codex OAuth — which lets you power Hermes through your existing $20/month ChatGPT subscription instead of separate API billing — that conversation history is going through OpenAI servers. Rotating a leaked token is easy; not leaking it is easier. When you generate the GitHub token itself, use a fine-grained personal access token scoped to the specific repo with contents read/write. A classic token with full repo scope works too, but the fine-grained approach limits blast radius if something goes wrong. Why the Backup Cron Is the Right First Automation The GitHub sync cron isn’t just a convenient demo. It’s structurally important. Hermes stores everything that matters — user.md, memory.md, soul.md, all your skills — as markdown files inside a Docker container on a VPS. If that container gets corrupted, or you accidentally nuke it while debugging something, you lose all of it. The nightly GitHub push is your insurance policy. A new Hermes instance can sync from that repo and pick up where the old one left off. This is also why the Docker container approach (via Hostinger’s one-click install) makes more sense than running Hermes at the VPS root level. Each container gets its own .env file, its own API keys, its own memory. When you eventually spin up a second Hermes — a finance agent, a marketing agent, whatever — they won’t share credentials. The GitHub backup cron for each agent pushes to its own private repo. Clean separation. The KVM 2 plan on Hostinger is the recommended starting point. It gives you enough CPU and RAM to run multiple containers without immediately hitting resource limits, and you can scale up later if needed. The one-click Docker install for Hermes is available directly in the Hostinger dashboard under the Docker manager — search for Hermes, set your admin username and password, deploy. For anyone building more complex agent infrastructure, running multi-agent systems with heartbeat scheduling follows similar patterns — isolated agents, scheduled tasks, and a clear separation of concerns between what each agent owns.; tools: Hermes Agent. Human role: The original post does not say how a person stayed involved.; limitations: Requires a VPS with Docker and Hermes Agent installed. GitHub tokens must be scoped correctly to limit security risks. Cron sessions cannot recursively create new jobs. The system relies on OpenAI Codex OAuth or API keys, introducing potential cost and privacy considerations regarding conversation history..

Tools

Hermes Agent

Published on Agent Work Atlas:

Overview

Hermes Agent lets you schedule cron jobs in plain English.

Workflow

Hermes Agent lets you schedule cron jobs in plain English. Type 'every night at 12am, push changes to GitHub' and it creates the skill and cron automatically. Type One Sentence. Get a Cron Job. Hermes Agent has 140,000 GitHub stars and an MIT license, but the feature that keeps surprising people isn’t the self-improving skill system or the voice notes — it’s this: you type “every night at 12am central time, push changes to this GitHub repo” and Hermes creates both the skill and the cron job automatically. No crontab syntax. No scheduler configuration. No YAML. One sentence. That’s the specific thing worth understanding here. Not the general idea that AI agents can do scheduling, but the concrete mechanics of how Hermes handles it — and why the GitHub backup case is the right first cron to set up. The Concrete Setup That Produces a Working Cron Here’s what actually happens when you send that message to Hermes through Telegram. Hermes receives the natural language request. It searches its available skills — there are 91 built-in on a fresh install, and Hermes already ships with GitHub repo management and GitHub auth skills. It runs some terminal commands to check the environment. It invokes cron job create tooling. Then it runs cron job list to verify the job registered. Finally, it updates memory.md with a note about the new automation. The output you get back isn’t just a confirmation. Hermes explains what it did: it noticed the Docker container runs in UTC, so rather than hardcoding a UTC offset that would break during daylight saving transitions, it set the cron to run hourly and self-check against central time. That’s the kind of decision a competent engineer would make. Hermes made it without being asked. The resulting skill is called nightly-github-sync. It lives as a skill.md file with YAML front matter that tells Hermes when to invoke it. The cron session that fires at midnight is isolated — it doesn’t inherit any context from your current conversation. It runs the skill, pushes the changes, and sends the result back to your Telegram chat. Before any of this works, you need to give Hermes your GitHub token. The right way to do this is not to paste it into the chat. Instead, SSH into your VPS terminal and run: This writes the token to /opt/data.env inside the Docker container without it ever appearing in conversation history. If you’re using OpenAI Codex OAuth — which lets you power Hermes through your existing $20/month ChatGPT subscription instead of separate API billing — that conversation history is going through OpenAI servers. Rotating a leaked token is easy; not leaking it is easier. When you generate the GitHub token itself, use a fine-grained personal access token scoped to the specific repo with contents read/write. A classic token with full repo scope works too, but the fine-grained approach limits blast radius if something goes wrong. Why the Backup Cron Is the Right First Automation The GitHub sync cron isn’t just a convenient demo. It’s structurally important. Hermes stores everything that matters — user.md, memory.md, soul.md, all your skills — as markdown files inside a Docker container on a VPS. If that container gets corrupted, or you accidentally nuke it while debugging something, you lose all of it. The nightly GitHub push is your insurance policy. A new Hermes instance can sync from that repo and pick up where the old one left off. This is also why the Docker container approach (via Hostinger’s one-click install) makes more sense than running Hermes at the VPS root level. Each container gets its own .env file, its own API keys, its own memory. When you eventually spin up a second Hermes — a finance agent, a marketing agent, whatever — they won’t share credentials. The GitHub backup cron for each agent pushes to its own private repo. Clean separation. The KVM 2 plan on Hostinger is the recommended starting point. It gives you enough CPU and RAM to run multiple containers without immediately hitting resource limits, and you can scale up later if needed. The one-click Docker install for Hermes is available directly in the Hostinger dashboard under the Docker manager — search for Hermes, set your admin username and password, deploy. For anyone building more complex agent infrastructure, running multi-agent systems with heartbeat scheduling follows similar patterns — isolated agents, scheduled tasks, and a clear separation of concerns between what each agent owns.

Reported result

The source describes the mechanism but does not report specific measured outcomes or success rates for this workflow. It states that Hermes updates memory.md and surfaces failures in the next conversation. No quantitative data on reliability or time saved is provided.

Human role

The original post does not say how a person stayed involved.

Limitations

Requires a VPS with Docker and Hermes Agent installed. GitHub tokens must be scoped correctly to limit security risks. Cron sessions cannot recursively create new jobs. The system relies on OpenAI Codex OAuth or API keys, introducing potential cost and privacy considerations regarding conversation history.

Try it

I want to set up a nightly GitHub backup using Hermes Agent. First, SSH into my VPS and run `hermes config set GITHUB_TOKEN [replaceable_token]` to securely store the token. Then, send this message to Hermes via Telegram: 'every night at 12am central time, push changes to [replaceable_repo_url]'. Ask Hermes to explain the cron schedule it created and verify it handles timezone differences. Do not proceed if the token is visible in chat logs. Confirm the skill file `nightly-github-sync` is created and check `memory.md` for the automation note. If the setup fails, report the error without retrying automatically.

Original source

Source reports are not independently verified. Publication date is the catalog publication date, not the original article date.

More cases · Software & development