cross-squad-communication
Skill1.5k starsChanged 5 months agoMITView on GitHub
Protocol for sending queries, delegating tasks, and sharing context between independent Squad instances across different repositories
6 other projects use a version of this, 5 of them edited.
Trending
Less talk lately.about the whole repository
Most recently taken up by
- github/squadword for word, first seen Nov 8, 2026
- microsoft/github-vteam-industry-demosedited, first seen Oct 25, 2026
- kubefleet-dev/kubefleetedited, first seen Oct 8, 2026
- microsoft/fsi-banking-payments-dispute-resolution-acceleratoredited, first seen Aug 14, 2026
- github/gh-awedited, first seen May 27, 2026
- Azure/fleetedited, first seen Feb 7, 2026
Who's talking about microsoft/waza
- @matsuu.bsky.social“Go実装なんだな。”Bluesky · May 10, 2026 · 4 likes
- postfinance/devcontainer-features“Create a feature that installs waza (https://github.com/microsoft/waza)”GitHub · Aug 14, 2026 · 1 reactions
- @awakecoding.com“The tessl command-line tool uses server-side evals for the agent skills, so you don't have to figure out …”Bluesky · May 15, 2026 · 1 likes
- Azure/azure-sdk-tools“[Discussion][Benchmark] Benchmark framework selection”GitHub · Mar 30, 2026 · 1 reactions
- neilli-sable/dotfiles“Update dependency github:microsoft/waza to v0.40.0”GitHub · Nov 8, 2026
The biggest 5 of 50 mentions linking to the repository that our crawl found. Each line is their own headline.
See all 50
Talked about on GitHub and Bluesky (50 times).
On GitHub · 48
- Aug 14, 2026Create a feature that installs waza (https://github.com/microsoft/waza) — postfinance/devcontainer-features1 reaction
- Mar 30, 2026[Discussion][Benchmark] Benchmark framework selection — Azure/azure-sdk-toolssays it tested it1 reaction · 5 comments
- Nov 8, 2026Update dependency github:microsoft/waza to v0.40.0 — neilli-sable/dotfiles0 reactions
- Nov 6, 2026自作 skill に評価(evals)と静的チェックを用意する — oddgai/dotfiles0 reactions
- Nov 2, 2026build(waza): bump pinned waza to 0.39.1 — akunzai/agent-skills0 reactions
43 more on GitHub
- Oct 13, 2026renovate(mise): Update dependency github:microsoft/waza to v0.38.9 — y-miyazaki/config0 reactions
- Oct 12, 2026build(waza): bump pinned waza to 0.38.10 — akunzai/agent-skills0 reactions
- Oct 9, 2026Update dependency github:microsoft/waza to v0.38.9 — neilli-sable/dotfiles0 reactions
- Oct 8, 2026[Candidate] microsoft/waza/examples/code-explainer - code-explainer — ProSkillsMD/proskills0 reactions · 1 comment
- Oct 8, 2026[Candidate] microsoft/waza/.copilot/skills/error-recovery - error-recovery — ProSkillsMD/proskills0 reactions · 1 comment
- Oct 8, 2026[Candidate] microsoft/waza/.copilot/skills/agent-collaboration - agent-collaboration — ProSkillsMD/proskills0 reactions · 1 comment
- Oct 8, 2026renovate(mise): Update dependency github:microsoft/waza to v0.38.8 — y-miyazaki/config0 reactions
- Oct 5, 2026chore(deps): bump waza to 0.38.9 — akunzai/agent-skills0 reactions · 1 comment
- Oct 4, 2026Clean up the Google Sheet so the graph gets real topics (Category values, duplicates, empty tabs) — Amitro123/knowledgeBase-Agent0 reactions · 3 comments
- Oct 3, 2026Update dependency github:microsoft/waza to v0.38.8 — neilli-sable/dotfiles0 reactions
- Oct 3, 2026chore: update dependency github:microsoft/waza to latest — daaa1k/skills0 reactions · 3 comments
- Sep 3, 2026renovate(mise): Update dependency github:microsoft/waza to v0.38.7 — y-miyazaki/config0 reactions
- Aug 23, 2026Update dependency github:microsoft/waza to v0.38.7 — neilli-sable/dotfiles0 reactions
- Aug 22, 2026renovate(mise): Update dependency github:microsoft/waza to v0.38.6 — y-miyazaki/config0 reactions
- Aug 19, 2026Update dependency github:microsoft/waza to v0.38.6 — neilli-sable/dotfiles0 reactions
- Aug 17, 2026spec: replace API paired evaluation with Waza (Copilot-native) — akunzai/agent-skills0 reactions
- Aug 14, 2026renovate(mise): Update dependency github:microsoft/waza to v0.38.5 — y-miyazaki/config0 reactions
- Aug 12, 2026Update dependency github:microsoft/waza to v0.38.5 — neilli-sable/dotfiles0 reactions
- Aug 3, 2026renovate(mise): Update dependency github:microsoft/waza to v0.38.4 — y-miyazaki/config0 reactions
- Jul 24, 2026renovate(mise): Update dependency github:microsoft/waza to v0.38.3 — y-miyazaki/config0 reactions
- Jul 15, 2026Review and improve Waza User Guide documentation — microsoft/vscode-chat-customizations-evaluation0 reactions · 1 comment
- Jul 15, 2026feat(battle-testing-a-skill): add 7 adversarial dimensions missing vs superpowers/waza/academic threat models — tvna/gitapexsays it tested it0 reactions
- Jul 13, 2026feat(evals): add waza eval suites for all skills lacking coverage — tvna/gitapex0 reactions
- Jul 13, 2026ci: add waza check as a non-blocking skill report — tvna/gitapex0 reactions
- Jul 8, 2026renovate(mise): Update dependency github:microsoft/waza to v0.38.0 — y-miyazaki/config0 reactions
- Jul 4, 2026skill周り整備 umbrella — happy663/dotfiles0 reactions
- Jun 25, 2026renovate(mise): Update dependency github:microsoft/waza to v0.37.0 — y-miyazaki/config0 reactions
- Jun 3, 2026ci(portable-pr-policy): cache prek, waza, and uv artifacts to speed up the all-files run — tvna/claude-md0 reactions · 1 comment
- Jun 3, 2026ci(portable-pr-policy): prek "against all files" step is slow (~110s cold) -- cache hook envs and waza — tvna/claude-md0 reactions
- Jun 1, 2026Waza user guide: Content feedback — microsoft/vscode-chat-customizations-evaluation0 reactions
- May 31, 2026waza example: — KazuCocoa/specialist-role-cards0 reactions
- May 23, 2026[FEATURE]: Improving the skills for kelp migration and development — BenSchr/kelp-core0 reactions
- May 10, 2026feat(evals): introduce microsoft/waza for skill quality evaluation — iwasa-kosui/kamae-ts0 reactions
- Apr 8, 2026feat(ci): waza-based skill quality checks (Phase 1) — PRD #812 — github/squad0 reactions · 6 comments
- Apr 6, 2026PRD: Skill Security Scanning — Markdown-Aware Scanner for Agent-Executable Instructions — github/squad0 reactions · 3 comments
- Apr 6, 2026feat: Adopt waza ComplianceChecker for skill security scanning — github/squad0 reactions · 1 comment
- Apr 4, 2026PRD: Waza-Based PR Quality Checks for Squad Skills — github/squad0 reactions · 3 comments
- Apr 4, 2026PRD: Waza-Based PR Quality Checks for Squad Skills — diberry/squad0 reactions · 1 comment
- Mar 29, 2026Clean up Copilot CLI session-state after eval runs — ronniegeraghty/hyoka0 reactions · 3 comments
- Mar 27, 2026apr may 2026 — kimtth/azure-openai-llm-notes0 reactions
- Mar 25, 2026Bootstrap azure-net-skills-scenarios for .NET SDK skills measurement using waza — JonathanCrd/azure-net-skills-scenarios0 reactions
- Mar 22, 2026feat: add Waza evaluation suite for skill quality validation — ahmadabdalla/azure-cost-calculator0 reactions · 2 comments
- Mar 5, 2026Skill quality validation against sensei/waza best practices — haileyvictory/azure-building-blocks0 reactions
On Bluesky · 2
- May 10, 2026Go実装なんだな。 — @matsuu.bsky.social4 likes and reposts
- May 15, 2026The tessl command-line tool uses server-side evals for the agent skills, so you don't have to figure out how to do it yourself. I didn't… — @awakecoding.com1 likes and repost
Used with
Projects with it also use e2e-template-testing, notification-routing and 8 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
GitHubSkille2e-template-testing
End-to-end validation of coordinator and agent template changes
Also in 3 projects that use this
GitHubSkillnotification-routing
Route agent notifications to specific channels by type — prevent alert fatigue from single-channel flooding
Also in 3 projects that use this
Microsoft AzureSkillarchitectural-proposals
How to write comprehensive architectural proposals that drive alignment before code is written
Also in 3 projects that use this
Microsoft AzureSkillci-validation-gates
Defensive CI/CD patterns: semver validation, token checks, retry logic, draft detection — earned from v0.8.22
Also in 3 projects that use this
- +1 more from github
- +5 more from Azure
Other versions6 projects use a version of this.
Word for word · 1
- github/squad★ 3.4k100% same
Edited · 5
- github/gh-aw★ 5.6k100% same
- Azure/fleet★ 227100% same
- kubefleet-dev/kubefleet★ 164100% same
- microsoft/github-vteam-industry-demos★ 2100% same
- microsoft/fsi-banking-payments-dispute-resolution-accelerator★ 0100% same
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository36 other files it gives its agents.
- AGENTS.mdAGENTS.md
- .github/copilot-instructions.mdCopilot instructions
- .squad/copilot-instructions.mdCopilot instructions
- .squad-templates/copilot-instructions.mdCopilot instructions
- .squad/templates/copilot-instructions.mdCopilot instructions
- squad-commandsSkill
- code-explainerSkill
- evidence-judgeSkill
- agent-collaborationSkill
- azd-publishSkill
- coordinator-init-modeSkill
- coordinator-response-modeSkill
- coordinator-source-of-truthSkill
- cross-squadSkill
- error-recoverySkill
- git-workflowSkill
- iterative-retrievalSkill
- reflectSkill
- reviewer-protocolSkill
- secret-handlingSkill
- session-recoverySkill
- squad-conventionsSkill
- squad-helpSkill
- squadSkill
- squad-version-checkSkill
- test-disciplineSkill
- tiered-memorySkill
- code-explainerSkill
- waza-interactiveSkill
- wazaSkill
- {skill-name}Skill
- squad-conventionsSkill
- {skill-name}Skill
- {skill-name}Skill
- squad-conventionsSkill
- waza-runnerSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
20 rules. 11 are common, 0 are distinctive, and 9 are very specific to this project.
11
Common
Most of the 5 edited versions we read keep these.
0
Distinctive
This author's own choices. Worth a look.
9
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Common: line 11
When multiple repositories each have their own Squad (AI team), they need to exchange information: knowledge queries, PR reviews, task …
- Very specific: line 61
Write prompt to a temp file (avoids argument-splitting issues, as learned in ralph-watch.ps1)
- Common: line 123
Instead of a fixed wall-clock timeout, monitor the agency session log directory for activity:
- Common: line 179
Increase timeout threshold: If MCP server initialization is consistently slow (>90s), raise threshold before declaring stall
- Very specific: line 188
Read target repo's .squad/team.md → get stack, members, issue source
- Very specific: line 189
Read .squad/decisions.md → get architectural decisions
- Very specific: line 190
Read .squad/routing.md → understand who handles what
- Very specific: line 191
Read .squad/identity/now.md → get current focus
- Common: line 196
No authentication needed beyond git read access
- Very specific: line 216
Create request file in YOUR repo: .squad/cross-squad/requests/{timestamp}-{target}-{id}.yaml
- Very specific: line 256
Create issue in target repo with label squad:cross-squad
- Common: line 271
Limitation: Only works for repos on GitHub.
- Common: line 282
Search both repos for mutual references:
- Common: line 289
Check shared NuGet packages / npm packages
- Common: line 290
Check shared ADO project or GitHub org
- Common: line 291
Document relationship type: code dependency, operational coupling, shared infra
- Common: line 297
Before sending any cross-squad request, verify the target:
- Very specific: line 308
If .squad/team.md doesn't exist, the repo is not squad-enabled.
- Very specific: line 376
Always read team.md first.
- Common: line 379
If the target squad doesn't have Ralph (Work Monitor) running, async requests will never be processed.
“Common” is measured: kept by at least 6 in 10 of the 5 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Context
When multiple repositories each have their own Squad (AI team), they need to exchange information: knowledge queries, PR reviews, task delegation, and dependency analysis. Each squad has its own agents, MCP tools, and issue tracker — there is no shared runtime.
Companion skill — read first:
cross-squad/SKILL.mdcovers discovery of peer squads viasquad registry add/list/remove. This skill picks up after a peer is known and covers the communication protocols themselves — the four numbered patterns below: Pattern 0 (synchronous CLI), Pattern 1 (read-only knowledge query), Pattern 2 (git-based async), and Pattern 3 (GitHub-issue-based delegation). A separate non-numbered appendix (Cross-Repo Dependency Scan) is provided as a related analysis tool, not a communication pattern. The two skills are designed to be used together.
When this skill applies:
- A squad agent needs information from another squad-enabled repo
- A task needs to be delegated to another squad
- Cross-repo dependency analysis is needed
- PR review requests span repo boundaries
Key constraint: Each squad has its own runtime, MCP tools, and issue tracker. Cross-squad communication can be synchronous (via CLI session targeting the other repo) or asynchronous (file-based or issue-based). The coordinator decides which approach fits.
Patterns
Decision Tree: Choosing the Right Pattern
Is the target repo cloned locally?
├─ NO → Use Pattern 3 (Issue-Based) or Pattern 2 (Git-Based Async)
└─ YES
├─ Is this a quick query / knowledge lookup?
│ └─ YES → Use Pattern 0 (Synchronous CLI) — fastest
├─ Does the work need to persist as artifacts?
│ └─ YES → Use Pattern 2 (Git-Based Async)
├─ Is it a long-running analysis or multi-cycle task?
│ └─ YES → Use Pattern 2 (Git-Based Async)
└─ Is the target squad's Ralph running?
├─ YES → Pattern 2 or 3 (async processing available)
└─ NO → Pattern 0 (Synchronous CLI) or Pattern 1 (Read-Only)Universal rule: every copilot spawn into a peer squad MUST pass --agent squad
The copilot CLI accepts --agent <name> to select a custom agent (see copilot --help). Squad installs ship .github/agents/squad.agent.md, which is loaded only when --agent squad is specified. Without it the spawned session runs as a generic Copilot CLI session that does NOT load the peer's team.md, routing, MCP tools, casting, or coordinator behaviour — so you get an off-the-shelf model answering, not the peer's Squad. Every command example in this skill that spawns copilot into a peer repo includes --agent squad; do not strip it.
This rule also applies anywhere else you spawn copilot into a Squad-initialised repo (not just cross-squad protocols) — e.g., squad init's post-init tip and any automation that invokes the CLI on a squadified folder. The only case where you may omit --agent is when resuming an existing session (copilot --resume <sessionId>) — the resumed session preserves its original agent context.
Pattern 0: Synchronous CLI Session (Fastest for Interactive Queries)
For quick knowledge queries, decision lookups, or short analyses — spawn a Copilot CLI session with the working directory set to the target squad's repo. This lets you send a prompt and get a response within the same session, using the target repo's full context.
This is the same technique used by ralph-watch.ps1: write the prompt to a temp file, then invoke the CLI with that file as input. The key insight is that setting the working directory to the target repo gives the CLI session access to that squad's .squad/ metadata, codebase, and conventions.
Protocol:
- Write prompt to a temp file (avoids argument-splitting issues, as learned in
ralph-watch.ps1) - Read the file into a string and invoke
copilot -p <text>with-C <directory>set to the target repo (-ptakes prompt text, NOT a file path) AND--agent squadso the spawned session uses the peer squad's coordinator (without--agentyou get a generic Copilot CLI session that doesn't load the peer'steam.md, MCP tools, or skills) - Receive response in the same session
Invocation:
# Spawn a Copilot CLI session targeting another squad's repo
$targetRepo = "C:\repos\platform-squad-repo"
$promptFile = New-TemporaryFile
@"
You are working in a Squad-enabled repository.
Read .squad/team.md and .squad/decisions.md first.
[CROSS-SQUAD REQUEST]
From: research-squad
Request Type: knowledge_query
Query: What is the current architecture of the platform? What services does it expose?
Response Format: Brief structured summary
"@ | Out-File $promptFile -Encoding utf8
# Option A: copilot with prompt file (read file into string; -p takes text, not a path)
# --agent squad is REQUIRED: the target is another Squad install, so the spawned
# session must use that squad's coordinator (not a generic Copilot CLI session).
copilot -C $targetRepo --agent squad -p (Get-Content $promptFile -Raw) --allow-all-tools
# Option B: Start-Process for non-blocking (ralph-watch.ps1 style)
Start-Process pwsh -ArgumentList "-NoProfile -Command `"copilot -C '$targetRepo' --agent squad -p (Get-Content '$promptFile' -Raw) --allow-all-tools`"" -Wait
# Option C: Pipe directly (stdin is the prompt text)
"What is the platform architecture?" | copilot -C $targetRepo --agent squad --allow-all-toolsWhen to use synchronous vs async:
| Scenario | Pattern | Why |
| Quick knowledge query | Synchronous CLI (Pattern 0) | Fast answer, no overhead |
| "What did you decide about X?" | Synchronous CLI (Pattern 0) | Read decisions.md via the target squad's context |
| PR review request | Either (Pattern 0 or 2/3) | Sync for quick feedback, async for thorough review |
| Task delegation (do work in their repo) | Async (Pattern 2 or 3) | Work needs to persist beyond the session |
| Long-running analysis | Async (Pattern 2) | May take multiple cycles |
| Target repo not locally cloned | Async (Pattern 3) | Can't set working directory to a remote repo |
The coordinator decides which pattern to use based on:
- Is the target repo cloned locally? → If yes, sync CLI is available
- Is this a quick query or a long task? → Quick = sync, long = async
- Does the work need to persist? → If yes, use async (creates artifacts)
- Is the target squad's Ralph running? → Needed for async processing
Requirements:
- Target repo must be cloned locally (for
copilot -C <directory>) - Target repo must be Squad-initialised (
.squad/config.json+.github/agents/squad.agent.mdpresent), so--agent squadresolves to the peer's coordinator - Prompt file avoids argument-splitting bugs (see
ralph-watch.ps1lines 2166-2184)
Response quality: ⭐⭐⭐⭐⭐ — the CLI session has full context of the target repo, including code, squad metadata, and MCP tools.
Liveness Protocol for Pattern 0
The synchronous CLI session requires monitoring to avoid false timeouts. With 7+ MCP servers initializing and .squad/ metadata being read, startup can take 30-60 seconds. A hard timeout kills valid sessions before they complete. Instead, monitor the agency session's activity log directory.
Health Check Approach:
Instead of a fixed wall-clock timeout, monitor the agency session log directory for activity:
# The Copilot CLI creates a session log directory at ~/.copilot/logs/.
# Older `agency` runtimes wrote to ~/.agency/logs/; fall back to that
# location if the new path doesn't exist yet on the user's machine.
# e.g., ~/.copilot/logs/session_20260325_071211_57824
$copilotLogs = "$env:USERPROFILE\.copilot\logs"
$agencyLogs = "$env:USERPROFILE\.agency\logs"
$logRoot = if (Test-Path $copilotLogs) { $copilotLogs } elseif (Test-Path $agencyLogs) { $agencyLogs } else { $null }
if ($logRoot) {
$logDir = Get-ChildItem $logRoot -Directory | Sort-Object LastWriteTime -Descending | Select-Object -First 1
}
$lastSize = 0
$stallCount = 0
while ($proc -and -not $proc.HasExited) {
Start-Sleep -Seconds 15
$currentSize = (Get-ChildItem $logDir -Recurse -File | Measure-Object -Property Length -Sum).Sum
if ($currentSize -eq $lastSize) {
$stallCount++
if ($stallCount -ge 4) { # 60s with no progress
Write-Warning "Session stalled — no log activity for 60s"
break
}
} else {
$stallCount = 0
$lastSize = $currentSize
}
}Progress Indicators (What Counts as "Alive"):
- New files appearing in the session log directory (e.g.,
transcript.log,mcp-server-logs/) - Log file size increasing (indicates active processing)
- New or modified
.squad/files in the target repo (e.g.,decisions/inbox.md,identity/history.md) - Process still running and consuming non-idle CPU time
Stall Detection (When to Intervene):
- No log activity for 60s → Issue a warning; session may be slow but not hung
- No log activity for 120s → Likely stuck; consider terminating and checking logs
- Process exited with non-zero exit code → Failed; examine
transcript.logandstderrfor errors - MCP server connection timeout → Session blocked waiting for an MCP server response
Recovery Actions When Stalled:
- Check for user input waiting: Inspect logs for prompts or dialogs (shouldn't happen with
--autopilot) - Check MCP server health: Review
mcp-server-logs/for connection errors or timeouts - Retry with
--disable-builtin-mcpsflag: For lightweight queries that don't require MCP tools# Retry without MCP servers — faster startup, limited capability copilot -C $targetRepo --agent squad -p (Get-Content $promptFile -Raw) --disable-builtin-mcps --allow-all-tools - Increase timeout threshold: If MCP server initialization is consistently slow (>90s), raise threshold before declaring stall
Pattern 1: Read-Only Knowledge Query (No CLI Needed)
For questions about another squad's architecture, decisions, or current state — read their .squad/ metadata directly.
Protocol:
- Read target repo's
.squad/team.md→ get stack, members, issue source - Read
.squad/decisions.md→ get architectural decisions - Read
.squad/routing.md→ understand who handles what - Read
.squad/identity/now.md→ get current focus - Scan code structure if needed (csproj files, directory layout)
Requirements:
- Target repo must be cloned locally or accessible via git
- No authentication needed beyond git read access
Example:
# Query another squad's architecture
$targetRepo = "C:\repos\platform-squad-repo"
Get-Content "$targetRepo\.squad\team.md"
Get-Content "$targetRepo\.squad\decisions.md"
Get-Content "$targetRepo\.squad\identity\now.md"Response quality: ⭐⭐⭐⭐ — excellent for structural/architectural questions.
Pattern 2: Async Task Request (Git-Based)
For work that needs the target squad to execute (PR reviews, issue analysis, code changes).
Protocol:
- Create request file in YOUR repo:
.squad/cross-squad/requests/{timestamp}-{target}-{id}.yaml - Commit and push
- Target squad's Ralph detects on next cycle
- Target squad processes and writes response to their
.squad/cross-squad/responses/ - Your Ralph picks up the response
Request File Format:
id: req-2026-06-13-001
source_squad: research-squad
source_repo: your-org/research-squad-repo
target_squad: platform-squad
target_repo: your-org/platform-squad-repo
request_type: knowledge_query | pr_review | task_delegation | dependency_check
priority: high | normal | low
created_at: 2026-06-13T10:00:00Z
query: "What is the current architecture of the platform?"
routing_hint: "lead" # optional — which agent should handle this
status: pendingResponse File Format:
id: req-2026-06-13-001
responding_squad: platform-squad
responding_agent: lead
responded_at: 2026-06-13T10:15:00Z
status: completed | partial | rejected
response: |
The platform architecture consists of...
artifacts: [] # optional file pathsPattern 3: Issue-Based Delegation (For GitHub-Hosted Repos)
For repos on GitHub, use issues with labels as the message bus.
Protocol:
- Create issue in target repo with label
squad:cross-squad - Include source squad identifier and routing hint in issue body
- Target squad's Ralph picks up and routes to appropriate agent
- Response posted as issue comment
- Issue closed when complete
Example:
gh issue create \
--repo your-org/platform-squad-repo \
--title "[Cross-Squad] Architecture query from research-squad" \
--body "Source: research-squad\nQuery: What services does the platform expose?\nRouting: lead" \
--label "squad:cross-squad"Limitation: Only works for repos on GitHub. Other platforms (Azure DevOps, GitLab, etc.) need different approach.
Appendix: Cross-Repo Dependency Scan (Related Analysis Tool — Not a Communication Pattern)
This section is intentionally listed as an appendix rather than "Pattern 4" — it is a one-off analysis utility for discovering how two repos relate, not a protocol the coordinator picks from the decision tree above. The four numbered communication patterns are 0–3.
For discovering how two repos relate to each other.
Protocol:
- Search both repos for mutual references:
Select-String -Path (Get-ChildItem $repoA -Recurse -Include "*.md","*.cs","*.json","*.csproj") ` -Pattern $repoB_name Select-String -Path (Get-ChildItem $repoB -Recurse -Include "*.md","*.cs","*.json","*.csproj") ` -Pattern $repoA_name - Check shared NuGet packages / npm packages
- Check shared ADO project or GitHub org
- Document relationship type: code dependency, operational coupling, shared infra
Discovery Protocol
Before sending any cross-squad request, verify the target:
1. Does .squad/team.md exist? → Squad is installed
2. What is the issue_source? → GitHub Issues | ADO | Planner
3. What agents are active? → Check member status column
4. What is the routing table? → Read routing.md
5. What is the current focus? → Read identity/now.md
6. Is Ralph running? → Check for recent commits by RalphIf .squad/team.md doesn't exist, the repo is not squad-enabled. Fall back to standard human communication.
Platform Compatibility Matrix
| Source Issue Tracker | Target Issue Tracker | Mechanism |
| GitHub Issues | GitHub Issues | Issue-based (Pattern 3) |
| GitHub Issues | ADO Work Items | Git-based (Pattern 2) |
| GitHub Issues | Planner | Git-based (Pattern 2) |
| ADO Work Items | GitHub Issues | Issue-based (Pattern 3) via gh CLI |
| ADO Work Items | ADO Work Items | ADO cross-project work items |
| Any | Any | Git-based (Pattern 2) — universal fallback |
Examples
Example 1: research-squad queries platform-squad architecture
# Step 1: Read metadata (Pattern 1)
$target = "C:\repos\platform-squad-repo"
$team = Get-Content "$target\.squad\team.md" -Raw
$decisions = Get-Content "$target\.squad\decisions.md" -Raw
# Step 2: Extract answer from metadata
# team.md reveals tech stack and member roles
# decisions.md reveals architectural choices
# Step 3: If deeper analysis needed, create async request (Pattern 2)Example 2: Request PR review from another squad
# .squad/cross-squad/requests/2026-06-13-platform-squad-pr-review.yaml
id: pr-review-001
source_squad: research-squad
target_squad: platform-squad
request_type: pr_review
priority: normal
query: "Review PR #54 — package version fix. Check for correctness."
routing_hint: "lead"
status: pendingAnti-Patterns
⚠️ Know when synchronous CLI is NOT the right choice
# WRONG — don't use sync CLI for long-running tasks that need artifacts
copilot -C $targetRepo --agent squad -p (Get-Content $promptFile -Raw) --allow-all-tools
# If the task creates files, PRs, or takes multiple cycles → use async (Pattern 2 or 3)
# WRONG — don't use sync CLI when the target repo isn't cloned locally
copilot -C "C:\not\cloned\yet" --agent squad --allow-all-tools
# If the repo isn't available locally → use issue-based delegation (Pattern 3)Synchronous CLI sessions (Pattern 0) are valid for quick queries and knowledge lookups. Use async patterns for work that needs to persist or where the target repo isn't available locally.
❌ Don't assume shared MCP tools
Each squad has its own MCP server instances. You cannot invoke another squad's ADO tools or GitHub tools from your session.
❌ Don't skip the discovery step
Always read team.md first. The target squad may use a different issue tracker, have different agents, or be in a different state than expected.
❌ Don't send requests to squads without Ralph
If the target squad doesn't have Ralph (Work Monitor) running, async requests will never be processed. Check for recent Ralph activity first.
❌ Don't mix up repo platforms
Different repos may use GitHub Issues vs Azure DevOps Work Items vs Jira. Check team.md / repository metadata for the right tooling before sending requests.
Validation Status
This skill was originally drafted against two prototype squad setups (a GitHub-hosted platform squad with ~10 agents and an Azure DevOps-hosted automation squad with ~4 agents). The protocols are platform-agnostic; the examples in this document use generic names so you can substitute your own repos. Patterns 0 and 1 have been exercised end-to-end in those prototypes; Patterns 2 and 3 are documented from design but have not been end-to-end-validated against a live target repo.
| Scenario | Result |
| Knowledge query (read-only) | ✅ Works via Pattern 1 |
| Step handler discovery | ✅ Works via file scan |
| PR review (basic) | ⚠️ Partial — git log only, no API |
| Backlog enumeration | ⚠️ Partial — depends on issue platform |
| Dependency analysis | ✅ Works via cross-reference scan |
| CLI invocation (sync) + Liveness Protocol | ✅ Works — session launches successfully; log monitoring prevents false timeouts |
Confidence: MEDIUM — Synchronous CLI pattern (Pattern 0) validated end-to-end. Liveness protocol provides operational robustness against slow MCP initialization. Git-based async (Pattern 2) and issue-based (Pattern 3) untested end-to-end. Production readiness requires Ralph integration on both sides.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

