Swarm-Coding with Multiple Background Agents for Large-Scale Code Maintenance

faire · E-commerce · 2025 · source Agentic: yes · promotional bias: med · source-backed · extracted with prompt 0.5.6 (schema v2)

Generated from extraction.json — do not edit by hand. Every claim cites verbatim source evidence; stated means the quote directly asserts the claim, implied means it supports it indirectly.

Problem

Domain: Large-scale software maintenance and developer productivity

Faire wanted to automate repetitive engineering maintenance such as expired feature-flag cleanup and test migrations without blocking teams on manual developer time, while still keeping pull requests reviewable and connected to existing Slack, Jira, GitHub, and CI workflows.

Constraints:

Architecture

Faire implemented swarm-coding with GitHub Copilot background agents, custom instructions, MCP servers, Slack/Jira delegation, and review automation. A Slackbot or other context creates issues, MCP tools expose task and state context, Copilot creates PRs in parallel, and CI/review automation feeds build failures and readiness signals back into the workflow.

Diagram confidence: explicit (topology described by the source).

flowchart LR
  fairey_slackbot["Fairey Slackbot"] --> mcp_assignment_tool["MCP assignment tool"]
  slack_and_jira_state["Slack and Jira state"] --> mcp_assignment_tool
  mcp_assignment_tool --> github_copilot_background_agents["GitHub Copilot background agents"]
  prompt_templates["Prompt templates"] --> github_copilot_background_agents
  github_copilot_background_agents --> pull_request_automation["Pull request automation"]
  pull_request_automation --> slack_and_jira_state
Drag to pan · scroll or use +/− to zoom · reconstructed from the source's described component topology

Components

Component Role Interacts with
Fairey Slackbot User-facing orchestration surface for scheduling and requesting coding-agent work. MCP assignment tool, Slack and Jira state
MCP assignment tool Server tool that delegates GitHub issues to Copilot background agents from Slack, Jira, or Cursor. Fairey Slackbot, GitHub Copilot background agents, Slack and Jira state
GitHub Copilot background agents Autonomous workers that create and update pull requests for scoped maintenance tasks. MCP assignment tool, Prompt templates, Pull request automation
Prompt templates Generalized task instructions with variables that narrow each agent's work. GitHub Copilot background agents
Slack and Jira state Existing coordination systems used to track in-flight work and avoid duplicate tasks. Fairey Slackbot, MCP assignment tool
Pull request automation Review, CI, and notification rules that route agent PRs safely. GitHub Copilot background agents, Slack and Jira state

Data flow

Users or scheduled jobs identify maintenance tasks in Jira or Slack. MCP tools assign GitHub issues to Copilot background agents, which create placeholder PRs and iterate. Build and review automation summarizes failures, controls review routing, and notifies the originating Slack thread so humans can inspect and approve changes.

4 supporting quotes
“GitHub Copilot’s background agent is an autonomous workflow that will generate a pull request when you assign it to a GitHub issue.”article, stated
“we’ve wired this into our MCP (Model Context Protocol) Servers, allowing us to trigger the agent”article, stated
“Eventually, it will consider its changes ready and request review from the user that assigned it to the issue.”article, stated
“Summarize the build failures for Copilot — automatically surfaces problems to Copilot to iterate.”article, stated

Why this architecture

Faire used a swarm of background agents because large maintenance programs can be decomposed into many scoped tasks, while MCP and existing collaboration tools keep the agents grounded in state and process.

3 supporting quotes
“it enables parallelization, as we can fire off multiple asynchronous workers, having AI swarm on the tasks while the humans focus on the bigger picture”article, stated
“By leveraging MCP tools, we’re able to re-use a prompt template to assign multiple tasks to the background agent in parallel.”article, stated
“In our experience, the best way to achieve this is using the same ticketing system that your engineers use — at Faire, that’s Jira.”article, stated

Models used: GitHub Copilot background agents · MCP-enabled assistants

Scale

Alternatives considered (roads not taken)

Manual engineer-led cleanup for every maintenance task

Rejected because: It consumed engineering time on tedious work and delayed lower-priority fixes.

“our engineers have historically spent countless hours on tedious tasks, like cleaning up expired feature flags or migrating test infrastructure”article, stated

Use one agent task at a time

Rejected because: Swarming gains come from parallelizing separate task slices across multiple background agents.

“With background agents, the swarming isn’t done by mobilizing large numbers of your workforce — it’s done by assigning multiple tasks concurrently to the background agents.”article, stated

Patterns

multi-agent-orchestration (agent coordination)

Faire coordinated multiple background agents in parallel to swarm large maintenance programs.

“we use “swarm-coding” — a method of coordinating multiple AI agents — to dramatically scale our engineering workflows.”article, stated

tool-use-orchestration (tooling)

MCP servers let agents use Jira, Slack, Buildkite, and assignment tools as part of the coding workflow.

“In practice, we have MCP servers for Notion, Slack, Jira and Buildkite — each of which can be leveraged to provide additional context and state for the agent to use.”article, stated

human-in-the-loop-gate (review)

Copilot-authored PRs require human review before owner review and merge.

“* Require two reviews on PRs authored by Copilot — the assignee’s initial review, plus another human.”article, stated

Tradeoffs

Coordinate many background agents rather than wait for human-driven maintenance queues.

Chose Parallel background-agent swarm over Sequential manual maintenance.

Rationale: Parallel agents reduced burden on engineers and made large-scale changes faster.

“freeing up our teams to focus on innovation. In this post, we’ll share how we use “swarm-coding” — a method of coordinating multiple AI agents”article, stated

Integrate agents into existing tools instead of creating a separate AI work queue.

Chose Slack, Jira, GitHub, Buildkite, and MCP integration over Standalone agent dashboard.

Rationale: Existing systems already hold task state, approvals, and operational context.

“In our experience, the best way to achieve this is using the same ticketing system that your engineers use — at Faire, that’s Jira.”article, stated

Gotchas (what bit them)

Background agents need task state or duplicate and stale work become hard to manage.

Root cause: Parallel coding agents can leave incomplete work across Slack threads, Jira issues, and PRs.

Resolution: Use the same ticketing system and MCP search tools to surface in-flight work.

“To swarm effectively, it’s important that any incomplete work is known to the agent (or human!) that is orchestrating the delegation of tasks.”article, stated

Prompt templates can waste context if they do not narrow agents to the right files.

Root cause: A generalized background agent may burn context searching the codebase.

Resolution: Use prompt templates with variables for the task specifics.

“Have variables in the template for the specifics that will allow the agent to quickly hone in on the relevant files or code, rather than burning context searching the codebase.”article, stated

Autonomous PRs still need readiness and failure handling.

Root cause: Agents may open PRs before they are ready or hit CI failures without targeted feedback.

Resolution: Require review sequencing and automatically summarize build failures back to Copilot.

“Don’t request review from code owners until the PR has at least one review — avoids prematurely pulling in domain experts.”article, stated

Evaluation

Faire measured adoption, merged Copilot PRs, PR volume, and self-reported time saved, while using PR review and CI signals as operational controls.

Metrics: 18% of engineering team using Copilot. · Over 500 Copilot PRs merged. · 25% average PR volume increase for Copilot users. · 39.6 minutes average reported time saved per PR.

3 supporting quotes
“We’ve had GitHub Copilot available to the team for just over a month, and we’ve measured adoption and time saved in the following ways”article, stated
“* 18% of the engineering team are Copilot users (have merged at least one Copilot PR).”article, stated
“* Average time saved reported is 39.6 minutes per PR.”article, stated

Outcomes

The article reports early-stage adoption after just over a month, with 18% engineering-team usage and over 500 Copilot PRs.

3 supporting quotes
“Our adoption of these background agents is in very early stages, but we’re already blown away by the initial metrics. We’ve had GitHub Copilot available to the team for just over a month, and we’ve measured adoption and time saved in the following ways:”article, stated
“* We’ve merged over 500 Copilot pull requests.”article, stated
“Copilot user’s PR volume rose 25% on average (or, 41% for DX’s TrueThroughput metric).”article, stated