Skip to content

PRD: Squad TypeSpec Emitters — @bradygaster/typespec-squad + copilot (Phase 2 of #511) #517

Closed

Description

@diberry

PRD: Squad TypeSpec Emitters — @bradygaster/typespec-squad and @bradygaster/typespec-squad-copilot

Depends on: #511 (@agentspec/core must ship first)
Author: Dina's Squad (Flight, EECOM, CONTROL)
Status: Architecture complete, ready for implementation after #511 merges
Related: #485 (Agent Spec), #332 (A2A Protocol)


Problem

Squad's squad.config.ts → squad build → .squad/ pipeline works but is TypeScript-only. A TypeSpec-based definition would give compile-time validation, single-source-of-truth, and portability via @agentspec/core.

Solution — two packages

@bradygaster/typespec-squad — Squad extensions that inherit @agentspec/core

  • Adds decorators: @casting (universe, castingName), @routing (pattern, agents, tier), @ceremony, @team
  • Emits: charter.md, team.md, routing.md, casting/registry.json
  • Peer depends on @agentspec/core

@bradygaster/typespec-squad-copilot — Copilot SDK target

  • Adds decorators: @model (Copilot model selection)
  • Emits: squad.config.ts, copilot-instructions.md, .github/agents/ governance
  • Peer depends on @bradygaster/typespec-squad

Architecture

@agentspec/core (Phase 1, #511) | +-- @bradygaster/typespec-squad <- THIS ISSUE | Adds: @casting, @routing, @ceremony, @team | Emits: charter.md, team.md, routing.md | +-- @bradygaster/typespec-squad-copilot <- THIS ISSUE Adds: @model Emits: squad.config.ts, copilot-instructions.md

Key decisions (from team review)

  • Casting stays in Squad layer (not base) — implementation flavor, not universal
  • @model is Copilot-specific (not base or Squad)
  • Parallel path to existing squad build — not a replacement
  • tsp compile never embedded in squad build (no transitive dep on all users)
  • Phase 2 generates AgentDefinition TypeScript type from TypeSpec into builders/generated/types.ts

Future emitters (documented, not built here)

  • @bradygaster/typespec-squad-mcp — MCP server scaffolding
  • @bradygaster/typespec-squad-a2a — A2A Agent Card and protocol types

Effort estimate

~2.5 weeks (corrected from 1.5 by EECOM review — sub-emitter split and squad.config.ts codegen add complexity)

Full PRD

Complete PRD v2 with test strategy, security requirements, and all 29 review items: .squad/decisions/inbox/pao-agentspec-typespec-prd-v2.md on the dev branch.


squad obo dina

Activity

  1. diberry commented on Mar 22, 2026

    @diberry
    ContributorAuthor

    squad obo dina — @bradygaster Phase 2 of the TypeSpec agent spec work. Depends on #511 (@agentspec/core). Dina would like to own this one too. Full architecture and PRD are on the dev branch.

  2. diberry commented on Mar 23, 2026

    @diberry
    ContributorAuthor

    Moved to dedicated repo

    Phase 2 Squad TypeSpec emitters now live at diberry/typespec-agent-squad.

    Monorepo structure with:

    • @bradygaster/typespec-squad\ — casting, routing, ceremony decorators
    • @bradygaster/typespec-squad-copilot\ — Copilot SDK model selection

    Own Squad team initialized with architectural decisions from the PRD. Closing this issue — work continues there.

    squad obo dina

  3. diberry commented on Mar 23, 2026

    @diberry
    ContributorAuthor

    Closing — moved to diberry/typespec-agent-squad

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