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
Add squad registry add/list/remove for discovery-only peer squads (no inheritance) #1290
squad upstream add <path> exists, but there's no companion command to register a peer squad for discovery-only (no inheritance). Users who want to discover + delegate to another squad without inheriting its skills/decisions/wisdom must hand-edit .squad/squad-registry.json. The error message from squad discover itself even tells users to "create a squad-registry.json" by hand:
"No squads discovered. Add upstreams with 'squad upstream add' or create a squad-registry.json."
This is a UX asymmetry — upstream has a real subcommand, registry does not.
Proposal
Add squad registry subcommands matching the shape of squad upstream:
squad registry add <name><path># add entry; refuses on duplicate name
squad registry list # show all registered peers (also: --json)
squad registry remove <name># remove entry
The <path> is the repository root (not .squad/). Squad locates the manifest via the existing readManifest(repoPath) which joins .squad/manifest.json internally (cross-squad.ts:121-132). Validates the path resolves to a readable manifest before writing the entry.
Secondary fix in same PR — clarify path semantics
The docs and the cross-squad SKILL.md both show ../friend/.squad as the path. But readManifest() then appends .squad/manifest.json again, looking up ../friend/.squad/.squad/manifest.json which doesn't exist — discover silently returns nothing. Empirically reproduced just now.
Two fixes:
Make readManifest accept BOTH forms: if path ends in .squad, strip it before joining; if not, append as today.
Update the SKILL.md and any docs that show the wrong form.
Why not just use upstream?
Upstream is for INHERITANCE — it loads the other squad's skills/decisions/wisdom/routing into the coordinator at session start. For cross-org or cross-team peer relationships where you DON'T want to inherit, registry is the right tool. The mechanisms are intentionally separate (cross-squad.ts:235-250 dedupes by name with upstream priority).
Acceptance
squad registry add/list/remove shipped
Path semantics accept both repo-root and repo-root/.squad
cross-squad SKILL.md updated to show correct path form
squad discover "no squads discovered" hint updated to mention squad registry add
Tests covering the three new subcommands + dual-path semantics
Activity
Add squad registry add/list/remove for discovery-only peer squads (#1291
chore: promote v0.10.1 dev → main + v0.10 stabilisation blog post (#1313
chore: promote dev → main (v0.11.0) (#1422)