One system, three repos: a six-phase AI development pipeline, the MCP server that drives real devices for it, and the stack skill plugins it dispatches to.
Drives a Jira issue or GitHub URL to a merged PR in one command. It ships as three repos because they release on different clocks: the pipeline changes weekly, the MCP server only when a device capability lands, and each stack plugin only when its own skills move. Installing the pipeline is enough - it pulls the other two. Model routing is off until you arm it: /multi-agent:route-on picks which rung of the fable → opus → sonnet → haiku ladder a call lands on, route-off keeps the rules so re-arming asks nothing, and route-status prints the honest limit rather than hiding it - scope cannot be the whole host session, which is a schema gate rather than a convention, and a rung on another provider is refused at dispatch because no call site sends a model request itself.
One product, three repos - they release on different clocks.
Six phases from an issue to a merged PR, 65 slash commands mirrored across Claude Code, Codex CLI, Copilot CLI, and 10 sub-agents it dispatches to. Owns the phase contract every other number on this page is generated from.
197 MCP tools over stdio: drive an iOS Simulator or Android emulator, read the accessibility tree, diff a screenshot against a Figma frame, pull crash logs, audit an archive before submission. Released on its own clock, because a device capability lands when it lands.
A Claude Code plugin marketplace: 253 skills across six toolkits (iOS, Android, Frontend, Backend, Common, Analyst). The pipeline dispatches component work to whichever stack plugin the repo has enabled, so engineering knowledge versions separately from the runner.
Claude/multi-agent "#316"Copilotmulti-agent "#316"Claude/multi-agent "PROJ-1234"Copilotmulti-agent "PROJ-1234"Claude/multi-agent:autopilot "#316"Copilotmulti-agent-autopilot "#316"Claude/multi-agent:resumeCopilotmulti-agent resumeClaude/multi-agent:analysis "PROJ-2001"Copilotmulti-agent-analysis "PROJ-2001"ClaudeStep 1b → CorporateCopilotStep 1b → Corporatesetupjiraissuestatuslog #Nresume #Nkill #Nreviewrefactorchannelsteststack [platform]language [en|tr]scansearchsyncupdateclear-logspurgehelptesttest "dark mode"test "accessibility"test "dynamic type"test "store-ready"test "biometric"test "performance"stack iosstack androidstack backendstack mobilestack allDeep dive: architecture across three CLIs · install transforms, the six phases, every gate, and the shared state root
Issue → analysis → plan (approval gate) → TDD dev → parallel review + triage → test → commit/PR → report. Every retry loop is bounded (hard-stop at 3).
Three reviewers on every host - only slot 2 differs, Opus on Claude Code and GPT-5.4 elsewhere; triage (Fable on Claude Code, Opus on Copilot CLI) filters false positives. Findings cite stable rule IDs, so a review says SEC-01 instead of a preference. Blocking findings can be confirmed by an auto-written repro test.
Build, lint, test and secret gates run before AI review, and a 'passed' claim needs a log behind it. The applicable rule IDs are written to disk first, so "was this applied completely" has a fixed denominator.
The analysis command asks which standard the document follows: a development handoff, or a requirements document with an IG → UC → FG spine and three traceability matrices. Both read the same evidence, so they cannot drift apart.
The toolkit server gives the pipeline eyes and hands on a running app: tap, swipe and type on iOS Simulator and Android Emulator, read the accessibility tree, diff screenshots, pull crash logs, audit an archive before submission.
Engineering knowledge ships as marketplace plugins rather than inside the pipeline, enabled per repo. Their knowledge layer is generated from one authoring source and version-bumped only when a skill set changes.
Per-repo worktrees, platform identity routing, and file-based state so tasks resume across sessions. A task worktree removes itself once its PR is open, keeping the branch without checking it out, so your own working copy is never disturbed.
Per-phase token ledger, a cost breakdown naming the top driver, budget ceilings, and a model fallback contract. A learnings ledger keeps rejected review preferences from being re-flagged.
| Tool | Description |
|---|---|
ios (42) | iOS Simulator control: boot, install, tap, swipe, type, screenshot, accessibility audit, crash logs, leaks, xcodebuild and xcresult, App Store and TestFlight validation. |
web (35) | A real browser page: navigate, click, type, read, evaluate, screenshot, an accessibility snapshot whose refs the other tools accept, console and network capture with request detail, plus one-shot scraping with a shared cache and change tracking, sitemap-aware crawling with llms.txt, request mocking, offline mode, the clock and ARIA snapshot assertions. |
android (33) | Android emulator and device control over adb: install, launch, input, UI tree, logcat, meminfo, locale and font scale, APK audit, screen recording. |
store (30) | App Store Connect and Google Play Console from one family: apps, builds, reviews and replies, subscription prices per country, vitals, purchase checks and a bundle dry run, plus search, schema and call over every other store operation. Writes return a preview until confirmed, and keys stay in the Keychain. |
vphone (10) | Virtual iPhones through the vphone-launchpad CLI you install: host readiness, machine list, start and stop of existing machines, screenshot, tap, swipe, key, accessibility tree and an allowlist of read-only guest calls. Destructive methods are refused. |
code (8) | Language-server intelligence over a checkout: definitions, references, hover, diagnostics, workspace and document symbols, without loading files into context. |
design (7) | Mock-mode versus Figma: launch the app in mock state, enumerate the variants, compare pixels, spacing, typography and colour, and report what differs. |
repo (6) | Read-only access to the product's other repositories at their latest integration branch: resolve to a pinned sha, grep, read, list, log, and look up join keys across up to twenty repos at once, with file text fenced as untrusted and tokens sent only to the hosts setup bound them to. |
voice (6) | A local voice host over a Unix socket: speak, ask and hear the answer, stop, act and answer permission prompts by voice. The socket must be the user's own, and speech text is never logged. |
context (4) | The same offloaded file, also indexed: SQLite FTS5 ranks passages with bm25 and answers in about 50-100 tokens which part is about what, instead of grepping for which lines contain a string. Long text can also be paged into images, with the measured token trade-off. |
pass (4) | Apple Wallet passes: build, sign, inspect and validate, with the signing passphrase resolved from the credential store rather than an argument. |
agent (2) | Offloaded output: a large tool result is written to a file and queried, so the transcript never carries it. |
document (2) | Synthetic passport, residence permit and visa fixtures for MRZ scan tests: ICAO 9303 lines with correct check digits, rendered on a plain canvas with a permanent TEST SPECIMEN label and nothing that imitates a real document. |
llm (2) | Simple text work handed to free-tier models instead of Claude: summaries, extraction against a JSON Schema, labels, translation and drafts, over Groq, Mistral, Gemini, OpenRouter free models, Z.AI and a local Ollama. Every answer is checked against its source before it is returned, and when none passes the caller does the task itself. |
research (2) | Provider-backed search (Brave, Perplexity, arXiv) and cited answers with quick, pro, reasoning and deep modes, recency and academic filters and follow-up threads. Keys are read from the environment at call time and go into a header; a literal key is not an accepted argument. |
security (2) | Offline security arithmetic: a CVSS 3.1 base score and band computed from the vector, and a lockfile parsed into an ecosystem, name and version inventory. Neither tool reaches the network; a CVE lookup is a separate step. |
media (1) | Key frames out of a screen recording, near-duplicates dropped, so a video the toolkit just made becomes something a model can look at. |
ui (1) | Resolves a locator by id, role, label or text on iOS, Android or the web and says whether it matched exactly one element, none or several, without acting on it. |
| Claude Code (colon-form) | Copilot CLI (dash-form) | Description |
|---|---|---|
| Development | ||
/multi-agent "task" | multi-agent "task" | Full six-phase pipeline with worktree + interactive confirmations. |
/multi-agent:autopilot "task" | multi-agent-autopilot "task" | Same phases, no confirmations: defaults are resolved and logged, it works in a separate checkout, and the claim gates run. Review blockers and the build cap still stop it. |
/multi-agent:scaffold <stack> <name> | multi-agent-scaffold <stack> <name> | A new iOS, Android, web or backend project from the enabled toolkit's scaffold skill, proven to build, test and lint before its first commit. No remote is created. |
/multi-agent:jira | multi-agent-jira | Browse your open Jira issues in a terminal picker and launch. |
/multi-agent:issue | multi-agent-issue | Browse unassigned GitHub issues, auto-assign, and launch. |
| Analysis | ||
/multi-agent:analysis "feature" | multi-agent-analysis "feature" | A document, not code: Init → Analysis → Synthesis → Review → Publish → Report. |
/multi-agent:research <id> | multi-agent-research <id> | Research an item's open gaps from the tracker, linked docs and the repo before anyone is asked; a script decides which gaps closed. |
| Continuous | ||
/multi-agent:autopilot-on | multi-agent-autopilot-on | Pick the repos this machine watches; labelled issues then run unattended in a worktree and end at a draft PR a person reviews and merges. |
/multi-agent:autopilot-status | multi-agent-autopilot-status | What runs at which phase, what is queued, what waits for an answer, and the PRs opened today. |
/multi-agent:autopilot-off [--now] | multi-agent-autopilot-off [--now] | Remove the schedule; running work finishes and the repo selection is kept. --now also stops the current item. |
| Shared | ||
/multi-agent:review | multi-agent-review | Standalone parallel review on a branch diff or PR, with triage. |
/multi-agent:complaint-analysis [--file path] | multi-agent-complaint-analysis [--file path] | Customer-complaint triage: log evidence per transaction id + read-only repo correlation, then a client/bff root cause with a fix plan and dev prompt, or a routing recommendation to the service owner. |
/multi-agent:resume [#id] | multi-agent-resume [#id] | Resume a paused/failed task from its last completed phase (file-based state). |
/multi-agent:kill [#id] | multi-agent-kill [#id] | Delete a task's worktree + branch; logs are preserved. |
/multi-agent:prune-logs | multi-agent-prune-logs | Delete per-task logs (audit + metrics kept). Dry-run first. |
/multi-agent:garbage-collect | multi-agent-garbage-collect | Sweep leftover /tmp scratch + worktree residue. Dry-run first. |
/multi-agent:purge | multi-agent-purge | Full reset - every worktree, branch, state file and log. Double confirmation. |
/multi-agent:setup | multi-agent-setup | First-run wizard - tokens, Git identity, per-project routing. |
/multi-agent:help | multi-agent-help | Bilingual usage guide - 65 live commands, the questions Phase 0 asks, preferences. |