Repository navigation
Conversation
There was a problem hiding this comment.
Pull request overview
This PR ensures the roster displayed in .github/agents/squad.agent.md stays in sync with .squad/team.md whenever the team is (re)cast, preventing “invisible” agents and stale routing info.
Changes:
- Add roster generation + marker-based injection/replacement utilities to the SDK doc-sync module.
- Update the CLI
createTeam()flow to sync the roster into.github/agents/squad.agent.mdafter updatingteam.md. - Add roster markers to the agent doc template and expand test coverage around roster syncing behavior.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
packages/squad-sdk/src/config/doc-sync.ts |
Adds buildRosterBlock() and syncRosterToAgentDoc() for generating and syncing a roster block in agent docs. |
packages/squad-cli/src/cli/core/cast.ts |
Calls roster sync after createTeam() updates team/config, writing into .github/agents/squad.agent.md when present. |
.squad-templates/squad.agent.md |
Introduces SQUAD:ROSTER comment markers in the template as a stable replacement target. |
test/agent-doc.test.ts |
Adds tests covering roster block generation, marker replacement, and fallback insertion/idempotency/guards. |
0236885 to
5df103e
Compare
🚀 Full Squad Review — fix(sdk): sync squad.agent.md rosterDomain: sdk/roster-sync
All 21 squad members reviewed and approved. |
🚀 Squad Team Review — PR #724Auto-syncs roster in squad.agent.md via marker-based insertion. 4 files, +311/-0, 13 new tests. |
|
📋 PR Lifecycle: Team review complete. Labeled \squad:pr-reviewed. Waiting for Dina's review. Add \squad:pr-dina-approved\ when ready to proceed. |
|
🤖 Upstream Maintenance Check
|
0d3ef3d to
47c4e9c
Compare
🤖 Ralph Maintenance RoundActions taken:
Status: Waiting for CI to re-run. Previous failures: changelog-gate (missing changeset/CHANGELOG) + test (build error in cast.ts from missing imports). |
92aa3a7 to
e9fb32b
Compare
15cc6f8 to
aaad4ae
Compare
|
👋 @bradygaster — This PR is ready for your review and merge when you're ready. Single squashed commit, changelog entry included, CI should be green. |
9321e6e to
caf3e2e
Compare
caf3e2e to
1fabf0b
Compare
Addresses review feedback on #724 — 2026-03-28-skills-not-used.png was accidentally committed to the repo root and is unrelated to the fix. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Archive: 71 decisions (>30d), 10 (7-30d) - Merge: 13 inbox decisions into canonical log - Summarize: Flight, EECOM, FIDO histories (kept recent entries) - Log: Bug-fix-pipeline session recorded - Deduplicate: 73 unique decisions - decisions.md: 385.8 KB -> 103.7 KB Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
99e7786 to
158f6d9
Compare
Reset .squad/ files to match origin/dev — these changes were not part of the PR content. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Summary
When agents are added to team.md via
squad cast, the roster in.github/agents/squad.agent.mdwas never updated, causing invisible agents and stale routing.Changes
doc-sync.ts(SDK): AddedbuildRosterBlock()andsyncRosterToAgentDoc()functions that generate and inject a roster markdown table betweenSQUAD:ROSTERcomment markerscast.ts(CLI): AftercreateTeam()updates team.md, it now also syncs the roster into squad.agent.mdsquad.agent.md(template): Added roster comment markers so the sync has a clean insertion/replacement pointagent-doc.test.ts: Added 13 tests covering roster block generation, marker replacement, backward-compatible insertion, idempotent re-syncing, content preservation, and marker corruption guardsHow it works
createTeam()finishes creating/updating team.md, it checks if.github/agents/squad.agent.mdexistssyncRosterToAgentDoc()with the current member listSQUAD:ROSTERmarkers (or inserts before the first---for backward compatibility)Validation
Closes bradygaster/squad#83
Upstream PR from diberry/squad PR #118