| name | update |
| description | Pull the latest Genesis updates from the remote repository. Use when the user says "update", "pull updates", "upgrade genesis", "check for updates", or "sync". |
| user-invocable | true |
Update Genesis
Check for and apply updates from the Genesis repository.
Steps
-
Verify location: Confirm you are operating in the Genesis directory (~/claude/genesis/). If not, inform the user and exit.
-
Check for local changes:
git -C ~/claude/genesis/ status --porcelain
If there are uncommitted changes, warn the user and ask whether to proceed (updates may conflict) or abort.
- Fetch updates:
git -C ~/claude/genesis/ fetch origin main
- Compare versions:
git -C ~/claude/genesis/ rev-list HEAD..origin/main --count
If the count is 0, report "Genesis is already up to date." and exit.
- Show what changed:
git -C ~/claude/genesis/ log HEAD..origin/main --oneline --no-decorate
Present the list of incoming changes to the user. Highlight notable updates (new agents, skills, templates, or stack support).
-
Confirm with the user: Ask whether to apply the updates. Use AskUserQuestion.
-
Apply updates:
git -C ~/claude/genesis/ pull origin main
- Report results: Summarise what was updated. If new skills or agents were added, mention them. If templates changed, note that future generated projects will use the updated templates.
What is Preserved
The following user-specific files are gitignored and will never be overwritten by updates:
personalisation.md -- your locale, output style, and profile preferences
environment.md -- your platform, shell, and path configuration
.claude/settings.local.json -- local Claude Code permission overrides
The .example versions of these files (shipped with Genesis) may be updated to reflect new configuration options. After updating, check if the examples have new fields you might want to add to your own files.
Notes
- This skill only updates Genesis itself, not projects previously generated by Genesis.
- Previously generated projects are independent and unaffected by Genesis updates.
- If the pull fails due to conflicts, explain the situation and suggest
git stash or manual resolution.