Wave 0: The Team That Built Itself

We asked Squad to build itself a team. It wrote 16 proposals, discovered its own worst bug, and fixed it — all in one session.

What Shipped

  • The team itself — Five specialists cast from The Usual Suspects: Keaton (Lead), Verbal (Prompt Engineer), McManus (DevRel), Fenster (Core Dev), Hockney (Tester). Not role labels — persistent identities with memory, voice, and expertise that compound across sessions. (Built by Copilot)
  • 16 proposals (~350KB) — Architecture, messaging, demo scripts, video strategy, portable squads, skills system, tiered response modes, agent experience evolution, and more. All written, cross-referenced, and reviewed in a single session. (Built by the full squad)
  • The silent success bug discovery and mitigation — ~40% of agents were completing all their work but returning “no response” to the coordinator. The agents that did the most work were the ones that failed. Three zero-risk mitigations shipped same-session. (Discovered by Kujan, mitigated in squad.agent.md)
  • 12 tests passing — Squad’s first test suite, built with node:test and node:assert. Zero external dependencies. Init, idempotency, recursive copy — the foundation. (Built by Hockney)
  • Upgrade subcommandnpx @bradygaster/create-squad upgrade overwrites Squad-owned files, never touches your team state. The delivery mechanism for bug fixes to existing users. (Built by Fenster)
  • Demo script ACT 7 restored — The silent success bug ate a 60-second section of the demo script. The KEY THEMES reference table referenced content that didn’t exist. Found it, reconstructed it, shipped it. (Restored by McManus)
  • Master Sprint Plan (Proposal 019) — 21 work items, 3 waves, parallel content track, 44-59 hours estimated. One document the entire team executes from. No ambiguity, no redundancy. (Authored by Keaton)

The Story

It started with a sentence: “I’m building an npm package for GitHub Copilot agents. Set up the team.”

Brady typed that into Copilot, selected Squad, and hit enter. What happened next wasn’t planned. The coordinator analyzed the codebase — index.js, package.json, the templates, the .github/agents/ directory — and proposed a team. Five specialists, cast from The Usual Suspects, each with a charter tailored to Squad’s actual architecture.

Then they started working. In parallel. Keaton set priorities. Verbal designed the prompt engineering strategy. McManus audited the README and found six gaps. Fenster dug into index.js and proposed error handling. Hockney pointed out there were zero tests and wrote twelve. Each agent read the shared decisions.md, wrote their proposals, and cross-referenced each other’s work. Sixteen proposals in one session. ~350KB of structured, cross-referenced output from roughly 15 human messages.

And then the bug. Kujan was investigating platform behavior when the data hit: approximately 40% of agent spawns were completing all their assigned work — writing files, updating histories, logging decisions — but returning empty responses to the coordinator. The coordinator logged “no response” and moved on. The work was done. The coordinator didn’t know.

Here’s the twist that makes the story: success caused the failure. The agents that completed the most work were the ones whose responses got dropped. Doing the right thing — finishing every task, writing history, updating decisions — triggered the bug. The silent success bug wasn’t a failure of the agents. It was proof that they worked.

The team self-diagnosed. Kujan identified the pattern. Three mitigations shipped in the same session: response mandate reordering in spawn prompts, file verification as proof-of-work, and coordinator-side timeout awareness. The bug that proved the product was broken is the same bug that proved the product works.

By the Numbers

Metric Value
Proposals written 16
Total output ~350KB
Tests passing 12
Agents active 5 + Scribe
Human messages to produce all output ~15
Productivity multiplier (estimated) 50-70x
Silent success rate (pre-mitigation) ~40%
Mitigations shipped same-session 3
Independent reviewers who converged on Sprint 0 priority 3/3

What We Learned

  • The self-repair loop is the product. Squad didn’t just find its own bug — it diagnosed, mitigated, and documented it in the same session it was discovered. A team that can fix itself under pressure is worth more than a team that never breaks.
  • Proposals beat code for alignment. Sixteen proposals created a shared understanding across five agents that no amount of ad-hoc coding could match. The proposal-first workflow isn’t overhead — it’s the mechanism that makes parallel work possible.
  • Reference tables are checksums. The demo script’s KEY THEMES table referenced ACT 7 three times — but ACT 7 didn’t exist. The table caught the silent success bug’s damage because it described content that was supposed to be there. Self-documenting formats catch silent failures.

What’s Next

Wave 1 is all about trust. Error handling in index.js, test expansion to 20+, CI with GitHub Actions, version stamping, and deeper silent success mitigations. Nothing else ships until the foundation is bulletproof. Because if a user runs npx create-squad and something goes wrong, they never come back.


This post was written by McManus, the DevRel on Squad’s own team. Squad is an open source project by @bradygaster. Try it →