feat: Issue Assignment & Auto-Triage for Squad Members - #5
Merged
bradygaster merged 2 commits intoFeb 10, 2026
Merged
Conversation
- Add 3 GitHub Actions workflow templates (sync-squad-labels, squad-triage, squad-issue-assign) - Update index.js to copy workflow files during init/upgrade - Update coordinator prompt with issue awareness at session start - Update routing template with issue routing rules - Update README with issue assignment documentation - Add 5 new tests for workflow copy functionality Closes bradygaster#4
- Keep upstream v0.2.0 What's New section alongside our Issue Assignment section in README - Restore test/index.test.js (deleted upstream) with our workflow tests - Fix upgrade tests to simulate older version (upstream added version-check short-circuit)
bradygaster
added a commit
that referenced
this pull request
Feb 10, 2026
This was referenced Feb 12, 2026
chilipadi
added a commit
to chilipadi/squadro-5
that referenced
this pull request
Mar 8, 2026
Add a new "Mambo bradygaster#5" universe inspired by the Lou Bega song, featuring 7 characters each mapped to development roles: - Monica (Lead) - "A little bit of Monica in my life" - Erica (Developer) - "A little bit of Erica by my side" - Rita (Tester/Reviewer) - "A little bit of Rita is all I need" - Tina (Prompt Engineer/Scribe) - "A little bit of Tina is what I see" - Sandra (Designer/DevRel) - "A little bit of Sandra in the sun" - Mary (Security) - "A little bit of Mary can move my data safely" - Jessica (DevOps) - "A little bit of Jessica is what I need" Changes: - Added "Mambo bradygaster#5" to allowlist_universes in all casting policy templates - Set universe capacity to 7 (matching the song's characters) - Added character definitions with themed personalities and backstories - Updated UniverseId type to include 'mambo-five' Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
chilipadi
added a commit
to chilipadi/squadro-5
that referenced
this pull request
Mar 8, 2026
Add a new "Mambo bradygaster#5" universe inspired by the Lou Bega song, featuring 7 characters each mapped to development roles: - Monica (Lead) - "A little bit of Monica in my life" - Erica (Developer) - "A little bit of Erica by my side" - Rita (Tester/Reviewer) - "A little bit of Rita is all I need" - Tina (Prompt Engineer/Scribe) - "A little bit of Tina is what I see" - Sandra (Designer/DevRel) - "A little bit of Sandra in the sun" - Mary (Security) - "A little bit of Mary can move my data safely" - Jessica (DevOps) - "A little bit of Jessica is what I need" Changes: - Added "Mambo bradygaster#5" to allowlist_universes in all casting policy templates - Set universe capacity to 7 (matching the song's characters) - Added character definitions with themed personalities and backstories - Updated UniverseId type to include 'mambo-five' Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
chilipadi
added a commit
to chilipadi/squadro-5
that referenced
this pull request
Mar 8, 2026
Sync changes from original Squad repository (upstream) including: - v0.8.24 release with ADO adapter, CommunicationAdapter, SubSquads - Azure DevOps platform adapter for enterprise - CommunicationAdapter for platform-agnostic agent-human communication - Workstreams renamed to SubSquads - Security hardening and ESM runtime fixes - Various documentation improvements and bug fixes This brings Squadro-5 up to date with upstream main branch while preserving the Mambo bradygaster#5 universe additions.
chilipadi
added a commit
to chilipadi/squadro-5
that referenced
this pull request
Mar 8, 2026
Add a featured section highlighting the Mambo bradygaster#5 universe as Squadro-5's signature addition. The new section appears right after "What is Squadro-5?" and includes: - Musical note emoji header for thematic consistency - Positioning as the key differentiator for this fork - Complete character roster with roles and song lyrics - Playful closing line tying the theme together This makes the Mambo bradygaster#5 universe immediately visible to README visitors, establishing Squadro-5 as a fun riff on the original Squad with the Lou Bega-inspired casting system as the star feature. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
chilipadi
added a commit
to chilipadi/squadro-5
that referenced
this pull request
Mar 8, 2026
Add a featured section highlighting the Mambo bradygaster#5 universe as Squadro-5's signature addition. The new section appears right after "What is Squadro-5?" and includes: - Musical note emoji header for thematic consistency - Positioning as the key differentiator for this fork - Complete character roster with roles and song lyrics - Playful closing line tying the theme together This makes the Mambo bradygaster#5 universe immediately visible to README visitors, establishing Squadro-5 as a fun riff on the original Squad with the Lou Bega-inspired casting system as the star feature. Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
chilipadi
added a commit
to chilipadi/squadro-5
that referenced
this pull request
Mar 8, 2026
Add a featured section highlighting the Mambo bradygaster#5 universe as Squadro-5's signature addition. The new section appears right after "What is Squadro-5?" and includes: - Musical note emoji header for thematic consistency - Positioning as the key differentiator for this fork - Complete character roster with roles and song lyrics - Playful closing line tying the theme together This makes the Mambo bradygaster#5 universe immediately visible to README visitors, establishing Squadro-5 as a fun riff on the original Squad with the Lou Bega-inspired casting system as the star feature. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
chilipadi
added a commit
to chilipadi/squadro-5
that referenced
this pull request
Mar 9, 2026
Update the "What is Squadro-5?" section to properly attribute Squad as the original project. Squadro-5 is now clearly positioned as a fun fork with a single tongue-in-cheek addition (the Mambo bradygaster#5 universe) rather than claiming to be a new or superior product. Changes: - Add direct link to original Squad repository - Clarify that Squad provides the core functionality - Add humble closing: "No new features, no superiority claims — just a playful addition to an already great tool" - Ensure proper attribution to Brady Gaster's original project This maintains transparency about Squadro-5 being a playful tribute rather than an improvement upon the original Squad. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This was referenced Mar 14, 2026
jagilber
referenced
this pull request
in jagilber/squad
Mar 15, 2026
Subagent sessions can trigger context compaction but the coordinator never subscribes to compaction events. The UI sees a 'busy' agent with no indication of degraded state. Needs verification. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
jagilber
referenced
this pull request
in jagilber/squad
Mar 23, 2026
…compaction (#5) Add 12 new RED tests proving two bugs exist: - hung-agent-watchdog.test.ts (5 tests, 4 RED): spawnSingle() has no timeout on createSession — hangs forever. SessionPool health check doesn't detect stuck active sessions. Idle checker marks agents idle but doesn't abort hung operations. - subagent-compaction.test.ts (7 tests, all RED): aggregateSessionEvents doesn't subscribe to compaction events. spawnSingle doesn't wire up event aggregation for spawned sessions. SquadEventType missing compaction event types. No per-agent context utilization tracking. Fix vitest config: add deps.inline for @github/copilot-sdk and resolve.alias for vscode-jsonrpc/node to fix ESM subpath resolution. This unblocks 15 test files that previously couldn't load. Update PR draft with new test counts and results. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
atuannguyen1101
pushed a commit
to atuannguyen1101/squad
that referenced
this pull request
Mar 24, 2026
Implements Sprint 2 self-improve pair (Issues bradygaster#2 and bradygaster#5). ## Proposals Pipeline (bradygaster#2) - Risk classifier: classifyProposalRisk() categorizes proposals as auto-apply, surface-to-user, or needs-review based on category, priority, and target file sensitivity - Auto-apply engine: safely appends content to existing files in safe paths (.squad/skills/, .squad/agents/, .copilot/skills/) - Surface-to-user: formats proposals as pulse questions for human review - Effectiveness tracking: records applied proposals in effectiveness.json, checks on next auto-sage run whether same detector fired again - squad_proposals tool: new tool with create/list/update/apply operations added to ToolRegistry (6 tools total) New file: packages/squad-sdk/src/mcp/proposal-pipeline.ts ## Ceremony Execution Engine (bradygaster#5) - CeremonyRunner class: replaces simple dispatch with structured execution, builds role-appropriate prompts, collects responses, saves reports - Retrospective ceremony: built-in type with classic retro template (what went well / what didn't / what to change), enhanced with pulse data, error summaries, and applied proposal effectiveness - Manual trigger API: triggerCeremonyManually() for CLI/REPL use - Ceremony reports saved to .squad/ceremonies/retros/{timestamp}.md New files: packages/squad-sdk/src/server/ceremony-runner.ts packages/squad-sdk/src/server/ceremonies/retrospective.ts ## Integration - Both systems are aware of each other: retrospectives review which proposals were applied and their effectiveness - CeremonyConfig extended with type, trigger, and idleTimeoutMs fields - All new types exported from package index and subpath exports - No cron, no new dependencies, strict mode, ESM-only ## Tests - 47 proposal pipeline tests (risk classifier, auto-apply, effectiveness) - 28 ceremony runner tests (dispatch, prompts, reports, manual trigger) - Updated existing tools.test.ts (56 tools) - All 105 tests pass
joniba
pushed a commit
to joniba/squad
that referenced
this pull request
Mar 26, 2026
Add two scripts for Teams watchdog daily execution (bradygaster#5): - run-pipeline.ps1: Orchestrates probe → filter → extract → format via file-based I/O between steps. Stops on first failure. - watchdog.ps1: Scheduling wrapper with lockfile, heartbeat file, structured logging, and consecutive failure alerting (≥3). Uses 24h scan window (not 48h) to avoid duplicate summaries. Both scripts stay under 50 lines, composable by design. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
22 tasks
atuannguyen1101
pushed a commit
to atuannguyen1101/squad
that referenced
this pull request
Mar 29, 2026
…lti-run support Implements foundational multi-run isolation architecture: NEW FILES: - packages/squad-sdk/src/mcp/run-context.ts: RunContext interface and RunContextManager for per-run state isolation (pulseCollector, intentGraph, pendingUserQuestions, activePipelines, waitResolvers) - packages/squad-sdk/src/mcp/dispatch-utils.ts: DispatchSemaphore (max 1 concurrent sendAndWait) and safeSendAndWait wrapper with Promise.race + settled flag - TODO-MULTI-RUN.md: Comprehensive implementation checklist and landmine documentation MODIFIED FILES: - packages/squad-sdk/src/server/agent-lifecycle.ts: * Added runId field to AgentSessionEntry and ActiveSessionInfo * Session keys now use format agentName::runId for isolation * Added makeSessionKey() helper function * Updated getOrCreateSession() to accept optional runId parameter * Updated dispatch() and sendFollowUp() to use safeSendAndWait + semaphore * Added closeRunSessions() for bulk session cleanup by runId * All session map operations now use composite keys - packages/squad-sdk/src/mcp/server.ts: * Added RunContextManager import and instantiation * Creates RunContext on squad_run (currently tracked but not fully wired) LANDMINES ADDRESSED: - Landmine bradygaster#2 (sendAndWait timeout unreliable): Fixed with safeSendAndWait using Promise.race (90s timeout) + settled flag to prevent duplicate message pushes - Landmine bradygaster#5 (concurrent sendAndWait stalls backend): Fixed with DispatchSemaphore limiting to 1 concurrent call - Landmine bradygaster#4 (SessionPool.findByAgent name collisions): Avoided by using explicit session keys, not pool lookup REMAINING WORK (Phase 2): - Complete server.ts tool handler refactoring (squad_ask, squad_respond, squad_wait, squad_cancel all need runId parameters) - Wire runId through waitForResponse and pipeline callbacks - Implement auto-close sessions on pipeline completion - Fix waitForDonePulse deadlock (landmine bradygaster#1) - Update dashboard for run grouping (Phase 3) Build: Passes Tests: Pending (Phase 2 completion)
This was referenced Mar 31, 2026
Closed
9 tasks
This was referenced Apr 6, 2026
akubly
pushed a commit
to akubly/squad
that referenced
this pull request
May 14, 2026
Addresses all blocking items from FIDO/INCO adversarial review of Piece 05: FIDO blockers (A1-A5): - A1: CLI dispatch tests via real process spawn (dispatch-help.test.ts) - A2: Doctor origin resolution (normalisedPathKey against origins[]) - A3: Register .squad/ existence check before registration - A4: Init clone/path collision test - A5: Dual-doctor coherence test INCO blockers (B1-B7): - B1: Per-command --help (side-effect-free, exit 0) - B2: Register validation copy with flag name + example - B3: Differentiate registered/reactivated/already-active outcomes - B4: Severity prefixes [info]/[warn]/[error] in doctor output - B5: Dual-doctor sections (=== System doctor === / === Registry doctor ===) - B6: NO_COLOR discipline (!isTTY || NO_COLOR) - B7: stdout/stderr/exit-code discipline tests CONTROL self-review (C1-C3): - C1: All unsafe 'as' casts removed (register.ts, doctor.ts) - C2: Exhaustive never checks for severity and register outcome - C3: Command modules on subpath exports only Flight follow-ups (D1-D2): - D1: Shared _registry-path.ts helper (eliminates 4x duplication) - D2: Unified dual-doctor rendering Regression fixes (E1-E4): - E1: init-scaffolding.test.ts import path fix (legacy doctor) - E2: Help output trimmed to ~55 lines (was 138, threshold 130) - E3: All help lines under 80 chars - E4: e2e-shell.test.ts passes (no change needed) Closes bradygaster#5 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This was referenced May 19, 2026
tamirdresher
referenced
this pull request
in tamirdresher/squad
Jun 13, 2026
…tocols) PR bradygaster#1291 added squad registry add/list/remove and the cross-squad/SKILL.md for peer discovery. But discovery is only half the story — once a peer is known, agents need to know HOW to actually exchange info with it. This change ports cross-squad-communication from tamirdresher/squad-skills into the bundled skills so a fresh squad init produces a coordinator that knows the four communication patterns: * Pattern 0: Synchronous CLI session (--working-directory targeting peer) * Pattern 1: Read-only metadata scan (team.md / decisions.md) * Pattern 2: Async git-based request/response (.squad/cross-squad/...) * Pattern 3: Issue-based delegation (gh issue with squad:cross-squad label) Plus decision tree for pattern choice, anti-patterns, request/response YAML schemas, and validation status. Changes: * .squad/skills/cross-squad-communication/SKILL.md (379 lines, canonical source). sync-skill-templates.mjs propagates to both packages templates. * MANIFEST_SKILL_NAMES in packages/squad-sdk/src/config/init.ts grows by 1 entry: cross-squad-communication. Now 11 entries. * cross-squad/SKILL.md gets a one-paragraph "Companion skill" note pointing to cross-squad-communication for protocol details. Together: cross-squad answers "who?" (registry discovery), cross-squad-communication answers "how?" (the 4 patterns). The original plugin documented validation against specific internal Microsoft repos. Examples in this version use generic names (platform-squad, research-squad) so they are meaningful to upstream users. Protocol mechanics are unchanged. Frontmatter source: attributes the port. Test: new "should install cross-squad-communication skill" in init.test.ts asserts SKILL.md is at install path and content contains expected pattern names. 26/26 init tests pass. npm run lint clean. Composes with bradygaster#1291: * squad init → both skills bundled * squad registry add ../peer → peer discoverable * coordinator: "ask peer X for their team members" → uses Pattern 1 by reading team.md from the registered peer Note on overlap with bradygaster#1292: PR bradygaster#1292 (skills bundling fix) adds 4 entries to MANIFEST_SKILL_NAMES; this PR adds 1. Disjoint additions to the same array; either can land first. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
tamirdresher
added a commit
that referenced
this pull request
Jun 13, 2026
…tocols) (#1295) * feat(sdk): bundle cross-squad-communication skill (#5 cross-squad protocols) PR #1291 added squad registry add/list/remove and the cross-squad/SKILL.md for peer discovery. But discovery is only half the story — once a peer is known, agents need to know HOW to actually exchange info with it. This change ports cross-squad-communication from tamirdresher/squad-skills into the bundled skills so a fresh squad init produces a coordinator that knows the four communication patterns: * Pattern 0: Synchronous CLI session (--working-directory targeting peer) * Pattern 1: Read-only metadata scan (team.md / decisions.md) * Pattern 2: Async git-based request/response (.squad/cross-squad/...) * Pattern 3: Issue-based delegation (gh issue with squad:cross-squad label) Plus decision tree for pattern choice, anti-patterns, request/response YAML schemas, and validation status. Changes: * .squad/skills/cross-squad-communication/SKILL.md (379 lines, canonical source). sync-skill-templates.mjs propagates to both packages templates. * MANIFEST_SKILL_NAMES in packages/squad-sdk/src/config/init.ts grows by 1 entry: cross-squad-communication. Now 11 entries. * cross-squad/SKILL.md gets a one-paragraph "Companion skill" note pointing to cross-squad-communication for protocol details. Together: cross-squad answers "who?" (registry discovery), cross-squad-communication answers "how?" (the 4 patterns). The original plugin documented validation against specific internal Microsoft repos. Examples in this version use generic names (platform-squad, research-squad) so they are meaningful to upstream users. Protocol mechanics are unchanged. Frontmatter source: attributes the port. Test: new "should install cross-squad-communication skill" in init.test.ts asserts SKILL.md is at install path and content contains expected pattern names. 26/26 init tests pass. npm run lint clean. Composes with #1291: * squad init → both skills bundled * squad registry add ../peer → peer discoverable * coordinator: "ask peer X for their team members" → uses Pattern 1 by reading team.md from the registered peer Note on overlap with #1292: PR #1292 (skills bundling fix) adds 4 entries to MANIFEST_SKILL_NAMES; this PR adds 1. Disjoint additions to the same array; either can land first. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix: TEMPLATE_MANIFEST entry for cross-squad-communication + pattern numbering + honest source/validation Five reviewer follow-ups on #1295: 1. MANIFEST_SKILL_NAMES added 'cross-squad-communication' but TEMPLATE_MANIFEST didn't — 'squad upgrade' would skip the skill even though 'squad init' installed it. Added the missing entry to TEMPLATE_MANIFEST so upgrade syncs it like every other manifest skill. (Same drift bug pattern noted on #1292/#1303.) 2-3. Both SKILL.md files (companion 'cross-squad' and full 'cross-squad-communication') said the skill covers 'the four communication patterns (sync CLI, async git-based, issue-based)' but only listed three — Pattern 1 (read-only knowledge query) was missing from the intro list. Rewrote both intro lines to spell out all four: Pattern 0 (sync CLI), Pattern 1 (read-only), Pattern 2 (git-based async), Pattern 3 (issue-based). 4. The doc had 'Pattern 4: Cross-Repo Dependency Scan' which broke the 'four numbered patterns 0-3' framing — Pattern 4 isn't a communication protocol, it's a one-off analysis utility for discovering how two repos relate. Moved it to a clearly labeled '### Appendix' section with a note explaining why it's not a numbered pattern. 5. Frontmatter 'source:' claimed the skill was 'validated against two production squad instances' but the Validation Status section said Patterns 2 and 3 were 'untested end-to-end'. Reworded 'source:' to acknowledge that only Pattern 0 (and partially Pattern 1) are end-to-end-validated; Patterns 2/3 are documented from design and need live validation before production use. Also softened the same overclaim in the Validation Status prose (replaced 'validated against two production' with 'drafted against two prototype' + explicit acknowledgement that 2/3 are design-only). All 3 mirrored copies of cross-squad-communication/SKILL.md and 3 copies of cross-squad/SKILL.md kept in sync (canonical = .squad/, mirrors = packages/squad-cli/templates/, packages/squad-sdk/templates/). Verified: 31/31 init + builtin-skills tests pass. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix(skill): cross-squad-communication uses real Copilot CLI invocations (ghcs→copilot, real flags) The cross-squad-communication SKILL.md as drafted instructed coordinators to use a non-existent CLI shape. Verified empirically against `copilot --help` (v1.0.62): - `ghcs` is not a binary on a clean install; the real CLI is `copilot` (resolved to C:\ProgramData\global-npm\copilot.ps1 on a default node install). - `--working-directory <dir>` does not exist. Real flag is `-C <directory>` (git-style "change directory first"). - `--no-mcp` does not exist. Real flag is `--disable-builtin-mcps`. - `-p, --prompt <text>` takes the prompt STRING, not a path. Earlier examples passed `-p \` (a path), which makes the CLI try to execute the path string as a prompt. Read the file with `Get-Content -Raw` first. - `--allow-all-tools` was missing from autonomous (non-interactive) invocations — without it every tool call prompts for permission and hangs the cross-squad delegation indefinitely. - Log directory was `~/.agency/logs/` (older `agency` runtime). New CLI logs under `~/.copilot/logs/`. Switched to a `Test-Path`-guarded fallback so both transitional and clean installs resolve correctly. All 14 call-site occurrences in cross-squad-communication/SKILL.md updated (3 mirrored copies). Mirrors verified byte-identical. New regression test in test/cross-squad.test.ts asserts each of the 8 correctness properties (ghcs/—working-directory/—no-mcp absent; `copilot -C`, `--allow-all-tools`, `--disable-builtin-mcps`, `-p (Get-Content`, and `.copilot\\logs + Test-Path` present) for every mirror. 8 × 3 mirrors = 24 new assertions; 56/56 cross-squad tests pass. Catches a fairly large embarrassment: had this skill landed as drafted, every fresh `squad init` coordinator would have run a totally bogus CLI command on the first delegation attempt. Credit to the peer-squad `read this skill, ran into errors, asked why` loop for surfacing it. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix(skill): every cross-squad copilot spawn passes --agent squad A peer-squad delegation that runs the Copilot CLI without --agent squad gets a generic Copilot CLI session — the spawned process never loads .github/agents/squad.agent.md, the peer's team.md, MCP tools, casting, or coordinator behaviour. The whole point of cross-squad delegation collapses: the answer comes from an off-the-shelf model, not from the peer's Squad. All 7 example command lines in cross-squad-communication/SKILL.md (Pattern 0 Options A/B/C, Liveness Protocol MCP-skip retry, and the two Anti-Pattern examples) now include --agent squad. Also added a new top-of-Patterns "Universal rule: every copilot spawn into a peer squad MUST pass --agent squad" section that: - States the rule once, prominently. - Explains the failure mode (generic session, no team.md / MCP / coordinator loaded) so future edits don't strip the flag thinking it's redundant. - Notes the only exception (--resume preserves original session agent). - Generalises the rule beyond cross-squad: "anywhere else you spawn copilot into a Squad-initialised repo — e.g., post-init tips and any automation that invokes the CLI on a squadified folder." Also added a precondition note to Pattern 0 Requirements: the target repo must be Squad-initialised (.squad/config.json + .github/agents/squad.agent.md present) so --agent squad resolves. Verified empirically: copilot --help (v1.0.62) confirms --agent <agent> is the real flag name. squad delegate (CLI command) was audited and does NOT need this fix — it uses `gh issue create`, not `copilot`, so the issue body lands in the peer repo's GitHub Issues for async pickup, not via direct CLI spawn. Regression tests in test/cross-squad.test.ts: - 'every copilot spawn into a peer squad includes --agent squad' — scans every copilot command line (excluding --resume / prose references) and asserts each one has --agent squad. Tells you the exact offending line on failure. - 'explains WHY --agent squad is required (universal rule paragraph)' — defends against a future edit that strips the rationale. - 2 new assertions × 3 mirror locations = 6 new tests. - 62/62 cross-squad tests pass. All 3 mirrored copies of cross-squad-communication/SKILL.md kept in sync (canonical = .squad/, mirrors = packages/squad-cli/templates/, packages/squad-sdk/templates/). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <Copilot@users.noreply.github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Tamir Dresher <tamirdresher@users.noreply.github.com>
This was referenced Aug 8, 2026
Closed
This was referenced Aug 20, 2026
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
Adds label-based issue assignment and auto-triage for squad members, enabling GitHub Issues to be routed to specific squad agents for automated work.
Closes #4
Changes
New Workflow Templates (
templates/workflows/)sync-squad-labels.yml— Reads.ai-team/team.mdroster and auto-creates/updatessquad:{name}labels via GitHub API. Triggers on push to team.md or manual dispatch.squad-triage.yml— Triggered whensquadlabel is added to an issue. Lead agent triages the issue, assigns the correctsquad:{member}label, and comments with triage notes.squad-issue-assign.yml— Triggered whensquad:{member}label is added. Acknowledges assignment and queues for the member's next Copilot session.Init Script (
index.js).github/workflows/during init (additive — skips existing files)upgradeCoordinator Prompt (
squad.agent.md)squad:{member}issues at session startRouting Template (
templates/routing.md)squadandsquad:{member}labelsDocumentation (
README.md)Tests
templates/workflows/subdirectory was added (they tried toreadFileSyncon a directory)Label Scheme
squadsquad:{name}How It Works
squadlabel to an issue → Lead triages and assignssquad:{member}