You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
squad upgrade overwrites squad.agent.md — no mechanism to preserve local customizations #1052
Running \squad upgrade\ overwrites .github/agents/squad.agent.md\ with the upstream version, destroying any local customizations teams have made. There's no merge strategy, diff, or hook to preserve team-specific changes.
Example
Our team removed the Reviewer Rejection Lockout Semantics section because we prefer a simpler model where original authors self-revise on rejection (no skip lists, no lockouts). Every time we upgrade, we have to manually re-apply this change.
Current workaround
We wrote a post-upgrade fixer script (\Fix-SquadUpgrade.ps1) that detects upstream patterns and re-applies our customizations. It works, but it's brittle — if the upstream text changes, the regex breaks.
Suggestion
Consider one or more of:
*\squad upgrade --merge* — three-way merge that preserves local changes (like \git merge)
.squad/overrides/\ directory — local overrides that get applied on top of upstream files automatically
Post-upgrade hook — a .squad/hooks/post-upgrade.ps1\ that runs automatically after upgrade
Diff preview — \squad upgrade --dry-run\ showing what would change before overwriting
Any of these would make upgrades safe for teams with customizations.
Activity
fix: CLI and upgrade bug fixes (github#1050, github#1048, github#1047, …