Skip to content

Feature: Issue Assignment & Auto-Triage for Squad Members #4

Closed

Description

@spboyer

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

  1. Tag GitHub issues with labels that route them to specific squad members (e.g., squad:ripley, squad:backend)
  2. Lead auto-triages incoming issues — analyzing, labeling, and delegating to the right member
  3. Squad members pick up and complete assigned issues via Copilot coding agent
  4. 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.md and auto-creates squad:{name} labels (one per member, plus a general squad label for untriaged issues)
  • Labels are created/synced whenever team.md changes (push trigger) or on workflow_dispatch
  • Color-coded labels for visual distinction

Layer 2: Issue Triage Workflow

  • A GitHub Actions workflow (squad-triage.yml) triggered by the squad label 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 a squad:{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.js updated to install the new workflow files during npx github:bradygaster/squad
  • The upgrade command also updates these workflows
  • New workflow templates added to templates/

Implementation Todos

  • Create sync-squad-labels.yml workflow — reads team roster, creates/updates squad:{name} labels via GitHub API
  • Create squad-triage.yml workflow — triggered by squad label, invokes Lead agent for triage
  • Create squad-issue-assign.yml workflow — triggered by squad:{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 squad label (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: write and contents: read permissions
  • Copilot coding agent must be enabled on the repo (documented as prerequisite)

/cc @spboyer

Activity

  1. added a commit that references this issue on Feb 10, 2026
    ef01c44
  2. added a commit that references this issue on Mar 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions