skill git-autosync
Your workspace
backs itself up.
If you work in Claude Code all day, your folder changes all day: notes, client documents, scripts, the skills you keep tuning. GitHub is the obvious place to keep a copy. Remembering to send it there is the part that never happens.
This skill does the remembering. While you work, it saves everything that changed and sends it to GitHub on its own. Before every upload it checks for API keys and secret files, and if it finds one, it uploads nothing and tells you.
Get it on GitHub Read the limits firstWhy it exists
My workspaces live in a synced cloud folder, which feels like a backup until the sync deletes something. Git keeps every version, and GitHub keeps a copy off the laptop. But a commit is a chore, and a chore you have to remember is a chore you skip, so my GitHub copy was always days behind the real one.
Claude Code can run a command at fixed moments: when a session opens, when a reply ends, before it compacts, when you close it. That is enough to make the copy happen without anyone thinking about it. I built it for one workspace first, liked it, and turned it into a skill so every other workspace could have it.
What it does
Catches up when you open a session
It checks GitHub first. If another computer sent something newer, it brings that in before you start. Then it saves anything left over from last time and uploads it.
Saves while you work
When Claude finishes a reply, it saves and uploads, at most once every ten minutes so your history is not a commit per sentence. Before Claude compacts the conversation, and when you close the session, it saves right away. The upload runs in the background, so Claude never waits for it.
Refuses to upload your keys
Every save goes through a scan for the shapes of common API keys (Anthropic, OpenAI, GitHub, Google, Shopify, Meta, Supabase and others) and for files like .env. One hit and nothing gets saved. Claude tells you which file, so you can move the key somewhere private.
Tells you when something broke
Every save and upload goes in a small log. If an upload failed, the next session tells you in one line. One command shows how far ahead or behind GitHub you are and what the last few saves did.
What it cannot do
It uploads everything you have not told git to ignore. That is the whole design, and it means a careless ignore list sends large videos or private client files to GitHub. Read yours before you install it, and keep the repository private if the folder holds anything personal.
The key scan knows patterns, not intent. It catches the common key formats. A password written in a sentence, or a key from a service it does not know, gets through.
It does not solve conflicts. If the same file changed on GitHub and on your laptop in ways that do not fit together, it stops and leaves it to you.
It only works on your main line of work. Side branches and parallel copies are left alone on purpose. And if two Claude sessions share the folder, one save can carry the other's half-finished files. For a backup that is fine. For a tidy history it is not, so keep writing your own commits when a piece of work deserves a real message.
It was built on a Mac. On Linux one line needs changing, and the README says which.
Installing it
You need a folder that is already a git repository with a GitHub remote. Copy the skill into it:
git clone https://github.com/aguevara92/git-autosync .claude/skills/git-autosync rm -rf .claude/skills/git-autosync/.git
Then tell Claude Code "install git-autosync". It reads your ignore list with you, runs the key scan over everything that would be uploaded, and only then wires itself in. It starts working from your next session.
Read the repoMost of what I build ends up looking like this
A small, specific thing that removes one real problem, set up so nobody has to remember to do it. If that is the kind of help you want inside your own business, that is what I do.
or just take the code, it is yours
Talk to me