name: sysadmin-system-update description: Manual system update workflow for Arch Linux version: "1.0.0" trigger: manual: true command: /update agent: linux-sysadmin model: sonnet # Use sonnet for update decisions parameters: - name: scope type: choice options: [full, pacman, aur, brew] default: full description: Which package managers to update - name: dry_run type: boolean default: false description: Show updates without installing steps: - name: pre-flight description: Pre-update checks commands: - df -h / # Check disk space - pacman -Qi linux | grep Version # Current kernel version fail_on_error: true - name: check-updates description: List available updates commands: - checkupdates - yay -Qua - brew outdated condition: "{{ not dry_run }}" - name: confirm-updates description: Get user confirmation action: confirm message: "Proceed with {{ scope }} update?" skip_if: "{{ autonomy == 'trusted' }}" - name: update-pacman description: Update pacman packages commands: - pacman -Syu --noconfirm condition: "{{ scope in ['full', 'pacman'] }}" requires_confirmation: true - name: update-aur description: Update AUR packages commands: - yay -Sua --noconfirm condition: "{{ scope in ['full', 'aur'] }}" requires_confirmation: true - name: update-brew description: Update Homebrew packages commands: - brew upgrade condition: "{{ scope in ['full', 'brew'] }}" requires_confirmation: true - name: post-update description: Post-update checks commands: - find /etc -name "*.pacnew" 2>/dev/null - pacman -Qi linux | grep Version # Check if kernel updated action: summarize - name: reboot-check description: Check if reboot needed action: notify message: "Kernel updated. Reboot recommended." condition: "{{ kernel_updated }}" output: log: ~/.claude/logs/updates/$(date +%Y-%m-%d_%H%M).log autonomy: conservative # Always confirm update operations