Repository navigation
Closed
Description
Summary
Squad currently has no mechanism to connect GitHub Issues to squad members. This feature adds label-based issue assignment, auto-triage by the Lead agent, and automated issue pickup by squad members.
Goals
- Tag GitHub issues with labels that route them to specific squad members (e.g.,
squad:ripley,squad:backend) - Lead auto-triages incoming issues — analyzing, labeling, and delegating to the right member
- Squad members pick up and complete assigned issues via Copilot coding agent
- Auto-configure the repo for issue watching when a squad is initialized
Proposed Approach
Layer 1: Label Infrastructure
- A GitHub Actions workflow (
sync-squad-labels.yml) that reads.ai-team/team.mdand auto-createssquad:{name}labels (one per member, plus a generalsquadlabel for untriaged issues) - Labels are created/synced whenever
team.mdchanges (push trigger) or onworkflow_dispatch - Color-coded labels for visual distinction
Layer 2: Issue Triage Workflow
- A GitHub Actions workflow (
squad-triage.yml) triggered by thesquadlabel being applied to an issue - The workflow invokes the Lead agent to triage: read the issue, analyze it, assign the correct
squad:{member}label(s), and comment with a triage summary - The Lead can reassign by swapping labels
Layer 3: Issue Pickup & Work
- A GitHub Actions workflow (
squad-issue-assign.yml) triggered when asquad:{member}label is applied - Triggers a Copilot coding agent session for that specific member to work the issue
- The coordinator prompt is updated to check for assigned issues at session start
- Members comment on the issue with progress/completion updates
Layer 4: Init-Time Setup
index.jsupdated to install the new workflow files duringnpx github:bradygaster/squad- The
upgradecommand also updates these workflows - New workflow templates added to
templates/
Implementation Todos
- Create
sync-squad-labels.ymlworkflow — reads team roster, creates/updatessquad:{name}labels via GitHub API - Create
squad-triage.ymlworkflow — triggered bysquadlabel, invokes Lead agent for triage - Create
squad-issue-assign.ymlworkflow — triggered bysquad:{member}label, triggers Copilot coding agent - Update
squad.agent.md— add issue awareness at session start - Update
index.js— copy workflow files during init/upgrade - Update
templates/routing.md— add issue routing rules - Add tests for new init/upgrade behavior
- Update README.md with documentation
Notes
- The
squadlabel (no member suffix) is the "inbox" — untriaged issues squad:{name}labels are per-member assignments- The Lead performs triage and delegates to the right member
- Members can reassign by swapping labels
- Requires
issues: writeandcontents: readpermissions - Copilot coding agent must be enabled on the repo (documented as prerequisite)
/cc @spboyer
Metadata
Metadata
Assignees
Labels
No labels
Activity
feat: add issue assignment and auto-triage for squad members
test: add personal squad unit and integration tests (#508)
test: RED TDD verification for hung-agent-watchdog (#4) and subagent-…
test: add personal squad unit and integration tests (#508)
test: add personal squad unit and integration tests (#508) (#541)
test: add concurrent write tests for StorageProvider
feat: add StorageError type to sanitize filesystem error paths
feat: extract watchdog scripts from corrupted branches (filter, extra…
Scribe: Merge inbox decisions, mark SR17 TAXII mTLS as false positive
feat(mcp): Phase 1 - RunContext infrastructure and agent-lifecycle mu…
fix: Address all 6 blockers from multi-run review
docs: Multi-run isolation implementation complete
feat(cli): Sims 08b revision — guard harmonization, threading, path v…
Scribe: Archive Phase B piece 08b Sims revision + merge inbox decisio…
feat(watch): opt-in work claims for multi-machine squad watch (ADR-00…