Update Aegis
Update the installed Aegis Method Pack for the current AI coding host.
This skill is host maintenance. Do not edit the target project just because the user asked to update Aegis.
Default Semantics
aegis:updateupdates the current host's registered Aegis installation.- Updating every registered host requires an explicit
--allrequest. - If more than one host is registered and the current host cannot be identified, ask one concrete question before updating.
- Do not update a development checkout when the installed method-pack root is a separate path.
- Do not perform background automatic updates. The local registry may record
updateMode, but this skill only performs explicit user-triggered updates.
Evidence First
From the installed method-pack root, inspect the host-scoped registry:
python scripts/aegis-update.py status --json
If the registry is missing, register the current host before updating. Use the host's install guide and actual discovery path rather than guessing.
Codex example:
python scripts/aegis-update.py register \
--host codex \
--sync-mode junction \
--discovery-root ~/.agents/skills/aegis \
--reload-hint "restart Codex"
Copy-based host example:
python scripts/aegis-update.py register \
--host codebuddy \
--sync-mode copy-skills \
--discovery-root ~/.codebuddy/skills \
--reload-hint "restart CodeBuddy"
Plugin-managed hosts can be registered, but the updater reports that the host plugin manager owns the update path:
python scripts/aegis-update.py register \
--host opencode \
--sync-mode plugin-managed \
--reload-hint "restart OpenCode"
Update Commands
Current or explicitly selected host:
python scripts/aegis-update.py update --host <host> --json
All registered hosts, only when the user explicitly asks for all-host update:
python scripts/aegis-update.py update --all --json
Preview without touching files:
python scripts/aegis-update.py update --host <host> --dry-run --json
If the installed checkout has local changes, do not overwrite them. Either ask the user how to proceed or, with explicit permission, preserve them with:
python scripts/aegis-update.py update --host <host> --stash --json
Completion Evidence
Treat the update as complete only when the updater reports the selected host and
the post-update doctor verification succeeds. For link-based discovery roots
(junction, symlink, or repo-only), the updater passes discoveryRoot
through to aegis-doctor.py --discovery-root. For copy-based hosts, it verifies
that copied Aegis skill directories exist after the copy step, then runs doctor
against the method-pack root.
Report:
- selected host / installation id
- previous and final commit when available
- whether the install was updated or already current
- sync mode used
- doctor verification result
- restart or reload hint
If the updater skips a plugin-managed host, state that the host plugin manager
owns the update path and give the reload or reinstall hint.