backuplisted
Install: claude install-skill mishahanin/heading-os
Backup the entire workspace to GitHub.
## CEO two-part topology (engine + data): use `push-all.py`
The CEO workspace is split into two repos, each with its own private
`origin/main`. The ENGINE clone (`.heading-os`) holds code only. The DATA
overlay (`.heading-os-data`) holds all data and every artifact. One command
commits and pushes BOTH. It runs a pre-push secret scan and an ahead/behind
`[0 0]` verification, because a bare push can silently leave a ref behind:
```
python scripts/push-all.py # commit working-tree changes + push both
python scripts/push-all.py -m "msg" # custom commit message
python scripts/push-all.py --no-commit # push existing commits only
python scripts/push-all.py --dry-run # show what would happen, change nothing
```
It reads `GH_TOKEN` from the engine `.env`, refuses to push any tracked
secret-like file (`.env`, `.session`, `cookies.json`, `.sessions/`), and never
pushes `.memory-index/` (gitignored, rebuildable). The DATA overlay is pushed
FIRST. The engine's pre-push hook runs the full suite inside the push, and data
is the only half that cannot be reconstructed. Prefer this over the manual
git steps below whenever the data overlay exists (`get_data_root()` differs
from the engine root). The manual steps remain the path for exec workspaces and
the pre-cutover single-repo case.
**Exit `3` means at least one repository was skipped. Read the HEADLINE, not the
code, because it has two shapes and they mean opposite things to the op