Skip to content

triage --monitor-teams/--monitor-email: missing preflight check for gh copilot extension #880

Closed

Description

@Datyedyeguy

Bug

squad triage --monitor-teams --monitor-email fails silently when gh copilot CLI extension is not installed. No preflight check, no actionable error message.

This is related to but distinct from #874 (which covers the --message vs -p flag mismatch when gh copilot IS installed).

Environment

  • @bradygaster/squad-cli: 0.9.4-insider.1
  • OS: Windows 11
  • Node: v22.21.0
  • GitHub CLI: authenticated and working
  • gh copilot: NOT installed

Repro

  1. Ensure gh copilot extension is NOT installed
  2. Run:
squad triage --monitor-teams --monitor-email

Actual

The monitors fail with:

unknown command "copilot" for "gh"

No indication that gh copilot is a prerequisite. squad doctor does not flag the missing extension. squad triage --help does not mention it.

Expected

  1. squad doctor should validate gh copilot is available when --monitor-teams or --monitor-email capabilities are configured
  2. squad triage should emit a clear error: "Teams/email monitoring requires the GitHub Copilot CLI extension. Install with: gh extension install github/gh-copilot"
  3. The core triage loop should continue working (GitHub issue triage) even if monitors fail graceful degradation, not silent failure

Root Cause

monitor-teams.js and monitor-email.js shell out to gh copilot --message ... without checking if the extension exists first. No requires field in the capability definitions either.

Suggested Fix

  1. Add a preflight check in each monitor capability: gh extension list | grep copilot
  2. Add gh copilot to squad doctor checks (as info/warning, not hard failure)
  3. Document the prerequisite in README under the triage section
  4. Consider making monitors work without gh copilot by using MCP tools directly when available (Teams MCP, WorkIQ MCP) this would be a more robust architecture than shelling out to gh copilot

Activity

  1. added
    bugSomething isn't working
    squadSquad triage inbox — Lead will assign to a member
    on Apr 8, 2026
  2. github-actions commented on Apr 8, 2026

    @github-actions
    Contributor

    🏗️ Squad Triage — Flight (Lead)

    Issue: #880 — triage --monitor-teams/--monitor-email: missing preflight check for gh copilot extension
    Assigned to: FIDO (Quality Owner)
    Reason: Issue relates to testing/quality work

    @copilot evaluation: 🔴 Not suitable — issue involves work outside the coding agent's capability profile.

    Team roster:

    • Flight (Lead) → label: squad:flight
    • Procedures (Prompt Engineer) → label: squad:procedures
    • EECOM (Core Dev) → label: squad:eecom
    • FIDO (Quality Owner) → label: squad:fido
    • PAO (DevRel) → label: squad:pao
    • CAPCOM (SDK Expert) → label: squad:capcom
    • CONTROL (TypeScript Engineer) → label: squad:control
    • Surgeon (Release Manager) → label: squad:surgeon
    • Booster (CI/CD Engineer) → label: squad:booster
    • GNC (Node.js Runtime) → label: squad:gnc
    • Network (Distribution) → label: squad:network
    • RETRO (Security) → label: squad:retro
    • INCO (CLI UX & Visual Design) → label: squad:inco
    • GUIDO (VS Code Extension) → label: squad:guido
    • Telemetry (Aspire & Observability) → label: squad:telemetry
    • VOX (REPL & Interactive Shell) → label: squad:vox
    • DSKY (TUI Engineer) → label: squad:dsky
    • Sims (E2E Test Engineer) → label: squad:sims
    • Handbook (SDK Usability) → label: squad:handbook
    • Ralph (Work Monitor) → label: squad:ralph
    • @copilot (Coding Agent) → label: squad:copilot

    To reassign, remove the current squad:* label and add the correct one.

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

    bugSomething isn't workinggo:needs-researchNeeds investigationsquadSquad triage inbox — Lead will assign to a member

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions