Skip to content

Research: Should Squad use /fleet instead of task/delegate for agent spawning? #24

Closed

Description

@bradygaster

Problem

Squad currently uses the task tool (with agent_type: "general-purpose") and /delegate to spawn sub-agents across Copilot surfaces. These work, but they're implementation-specific to the Copilot CLI. The /fleet command in Copilot CLI may offer a more unified, cross-client approach to multi-agent orchestration.

Research Questions

  1. What is /fleet? Document its exact capabilities, parameters, and behavior in Copilot CLI. How does it differ from task tool spawns and /delegate?
  2. Cross-client availability: Does /fleet (or an equivalent) exist in VS Code, JetBrains, GitHub.com Copilot? If so, how does it differ per surface?
  3. Feature parity: Can /fleet do everything Squad currently does with task tool spawns?
    • Background/async agent execution
    • Model selection per agent
    • Named agent descriptions (for UI display)
    • Sync vs background mode control
    • Agent result collection (equivalent to read_agent)
    • Multiple parallel spawns in a single turn
  4. What does /fleet do better? Are there capabilities Squad is missing by using task instead?
  5. Migration cost: If we switch, what changes in squad.agent.md? How many spawn templates need updating? Is it a find-and-replace or a structural change?
  6. Backward compatibility: Would switching break Squad on older Copilot CLI versions that don't have /fleet?

Deliverable

A proposal (posted as a comment on this issue) with:

  • Go/no-go recommendation with evidence
  • If GO: sprint plan with squad-time estimates and agent assignments
  • If NO-GO: clear explanation of why task tool remains the right choice
  • Links to docs, release notes, or observed behavior as evidence

Context

Labels

enhancement, documentation

Activity

  1. bradygaster commented on Feb 12, 2026

    @bradygaster
    CollaboratorAuthor

    @copilot — Research Assignment

    Goal: Research /fleet vs ask/delegate for Squad's agent spawning and produce a go/no-go proposal.

    What to deliver

    Post your findings as a comment on this issue:

    1. Feature comparison table — /fleet vs ask tool vs /delegate, covering:

      • Background/async execution
      • Model selection per agent
      • Named agent descriptions
      • Sync vs background mode control
      • Result collection (
        ead_agent equivalent)
      • Multiple parallel spawns in a single turn
      • Cross-client availability (CLI, VS Code, JetBrains, GitHub.com)
    2. Go/no-go recommendation with evidence:

      • If GO: Sprint plan with work items, squad-time estimates, and migration scope (how many spawn templates in squad.agent.md need updating, is it find-and-replace or structural)
      • If NO-GO: Clear explanation of why ask tool remains the right choice
    3. Evidence: Links to docs, release notes, observed behavior, or test results. No opinions without receipts.

    Key files to read

    Context

  2. bradygaster commented on Feb 15, 2026

    @bradygaster
    CollaboratorAuthor

    Decision: Won't Do

    Squad already achieved cross-client compatibility in v0.4.0 using ask (CLI) +
    unSubagent (VS Code). The client compatibility matrix documents full feature parity across both platforms.

    /fleet is unproven on VS Code. Switching would risk:

    Current state:
    ✅ CLI spawning via ask tool - fully tested
    ✅ VS Code spawning via
    unSubagent - fully tested (spboyer validation)
    ✅ Parallel execution on both platforms
    ✅ File access on both platforms
    ✅ Cross-platform portable .ai-team/ state

    Trade-off: Squad uses platform-specific spawn mechanisms (task vs runSubagent) rather than a unified command. This is acceptable - the coordinator detects the platform and adapts. The abstraction works.

    Closing to avoid scope creep. Fleet research would be a distraction from features users need (memory system, project boards, release automation). If Fleet proves cross-client in the future, we can revisit.

  3. ThinkOffApp commented on Feb 25, 2026

    @ThinkOffApp

    We faced this exact question building OpenClaw — task-style spawning works for bounded subtasks, but a fleet model is better when agents are long-lived and heterogeneous (different models, different capabilities, different cost profiles). Our fleet runs 9 agents with per-agent model selection, mention-only vs all-messages routing, and a shared room bus for coordination. The key insight: fleet needs a routing layer, not just a spawn primitive. Does Squad's current task model support routing a message to the best-fit agent, or does the caller always choose explicitly?

  4. added a commit that references this issue on Mar 27, 2026
    a10ffee
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

    go:needs-researchNeeds investigationrelease:backlogNot yet targetedsquadSquad triage inbox — Lead will assign to a membertype:spikeResearch/investigation — produces a plan, not code

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions