Repository navigation
fix: 5 bug fixes — dotted repos, icon spacing, board owner, charter, playbooks - #1133
Merged
Merged
Conversation
…harter passing, missing playbooks - #1077: Fix parseGitHubRemote/parseAzureDevOpsRemote regex to allow dots in repo names - #1099: Always show emoji+space for agent names (use fallback when not in roleMap) - #1079: Add --board-owner flag and use config owner instead of hardcoded @me - #1081: Load Ralph's charter before spawning watch --execute sessions - #1100: Create ceremony-reference.md, prd-intake.md, copilot-agent.md playbooks Closes #1077 Closes #1099 Closes #1079 Closes #1081 Closes #1100 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
Pull request overview
This PR batches five fixes across the SDK’s remote parsing, the CLI shell’s agent labeling, watch capability behavior/config, and the shipped template/playbook set used by init/upgrade.
Changes:
- Fix GitHub + Azure DevOps remote parsing to allow dotted repo names; add regression tests.
- Ensure agent emoji + spacing renders consistently (even when an agent isn’t in the role map).
- Extend
watch --boardto support non-@meowners via config +--board-owner, and prepend Ralph’s charter towatch --executespawned prompts; add new on-demand templates/playbooks.
Reviewed changes
Copilot reviewed 19 out of 19 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
packages/squad-sdk/src/platform/detect.ts |
Loosens repo capture regex to allow dots in repo names for GitHub + ADO remotes. |
test/platform-adapter.test.ts |
Adds dotted-repo test cases for both GitHub and Azure DevOps parsing. |
packages/squad-cli/src/cli/shell/components/App.tsx |
Uses getRoleEmoji() fallback to always render an emoji when agentName exists. |
packages/squad-cli/src/cli/shell/components/MessageStream.tsx |
Same emoji fallback as App.tsx, including streaming display. |
packages/squad-cli/src/cli/commands/watch/capabilities/board.ts |
Reads owner from capability config (default @me) for gh project item-list. |
packages/squad-cli/src/cli-entry.ts |
Adds --board-owner parsing and treats it as a value-flag for positional-arg filtering. |
packages/squad-cli/src/cli/commands/watch/capabilities/execute.ts |
Loads Ralph’s charter and prepends it to the spawned session prompt (best-effort). |
.squad-templates/prd-intake.md |
Adds PRD intake playbook to canonical templates. |
.squad-templates/copilot-agent.md |
Adds Copilot coding agent playbook to canonical templates. |
.squad-templates/ceremony-reference.md |
Adds ceremony reference playbook to canonical templates. |
templates/prd-intake.md |
Mirrors new PRD intake template for init/upgrade shipping. |
templates/copilot-agent.md |
Mirrors new Copilot agent template for init/upgrade shipping. |
templates/ceremony-reference.md |
Mirrors new ceremony reference template for init/upgrade shipping. |
packages/squad-cli/templates/prd-intake.md |
Mirrors new PRD intake template into CLI package templates. |
packages/squad-cli/templates/copilot-agent.md |
Mirrors new Copilot agent template into CLI package templates. |
packages/squad-cli/templates/ceremony-reference.md |
Mirrors new ceremony reference template into CLI package templates. |
packages/squad-sdk/templates/prd-intake.md |
Mirrors new PRD intake template into SDK package templates. |
packages/squad-sdk/templates/copilot-agent.md |
Mirrors new Copilot agent template into SDK package templates. |
packages/squad-sdk/templates/ceremony-reference.md |
Mirrors new ceremony reference template into SDK package templates. |
Comment on lines
+549
to
+556
| // --board-owner sets the project owner (org or user login) | ||
| const boardOwnerIdx = args.indexOf('--board-owner'); | ||
| if (boardOwnerIdx !== -1 && args[boardOwnerIdx + 1]) { | ||
| const existing = capabilities['board']; | ||
| capabilities['board'] = typeof existing === 'object' && existing !== null | ||
| ? { ...existing, owner: args[boardOwnerIdx + 1]! } | ||
| : { owner: args[boardOwnerIdx + 1]! }; | ||
| } |
Comment on lines
+154
to
+161
| // Load Ralph's charter to give the spawned session full specialist context. | ||
| let charterPrefix = ''; | ||
| try { | ||
| const charter = await loadAgentCharter('ralph', context.teamRoot); | ||
| charterPrefix = `You are an AI agent on a software development team.\n\nYOUR CHARTER:\n${charter}\n\nADDITIONAL CONTEXT:\n`; | ||
| } catch { | ||
| // Fall back gracefully if no charter exists (e.g., fresh setup) | ||
| } |
Comment on lines
+1
to
+5
| # Copilot Coding Agent Member | ||
|
|
||
| On-demand reference for adding the GitHub Copilot coding agent (@copilot) to the Squad roster. | ||
|
|
||
| ## Adding @copilot |
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
tamirdresher
approved these changes
May 19, 2026
3 of 4 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Batch fix for 5 open bugs:
#1077 — parseGitHubRemote / parseAzureDevOpsRemote fail on repo names containing dots
[^/.]which excluded dots from repo name captures.[^/]for repo name groups. Added 7 new test cases covering dotted names.#1099 — Icons sometimes smashed too close to agent name
getRoleEmoji()with the agent name as fallback, ensuring emoji+space is always present.#1079 — squad watch --board fails for org-owned ProjectV2
--owner @mehardcoded inBoardCapability.execute().ownerfield to board config (defaults to@me), plus--board-owner <org>CLI flag.#1081 — squad watch --execute doesn't pass specialist charter
executeAll()only built a generic prompt without loading Ralph's charter.loadAgentCharterand prepend Ralph's charter to the spawned session prompt (graceful fallback if none exists).#1100 — Ship missing on-demand playbooks referenced by squad.agent.md
ceremony-reference.md,prd-intake.md,copilot-agent.mdTest Results
Closes #1077
Closes #1099
Closes #1079
Closes #1081
Closes #1100