Here's a pro tip regarding Claude Code usage if you're a dev - save your Claude skills and more to git.
This gives you a mechanism to:
- keep all your setups in sync (personal, work, etc)
- iteratively develop your setup (skills)
- blame and revert bad changes
- and more++
~/.claude tree
claude saves everything to disk in a neat little unobscured .claude folder in your home dir:
~/.claude
|
| # COMMIT and forget!
├── CLAUDE.md
├── skills/
├── commands/
├── agents/
├── hooks/
|
|
| # COMMIT if machines are similar (same/similar OS)
├── settings.json
├── statusline-command.sh
|
|
| # COMMIT if dirs across machines
| # are similar/distinct to avoid conflicts
├── projects/
|
|
| # OPTIONALLY COMMIT for record-keeping
├── plans/
├── todos/
|
|
| # DON'T COMMIT
├── plugins/ # may have cache or binaries
├── cache/
├── debug/
├── file-history/
├── telemetry/
└── history.jsonl
setup
for a simple chill setup:
-
git init ~/.claude -
add the following
.gitignore~/.claude/.gitignore # always ignore cache/ debug/ file-history/ ide/ session-env/ sessions/ shell-snapshots/ telemetry/ usage-data/ backups/ downloads/ history.jsonl plugins/ agents/**/*.jsonl projects/**/*.jsonl projects/**/*.json projects/**/*.txt # rm below if machines are similar (os, term setup) settings.json statusline-command.sh # rm below if folder structure across machines is compatible projects/ # rm below for record-keeping plans/ todos/ -
push to a private repo
-
push and pull from various comps to keep things in sync.
(you can also get fancier and use dotfiles or GNU Stow)
fin
I abuse Claude like no other, and with this setup I gain the ability to:
- track/iterate/blame/rollback
- CLAUDE.md
- skills
- hooks
- agents
- settings
- share skills with others
- see what I did in a day by looking at plans
- use it on multiple computers to ensure my corpus of personal skills grows with me and stays with me
- try skills in other harnesses - like Codex - with a simple symlink, since skills are now an open standard
AI is an amazing tool that has augmented the way I code. It seems fitting I treat it like a proper tool in my toolkit.
Omar Ali Khan