← ClaudeAtlas

update-gaialisted

Pull the latest GAIA release into this project without clobbering customizations. Three-way merge per file using .gaia/manifest.json classes. Trigger when the user clicks the statusline `Run /update-gaia` indicator or asks "update GAIA", "pull the latest GAIA", "apply the new GAIA release".
gaia-react/gaia · ★ 20 · AI & Automation · score 74
Install: claude install-skill gaia-react/gaia
Pull the latest GAIA release into this project without clobbering customizations. Does a three-way comparison per file (adopter / baseline / latest) and respects explicit classes in `.gaia/manifest.json`: - **`owned`**: GAIA controls fully. - **`shared`**: GAIA seeds, you customize. - **`wiki-owned`**: GAIA-seeded concept/decision/module wiki pages. - **adopter-owned (implicit)**: anything not in the manifest, plus sentinels like `wiki/hot.md`, `wiki/log.md`, `CHANGELOG.md`, `.gaia/VERSION`, `.gaia/manifest.json`. Never touched. The first three take the same Step 7 rows. The class changes only two of them: which bucket a clean overwrite reports under (`owned` → `overwrite[]`, the other two → `merge[]`), and what happens when the release newly owns a path the adopter already has (`owned` backs up and overwrites, the other two fall through to the ordinary rows). Step 7 is authoritative. Backups land in `.gaia-backup/<timestamp>/`. Conflict patches land in `.gaia-merge/`. ## Pre-flight: Worktree check This wrapper changes `.gaia/VERSION` and opens a PR, both belong on the main checkout, not a per-SPEC worktree branch. If invoked from a linked worktree, reject hard with a message that surfaces the cached version state from main so the user knows whether a GAIA update is even pending. Detection (run this first, before anything else): ```bash . .gaia/scripts/main-only-lib.sh gaia_update_gaia_state_line() { local cache_file="$1" [ -f "$cache_file" ] && command -v jq >/dev