@mmerterden/multi-agent-pipeline 15.11.0 → 15.12.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +28 -1
- package/README.md +3 -3
- package/README.tr.md +3 -3
- package/install/_mcp-register.mjs +28 -3
- package/install/claude.mjs +1 -1
- package/install/codex.mjs +2 -2
- package/install/index.mjs +5 -5
- package/install/templates/copilot-instructions.md +2 -2
- package/package.json +3 -2
- package/pipeline/commands/archive-guard.md +6 -6
- package/pipeline/commands/multi-agent/design-check/SKILL.md +13 -13
- package/pipeline/commands/multi-agent/help/SKILL.md +8 -8
- package/pipeline/commands/multi-agent/refactor/SKILL.md +13 -13
- package/pipeline/commands/multi-agent/store-ready/SKILL.md +3 -3
- package/pipeline/commands/multi-agent/sync/SKILL.md +16 -16
- package/pipeline/commands/multi-agent/test/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/test-accessibility/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/test-dark-mode/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/test-dynamic-type/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/test-screenshots/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/testflight-validation/SKILL.md +1 -1
- package/pipeline/commands/sim-test.md +4 -4
- package/pipeline/multi-agent-refs/android-guide.md +1 -1
- package/pipeline/multi-agent-refs/audit-guide.md +1 -1
- package/pipeline/multi-agent-refs/cross-cli-contract.md +1 -1
- package/pipeline/multi-agent-refs/phases/phase-0-init.md +1 -1
- package/pipeline/multi-agent-refs/phases/phase-3-dev.md +1 -1
- package/pipeline/multi-agent-refs/phases/phase-5-test.md +4 -4
- package/pipeline/multi-agent-refs/refactor/dev-toolkit-research.md +1 -1
- package/pipeline/multi-agent-refs/rules.md +1 -1
- package/pipeline/multi-agent-refs/swiftui-guide.md +1 -1
- package/pipeline/preferences-template.json +3 -3
- package/pipeline/schemas/agent-state.schema.json +1 -1
- package/pipeline/schemas/prefs.schema.json +2 -2
- package/pipeline/scripts/pre-push-check.sh +89 -9
- package/pipeline/scripts/uninstall.mjs +22 -15
- package/pipeline/scripts/usage-report.mjs +2 -2
- package/pipeline/skills/.skills-index.json +3 -3
- package/pipeline/skills/shared/README.md +2 -2
- package/pipeline/skills/shared/core/apple-archive-compliance/SKILL.md +16 -16
- package/pipeline/skills/shared/core/multi-agent/SKILL.md +10 -15
- package/pipeline/skills/shared/core/multi-agent-design-check/SKILL.md +10 -10
- package/pipeline/skills/shared/core/multi-agent-help/SKILL.md +4 -4
- package/pipeline/skills/shared/core/multi-agent-refactor/SKILL.md +13 -13
- package/pipeline/skills/shared/core/multi-agent-sync/SKILL.md +8 -8
- package/pipeline/skills/shared/core/multi-agent-test/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-test-accessibility/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-test-dark-mode/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-test-dynamic-type/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-test-screenshots/SKILL.md +1 -1
- package/pipeline/skills/skills-index.md +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -16,6 +16,33 @@ Internal file-layout changes that don't affect the slash-command surface are sti
|
|
|
16
16
|
|
|
17
17
|
## [Unreleased]
|
|
18
18
|
|
|
19
|
+
## [15.12.2] - 2026-08-22
|
|
20
|
+
|
|
21
|
+
### Fixed
|
|
22
|
+
- **`grep -P` is banned in shell, and the ban is enforced.** Unlike the other divergences the portability gate tracks, this one has no guarded form: BSD grep has no `-P` at all, so it exits 2 with "invalid option", and the `2>/dev/null` that nearly every check carries turns that error into an empty result, which reads as "found nothing". A check written that way passes on every input including the one it was meant to catch. Two gates in this repo did exactly that, were handed a file with the defect deliberately planted in it, and reported a clean tree. The scan covers every shell file under `scripts/` and `lib/`, not only the shipped ones, because the two that broke were smoke gates that never ship - and a gate that cannot fail is worse than no gate, since it is trusted. The check opens by proving its own detector fires on a planted invocation.
|
|
23
|
+
- **Always-loaded context is back under budget with its designed headroom.** The fixed per-run load had reached 60000 of a 60000 ceiling, so the next edit to either tracked file would have broken the gate. The cause was the pattern the gate exists to catch: `core/multi-agent/SKILL.md` carried a full transcription of the Phase 0 contract, restating all eight steps that `refs/phases/phase-0-init.md` already defines, while its own text said the transcription "does not replace the contract, read the ref". Its citations into that ref had also drifted - `L221` now points at the token pre-check, not the branch picker it claimed. Every rule was verified present in the ref before cutting (per-repo branch picker, shared branch name with per-repo collision, per-repo identity, serial per-repo worktrees). What stays in the always-loaded file is the part that enforces rather than describes: the blocking exit gate and the credential-inventory rule. 2422 bytes reclaimed, load now 57576 of 60000. The ceiling was not raised.
|
|
24
|
+
|
|
25
|
+
## [15.12.1] - 2026-08-22
|
|
26
|
+
|
|
27
|
+
### Fixed
|
|
28
|
+
- **The pre-push gate no longer runs inside the push.** Git opens the connection to the remote before the hook fires, so the six-minute chain 15.12.0 wired in idled that connection until the server dropped it: the first two attempts to push the rename died on a broken pipe with every gate green. The hook is now verify-only and instant - it checks a stamp keyed to the exact tree (HEAD plus a hash of the working tree) and refuses the push when there is none. `npm run gate` produces the stamp. Refusing is the point: no stamp means nothing has verified this tree, and the reason this file exists is that nothing else will.
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
## [15.12.0] - 2026-08-22
|
|
33
|
+
|
|
34
|
+
### Changed
|
|
35
|
+
- **The companion MCP server is now `@mmerterden/multi-agent-toolkit-mcp` (v3.0.0), registered as `multi-agent-toolkit`.** The old name read as internal scaffolding; the server is standalone (three runtime dependencies, 83 tools, no coupling to any orchestrator) and the name now says which family it belongs to. The MCP tool namespace moves with it: every `mcp__dev-toolkit__*` reference across 24 files is now `mcp__multi-agent-toolkit__*`, because a host derives the tool prefix from the server name and the old prefix would have addressed a server that no longer answers.
|
|
36
|
+
- **Existing registrations are migrated, not duplicated.** A host keys its registration by name, so a rename does not upgrade an entry in place: without a migration an install ends up with both `dev-toolkit` (pointing at the now-frozen 2.26.0) and `multi-agent-toolkit`, two servers advertising the same 83 tools with the host choosing between them. The installer removes the legacy entry before adding the new one, and `uninstall` clears both names - "removes the pipeline's footprint" has to mean the footprint it ever had.
|
|
37
|
+
- Declared minimums move to `v3.0.0+`; 2.x only ever existed under the old package name.
|
|
38
|
+
|
|
39
|
+
### Migration
|
|
40
|
+
- `@mmerterden/dev-toolkit-mcp` stays published at 2.26.0 and is deprecated with a pointer. Nothing is unpublished, so a pinned consumer keeps resolving. The toolkit also keeps `dev-toolkit-mcp` as a second `bin` alias.
|
|
41
|
+
- A hand-registered client that the pipeline installer does not manage needs `<cli> mcp remove dev-toolkit` once.
|
|
42
|
+
|
|
43
|
+
### Fixed
|
|
44
|
+
- **`pre-push-check.sh` ran three of the eleven gate steps.** It was missing both linters, three of the four evals, `validate-prefs` and `scorecard`, and drove the smoke suites through the bare `for f in smoke-*.sh` loop that `run-smokes.mjs` was written to replace - the loop that cannot tell a passing suite from one that exited 0 having asserted nothing. It now runs `npm test`, defined once in `package.json` so the hook cannot drift behind the chain, plus eslint and the personal-data scan. Because a full run takes about six minutes and git has already opened the connection to the remote by the time the hook fires, the verdict is cached against the exact tree that produced it (HEAD plus a hash of the working tree): re-pushing an unchanged tree is instant, one edited byte re-runs everything. Without that, the first push after the fix died on a broken pipe with every gate green. Verified by planting a defect that only the previously-missing steps catch: the old subset reported 434 unit tests passing and a clean tree; the new gate blocked the push. The hook's header also claimed the repo has no CI, which stopped being true some time ago.
|
|
45
|
+
|
|
19
46
|
## [15.11.0] - 2026-08-21
|
|
20
47
|
|
|
21
48
|
### Changed
|
|
@@ -1800,7 +1827,7 @@ Requires `@mmerterden/dev-toolkit-mcp` >= v2.9.0 for the App Store audit path.
|
|
|
1800
1827
|
|
|
1801
1828
|
### Fixed
|
|
1802
1829
|
|
|
1803
|
-
- **Every `mcp__dev_toolkit__*` reference is now `
|
|
1830
|
+
- **Every `mcp__dev_toolkit__*` reference is now `mcp__multi-agent-toolkit__*`** (55
|
|
1804
1831
|
lines across 10 files). A host composes MCP tool names as
|
|
1805
1832
|
`mcp__<registered-server-name>__<tool>` and the server registers as
|
|
1806
1833
|
`dev-toolkit`, so the snake_case form named tools that do not exist. The worst
|
package/README.md
CHANGED
|
@@ -12,7 +12,7 @@ An 8-phase AI development pipeline for **Claude Code**, **Copilot CLI** and **Co
|
|
|
12
12
|
|
|
13
13
|
Runs natively on Claude Code, Copilot CLI and Codex CLI. macOS / Linux / Windows. Zero runtime dependencies.
|
|
14
14
|
|
|
15
|
-
📐 **[Architecture diagrams](./docs/architecture.md)** - the 8-phase flow, operating modes, review/triage, Figma subphases, component layout. **[Ecosystem diagram](./docs/ecosystem.md)** - how this repo, the `multi-agent-plugins` marketplace and `
|
|
15
|
+
📐 **[Architecture diagrams](./docs/architecture.md)** - the 8-phase flow, operating modes, review/triage, Figma subphases, component layout. **[Ecosystem diagram](./docs/ecosystem.md)** - how this repo, the `multi-agent-plugins` marketplace and `multi-agent-toolkit-mcp` compose.
|
|
16
16
|
|
|
17
17
|
## Quick Start
|
|
18
18
|
|
|
@@ -63,7 +63,7 @@ One command runs 8 phases, with a gate between the risky ones:
|
|
|
63
63
|
|
|
64
64
|
Under the hood: each task runs in its own **git worktree** (or the current branch with `:local`), commits use the **git identity routed from the repo's origin URL**, and **multi-repo** tasks get per-repo worktrees plus an integration build. Tokens stay in the OS keychain; nothing is committed or logged. `/multi-agent:review` can also review an existing GitHub/Bitbucket PR - per-finding inline comments anchored to `file:line` + an explicit Approve / Needs-Work state.
|
|
65
65
|
|
|
66
|
-
The discipline behind all of this - bounded loops, evidence gates, token-budgeted phase docs, immutable tests, fresh-context handoffs - is catalogued in [docs/engineering.md](./docs/engineering.md). The full feature list lives in [docs/features.md](./docs/features.md). How this repo, the `multi-agent-plugins` marketplace, and the `
|
|
66
|
+
The discipline behind all of this - bounded loops, evidence gates, token-budgeted phase docs, immutable tests, fresh-context handoffs - is catalogued in [docs/engineering.md](./docs/engineering.md). The full feature list lives in [docs/features.md](./docs/features.md). How this repo, the `multi-agent-plugins` marketplace, and the `multi-agent-toolkit-mcp` server compose at install time and at run time is diagrammed in [docs/ecosystem.md](./docs/ecosystem.md).
|
|
67
67
|
|
|
68
68
|
## Modes
|
|
69
69
|
|
|
@@ -142,7 +142,7 @@ Runs on **macOS**, **Linux**, and **Windows** (Git Bash / WSL). Shell and creden
|
|
|
142
142
|
| Repo | What it is |
|
|
143
143
|
|---|---|
|
|
144
144
|
| [`mmerterden/multi-agent-plugins`](https://github.com/mmerterden/multi-agent-plugins) | Marketplace of per-stack skill toolkits (iOS / Android / Frontend / Backend + common). `/multi-agent:stack` enables the matching plugin. |
|
|
145
|
-
| [`mmerterden/
|
|
145
|
+
| [`mmerterden/multi-agent-toolkit-mcp`](https://github.com/mmerterden/multi-agent-toolkit-mcp) | MCP server for UI testing / simulator capture / xcodebuild - powers the Phase 5 UI Bug Hunter. Published on the public npm registry as [`@mmerterden/multi-agent-toolkit-mcp`](https://www.npmjs.com/package/@mmerterden/multi-agent-toolkit-mcp); the installer registers it with each CLI for you, so `npx` resolves it with no extra configuration. |
|
|
146
146
|
|
|
147
147
|
## License
|
|
148
148
|
|
package/README.tr.md
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
|
|
13
13
|
Claude Code, Copilot CLI ve Codex CLI üzerinde native çalışır. macOS / Linux / Windows. Sıfır runtime dependency.
|
|
14
14
|
|
|
15
|
-
📐 **[Mimari diyagramları](./docs/architecture.md)** - 8 faz akışı, çalışma modları, review/triage, Figma subphase'leri, component yapısı. **[Ekosistem diyagramı](./docs/ecosystem.md)** - bu repo, `multi-agent-plugins` marketplace'i ve `
|
|
15
|
+
📐 **[Mimari diyagramları](./docs/architecture.md)** - 8 faz akışı, çalışma modları, review/triage, Figma subphase'leri, component yapısı. **[Ekosistem diyagramı](./docs/ecosystem.md)** - bu repo, `multi-agent-plugins` marketplace'i ve `multi-agent-toolkit-mcp`'nin nasıl bir araya geldiği.
|
|
16
16
|
|
|
17
17
|
## Hızlı Başlangıç
|
|
18
18
|
|
|
@@ -63,7 +63,7 @@ Tek komut 8 fazı çalıştırır, riskli olanlar arasında bir kapı ile:
|
|
|
63
63
|
|
|
64
64
|
Perde arkasında: her görev kendi **git worktree**'sinde çalışır (ya da `:local` ile mevcut branch'te), commit'ler **repo'nun origin URL'inden yönlendirilen git kimliğini** kullanır, ve **çoklu-repo** görevleri repo başına worktree artı bir integration build alır. Tokenlar OS keychain'de kalır; hiçbir şey commit edilmez ya da loglanmaz. `/multi-agent:review` mevcut bir GitHub/Bitbucket PR'ını da review edebilir - `file:line`'a bağlı bulgu-başına inline yorumlar + açık bir Approve / Needs-Work durumu.
|
|
65
65
|
|
|
66
|
-
Bunun arkasındaki disiplin - sınırlı loop'lar, kanıt kapıları, token-bütçeli faz dokümanları, değişmez testler, taze-context handoff'lar - [docs/engineering.md](./docs/engineering.md)'de kataloglanmıştır. Tam özellik listesi [docs/features.md](./docs/features.md)'te. Bu repo, `multi-agent-plugins` marketplace'i ve `
|
|
66
|
+
Bunun arkasındaki disiplin - sınırlı loop'lar, kanıt kapıları, token-bütçeli faz dokümanları, değişmez testler, taze-context handoff'lar - [docs/engineering.md](./docs/engineering.md)'de kataloglanmıştır. Tam özellik listesi [docs/features.md](./docs/features.md)'te. Bu repo, `multi-agent-plugins` marketplace'i ve `multi-agent-toolkit-mcp` sunucusunun install zamanında ve run zamanında nasıl bir araya geldiği [docs/ecosystem.md](./docs/ecosystem.md)'de diyagramlanmıştır.
|
|
67
67
|
|
|
68
68
|
## Modlar
|
|
69
69
|
|
|
@@ -143,7 +143,7 @@ triage notu bunu belirtir.
|
|
|
143
143
|
| Repo | Ne olduğu |
|
|
144
144
|
|---|---|
|
|
145
145
|
| [`mmerterden/multi-agent-plugins`](https://github.com/mmerterden/multi-agent-plugins) | Stack-başına skill toolkit'lerinin marketplace'i (iOS / Android / Frontend / Backend + common). `/multi-agent:stack` ilgili plugin'i etkinleştirir. |
|
|
146
|
-
| [`mmerterden/
|
|
146
|
+
| [`mmerterden/multi-agent-toolkit-mcp`](https://github.com/mmerterden/multi-agent-toolkit-mcp) | UI testing / simulator capture / xcodebuild için MCP sunucusu - Phase 5 UI Bug Hunter'ı güçlendirir. Public npm registry'de [`@mmerterden/multi-agent-toolkit-mcp`](https://www.npmjs.com/package/@mmerterden/multi-agent-toolkit-mcp) olarak yayınlanır; installer her CLI'a onu senin için register eder, böylece `npx` ekstra konfigürasyon olmadan onu çözer. |
|
|
147
147
|
|
|
148
148
|
## Lisans
|
|
149
149
|
|
|
@@ -28,8 +28,20 @@ import { homedir } from "os";
|
|
|
28
28
|
|
|
29
29
|
import { isDryRun } from "./_common.mjs";
|
|
30
30
|
|
|
31
|
-
export const MCP_SERVER_NAME = "
|
|
32
|
-
export const MCP_SERVER_PACKAGE = "@mmerterden/
|
|
31
|
+
export const MCP_SERVER_NAME = "multi-agent-toolkit";
|
|
32
|
+
export const MCP_SERVER_PACKAGE = "@mmerterden/multi-agent-toolkit-mcp";
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* The name this server was registered under before v15.12.0.
|
|
36
|
+
*
|
|
37
|
+
* A host keys its registration by name, so renaming does NOT upgrade an entry in
|
|
38
|
+
* place: without this, an existing install ends up with both `dev-toolkit`
|
|
39
|
+
* (pointing at the old package, still resolvable, now frozen at 2.26.0) and
|
|
40
|
+
* `multi-agent-toolkit`. Two servers advertising the same 83 tools is worse than
|
|
41
|
+
* either alone - the host has to pick, and which one it picks is not something
|
|
42
|
+
* the pipeline controls. Registration removes the legacy entry first.
|
|
43
|
+
*/
|
|
44
|
+
export const LEGACY_MCP_SERVER_NAME = "dev-toolkit";
|
|
33
45
|
|
|
34
46
|
/**
|
|
35
47
|
* Per-host CLI invocation details.
|
|
@@ -44,7 +56,7 @@ export const MCP_SERVER_PACKAGE = "@mmerterden/dev-toolkit-mcp";
|
|
|
44
56
|
* `scopeArgs`: options inserted before the server name. Only Claude Code needs
|
|
45
57
|
* them, and it needs them badly: `claude mcp add` defaults to `--scope local`,
|
|
46
58
|
* which binds the server to whichever directory the installer happened to run
|
|
47
|
-
* in. Every other project would then see no
|
|
59
|
+
* in. Every other project would then see no multi-agent-toolkit server at all. Codex
|
|
48
60
|
* writes `~/.codex/config.toml` and Copilot writes `~/.copilot/mcp-config.json`,
|
|
49
61
|
* both already user-global, so both take no scope flag - passing one errors.
|
|
50
62
|
*/
|
|
@@ -129,6 +141,19 @@ export function registerMcpServer(host, label) {
|
|
|
129
141
|
return { registered: false, reason: "opted out" };
|
|
130
142
|
}
|
|
131
143
|
|
|
144
|
+
// Drop the pre-rename entry before adding the new one. Best-effort by design:
|
|
145
|
+
// "not registered" is the common case (a fresh install) and is not an error,
|
|
146
|
+
// and a host that cannot remove it is not a reason to skip the add.
|
|
147
|
+
try {
|
|
148
|
+
execFileSync(cli, ["mcp", "remove", ...scopeArgs, LEGACY_MCP_SERVER_NAME], {
|
|
149
|
+
stdio: "pipe",
|
|
150
|
+
timeout: 20_000,
|
|
151
|
+
});
|
|
152
|
+
console.log(` -> ${label}: removed the legacy ${LEGACY_MCP_SERVER_NAME} registration`);
|
|
153
|
+
} catch {
|
|
154
|
+
/* not present, or the host declines - either way the add below is what matters */
|
|
155
|
+
}
|
|
156
|
+
|
|
132
157
|
try {
|
|
133
158
|
// Bounded: an installer must never hang on a child process. This is a local config
|
|
134
159
|
// write and returns in milliseconds.
|
package/install/claude.mjs
CHANGED
|
@@ -103,7 +103,7 @@ export function installClaude(ctx) {
|
|
|
103
103
|
configureSettings(home);
|
|
104
104
|
|
|
105
105
|
// Claude Code was the last target still shipping skills without the tools those
|
|
106
|
-
// skills call. The
|
|
106
|
+
// skills call. The multi-agent-toolkit server backs design-check, every ios_* / android_*
|
|
107
107
|
// simulator call and the archive audits, and its absence is invisible until a run
|
|
108
108
|
// reaches for one of them. `--scope user` is not optional here: `claude mcp add`
|
|
109
109
|
// defaults to project scope, which would register the server only for whichever
|
package/install/codex.mjs
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Lays down `~/.codex/{skills/multi-agent,multi-agent-refs,agents,prompts,
|
|
5
5
|
* scripts,lib,schemas}/` plus the managed block in `~/.codex/AGENTS.md`, and
|
|
6
|
-
* registers the
|
|
6
|
+
* registers the multi-agent-toolkit MCP server through the `codex` CLI.
|
|
7
7
|
*
|
|
8
8
|
* Shape note: this target follows the **Claude Code** thin-dispatcher layout,
|
|
9
9
|
* not the Copilot CLI fan-out. Codex assembles every discovered skill's
|
|
@@ -542,7 +542,7 @@ function ensureSharedPreferences(home, pipelineSrc) {
|
|
|
542
542
|
}
|
|
543
543
|
|
|
544
544
|
/**
|
|
545
|
-
* Register the
|
|
545
|
+
* Register the multi-agent-toolkit MCP server via the `codex` CLI.
|
|
546
546
|
*
|
|
547
547
|
* Deliberately NOT a hand-written `[mcp_servers.*]` block in `config.toml`:
|
|
548
548
|
* Codex owns that file (it writes `[marketplaces.*]` and `[plugins."x@y"]`
|
package/install/index.mjs
CHANGED
|
@@ -166,7 +166,7 @@ function printSummary(opts) {
|
|
|
166
166
|
console.log(" /multi-agent setup Configure tokens + git identity");
|
|
167
167
|
console.log(" /multi-agent help Full usage guide");
|
|
168
168
|
console.log(' /multi-agent "MOBILE-123" Start a task');
|
|
169
|
-
console.log(" /multi-agent test UI Bug Hunter (requires
|
|
169
|
+
console.log(" /multi-agent test UI Bug Hunter (requires multi-agent-toolkit MCP)");
|
|
170
170
|
console.log("");
|
|
171
171
|
}
|
|
172
172
|
if (forCopilot) {
|
|
@@ -187,17 +187,17 @@ function printSummary(opts) {
|
|
|
187
187
|
// All three register automatically now. Claude Code was the last to gain it, and
|
|
188
188
|
// this summary kept telling users to do it by hand long enough that the
|
|
189
189
|
// hand-registered entry became the only reason it worked on any given machine.
|
|
190
|
-
console.log(" For UI testing, the
|
|
190
|
+
console.log(" For UI testing, the multi-agent-toolkit MCP server is registered automatically:");
|
|
191
191
|
if (forClaude) {
|
|
192
192
|
console.log(
|
|
193
|
-
" Claude Code: claude mcp add --scope user
|
|
193
|
+
" Claude Code: claude mcp add --scope user multi-agent-toolkit (user scope, all projects)",
|
|
194
194
|
);
|
|
195
195
|
}
|
|
196
196
|
if (forCopilot) {
|
|
197
|
-
console.log(" Copilot CLI: copilot mcp add
|
|
197
|
+
console.log(" Copilot CLI: copilot mcp add multi-agent-toolkit");
|
|
198
198
|
}
|
|
199
199
|
if (forCodex) {
|
|
200
|
-
console.log(" Codex CLI: codex mcp add
|
|
200
|
+
console.log(" Codex CLI: codex mcp add multi-agent-toolkit");
|
|
201
201
|
}
|
|
202
202
|
console.log(
|
|
203
203
|
" Skipped only when the host CLI is not on PATH - the command to run is printed above.",
|
|
@@ -253,13 +253,13 @@ multi-agent-stack [ios|android|mobile|backend|frontend|fullstack|all]
|
|
|
253
253
|
|
|
254
254
|
## UI Bug Hunter
|
|
255
255
|
|
|
256
|
-
For visual testing, use the
|
|
256
|
+
For visual testing, use the multi-agent-toolkit MCP server tools:
|
|
257
257
|
- ios_screenshot / android_screenshot - capture screen
|
|
258
258
|
- ios_tap / android_tap - interact with UI
|
|
259
259
|
- ios_set_appearance - toggle dark mode
|
|
260
260
|
- ios_get_ui_tree / android_get_ui_tree - accessibility tree
|
|
261
261
|
|
|
262
|
-
Requires: @mmerterden/
|
|
262
|
+
Requires: @mmerterden/multi-agent-toolkit-mcp MCP server running
|
|
263
263
|
|
|
264
264
|
## Post-Development Integration Build (Multi-Repo) - required
|
|
265
265
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mmerterden/multi-agent-pipeline",
|
|
3
|
-
"version": "15.
|
|
3
|
+
"version": "15.12.2",
|
|
4
4
|
"description": "8-phase AI development pipeline with full orchestration on Claude Code, Copilot CLI and Codex CLI. Analysis, planning, TDD, CLI-aware parallel review with consensus surfacing + Fable triage, default-FAIL evidence gates, secret + intent guards, per-phase cost ledger, persistent learnings memory, wiki generation, commit automation. Token-preserving uninstall.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "index.js",
|
|
@@ -24,7 +24,8 @@
|
|
|
24
24
|
"lint:fix": "eslint . --fix",
|
|
25
25
|
"format": "prettier --write \"**/*.{js,mjs,json,yml}\" --ignore-path .gitignore",
|
|
26
26
|
"format:check": "prettier --check \"**/*.{js,mjs,json,yml}\" --ignore-path .gitignore",
|
|
27
|
-
"scorecard": "node pipeline/scripts/scorecard.mjs"
|
|
27
|
+
"scorecard": "node pipeline/scripts/scorecard.mjs",
|
|
28
|
+
"gate": "bash pipeline/scripts/pre-push-check.sh --run"
|
|
28
29
|
},
|
|
29
30
|
"keywords": [
|
|
30
31
|
"multi-agent",
|
|
@@ -3,13 +3,13 @@ description: Scan an .xcarchive for Apple App Store Review compliance (18-rule d
|
|
|
3
3
|
allowed-tools: Bash, Read, Glob
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
Run the `ios_app_store_audit` MCP tool (shipped in `@mmerterden/
|
|
6
|
+
Run the `ios_app_store_audit` MCP tool (shipped in `@mmerterden/multi-agent-toolkit-mcp` ≥ v3.0.0)
|
|
7
7
|
on an iOS archive. Backed by the same 18-rule catalog as `/multi-agent:test "store-ready"`
|
|
8
8
|
- this command is the lighter, post-hoc form (no platform-detect, no UI sweep).
|
|
9
9
|
|
|
10
10
|
> **v8.4.0 migration note:** The standalone `~/ArchiveGuard/.build/release/archive-guard`
|
|
11
11
|
> binary has been retired. The 18 rules live in
|
|
12
|
-
> `
|
|
12
|
+
> `multi-agent-toolkit-mcp/tools/ios-app-store-audit/rules/` as a pure-Node port. Output JSON
|
|
13
13
|
> shape is unchanged.
|
|
14
14
|
|
|
15
15
|
## Steps
|
|
@@ -21,7 +21,7 @@ on an iOS archive. Backed by the same 18-rule catalog as `/multi-agent:test "sto
|
|
|
21
21
|
2. Ask user which archive to scan (or use the argument if provided: $ARGUMENTS).
|
|
22
22
|
3. Run the scan - preferred mode is the native MCP tool call:
|
|
23
23
|
```
|
|
24
|
-
|
|
24
|
+
mcp__multi-agent-toolkit__ios_app_store_audit({
|
|
25
25
|
archive_path: "<archive_path>",
|
|
26
26
|
rules: "all" // "all" | "core" | "deep" | csv of ruleIDs
|
|
27
27
|
})
|
|
@@ -29,15 +29,15 @@ on an iOS archive. Backed by the same 18-rule catalog as `/multi-agent:test "sto
|
|
|
29
29
|
4. Fallback (plain shell / CI, no MCP host):
|
|
30
30
|
```
|
|
31
31
|
node -e "
|
|
32
|
-
import('@mmerterden/
|
|
32
|
+
import('@mmerterden/multi-agent-toolkit-mcp/tools/ios-app-store-audit/index.js').then(async m => {
|
|
33
33
|
const r = await m.runAudit({ archivePath: '<archive_path>', rules: 'all' });
|
|
34
34
|
console.log(JSON.stringify(r, null, 2));
|
|
35
35
|
});
|
|
36
36
|
"
|
|
37
37
|
```
|
|
38
|
-
5. If `@mmerterden/
|
|
38
|
+
5. If `@mmerterden/multi-agent-toolkit-mcp` is not installed, prompt the user:
|
|
39
39
|
```
|
|
40
|
-
npm i -g @mmerterden/
|
|
40
|
+
npm i -g @mmerterden/multi-agent-toolkit-mcp
|
|
41
41
|
# or add it to your MCP config and reload the editor
|
|
42
42
|
```
|
|
43
43
|
6. Summarize results - group by severity (`error` blockers, `warning` risks,
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
description: "Mock-mode vs Figma design audit (iOS / Android, local-only). Pick repo + module, gate on mock support, enumerate every state driver into a countable target set, build Debug in a worktree, launch in mock mode, fetch Figma variants, compare each pixel + px-spacing + typography + color, and export a side-by-side annotated report (HTML + PDF + Confluence) to ~/DesignChecks. A coverage gate fails the run when a target is neither audited nor skipped with a reason."
|
|
3
3
|
description-tr: "Mock-mod vs Figma tasarım denetimi (iOS / Android, yalnızca lokal). Repo + modül seç, mock desteğini geçitle, her state sürücüsünü sayılabilir bir hedef kümesine çıkar, worktree'de Debug derle, mock modda aç, Figma varyantlarını çek, her varyantı piksel + px-boşluk + tipografi + renk düzeyinde karşılaştır, yan yana annotasyonlu raporu (HTML + PDF + Confluence) ~/DesignChecks altına aktar. Bir hedef ne denetlenmiş ne de gerekçeyle atlanmışsa kapsam geçidi koşuyu başarısız sayar."
|
|
4
4
|
argument-hint: '[scope] - empty = whole module; screen name; screen@variant; Figma URL(s); --resume'
|
|
5
|
-
allowed-tools: Agent, Bash, Read, Write, Edit, Glob, Grep, TaskCreate, TaskUpdate, AskUserQuestion, Skill, mcp__claude_ai_Figma__get_metadata, mcp__claude_ai_Figma__get_design_context, mcp__claude_ai_Figma__get_screenshot,
|
|
5
|
+
allowed-tools: Agent, Bash, Read, Write, Edit, Glob, Grep, TaskCreate, TaskUpdate, AskUserQuestion, Skill, mcp__claude_ai_Figma__get_metadata, mcp__claude_ai_Figma__get_design_context, mcp__claude_ai_Figma__get_screenshot, mcp__multi-agent-toolkit__design_mock_detect, mcp__multi-agent-toolkit__design_scenario_inventory, mcp__multi-agent-toolkit__design_mock_launch, mcp__multi-agent-toolkit__design_ui_geometry, mcp__multi-agent-toolkit__design_visual_compare, mcp__multi-agent-toolkit__design_report, mcp__multi-agent-toolkit__ios_list_devices, mcp__multi-agent-toolkit__ios_boot_device, mcp__multi-agent-toolkit__ios_launch_app, mcp__multi-agent-toolkit__ios_terminate_app, mcp__multi-agent-toolkit__ios_screenshot, mcp__multi-agent-toolkit__ios_tap, mcp__multi-agent-toolkit__ios_swipe, mcp__multi-agent-toolkit__ios_type_text, mcp__multi-agent-toolkit__ios_open_url, mcp__multi-agent-toolkit__ios_get_ui_tree, mcp__multi-agent-toolkit__ios_status_bar, mcp__multi-agent-toolkit__ios_set_appearance, mcp__multi-agent-toolkit__ios_set_locale, mcp__multi-agent-toolkit__ios_xcodebuild, mcp__multi-agent-toolkit__ios_xcresult, mcp__multi-agent-toolkit__android_list_devices, mcp__multi-agent-toolkit__android_screenshot, mcp__multi-agent-toolkit__android_tap, mcp__multi-agent-toolkit__android_swipe, mcp__multi-agent-toolkit__android_type_text, mcp__multi-agent-toolkit__android_open_url, mcp__multi-agent-toolkit__android_launch_app, mcp__multi-agent-toolkit__android_stop_app
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
# /multi-agent:design-check - Mock-mode vs Figma design audit
|
|
@@ -49,7 +49,7 @@ Phase 4: Report → coverage gate + assemble + export HTML + PDF (+ Conf
|
|
|
49
49
|
## Requirements
|
|
50
50
|
|
|
51
51
|
- **iOS**: Xcode + an available Simulator. **Android**: Android SDK + a running emulator / device.
|
|
52
|
-
- **MCP**: the `
|
|
52
|
+
- **MCP**: the `multi-agent-toolkit` MCP server (>= 2.8.0, for `design_scenario_inventory`, the `design_report` coverage gate, and `design_visual_compare` region alignment). The Figma MCP (`mcp__claude_ai_Figma__*`) must be authenticated - the user supplies the Figma URL.
|
|
53
53
|
- The selected module must support a **mock mode** (Phase 0 gate decides this). No mock support → the command halts.
|
|
54
54
|
|
|
55
55
|
## Phase Tracker Contract (mandatory)
|
|
@@ -77,11 +77,11 @@ Every Phase 0 / Phase 2 decision uses a native `AskUserQuestion` picker (numbere
|
|
|
77
77
|
|
|
78
78
|
Assert both halves before continuing:
|
|
79
79
|
|
|
80
|
-
a. **Session** - `
|
|
80
|
+
a. **Session** - `mcp__multi-agent-toolkit__design_scenario_inventory` must be present in the tools available to you, and `mcp__multi-agent-toolkit__design_visual_compare` must accept `live_region`. Absent → the session is bound to a stale process.
|
|
81
81
|
|
|
82
82
|
b. **Disk** - probe the configured server directly, which reports what a fresh connection WOULD serve:
|
|
83
83
|
```bash
|
|
84
|
-
cd "$(python3 -c "import json,os;print(json.load(open(os.path.expanduser('~/.claude.json')))['mcpServers']['
|
|
84
|
+
cd "$(python3 -c "import json,os;print(json.load(open(os.path.expanduser('~/.claude.json')))['mcpServers']['multi-agent-toolkit']['args'][0].rsplit('/',1)[0])")" && \
|
|
85
85
|
printf '%s\n%s\n' \
|
|
86
86
|
'{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"probe","version":"1"}}}' \
|
|
87
87
|
'{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}' \
|
|
@@ -97,7 +97,7 @@ for l in sys.stdin:
|
|
|
97
97
|
```
|
|
98
98
|
|
|
99
99
|
Branch on the two results:
|
|
100
|
-
- **disk OK, session missing the tool** → **HALT** and tell the user to reconnect: `/mcp` → `
|
|
100
|
+
- **disk OK, session missing the tool** → **HALT** and tell the user to reconnect: `/mcp` → `multi-agent-toolkit` → Reconnect. Note the tool-count tell (a stale build advertises one fewer `design_*` tool). If a reconnect does not take, stale server processes may be lingering - `pgrep -f multi-agent-toolkit-mcp/index.js` with `ps -o lstart=` shows their start times, and any that predate the code's mtime cannot serve the current tools.
|
|
101
101
|
- **disk itself stale** (older version, or `inventory False`) → **HALT**: the checkout needs updating before a reconnect can help.
|
|
102
102
|
- **both current** → continue.
|
|
103
103
|
|
|
@@ -108,7 +108,7 @@ for l in sys.stdin:
|
|
|
108
108
|
3. **Platform detect** - `.xcodeproj` / `Package.swift` → iOS; `build.gradle*` → Android (same markers as `phase-0-init.md`). Persist `state.platform`.
|
|
109
109
|
4. **MOCK FEASIBILITY GATE** - run against the selected module path:
|
|
110
110
|
```
|
|
111
|
-
|
|
111
|
+
mcp__multi-agent-toolkit__design_mock_detect({ repo_path: "<module path>", platform: "<ios|android>",
|
|
112
112
|
extra_keys: <design-check-config mock.keys, if any> })
|
|
113
113
|
```
|
|
114
114
|
Branch on `supported`:
|
|
@@ -117,7 +117,7 @@ for l in sys.stdin:
|
|
|
117
117
|
- **`true`** → continue. Persist `state.designCheck.mock = <detect result>` (mechanism, activation, variantsHint, evidence).
|
|
118
118
|
5. **SCENARIO INVENTORY (this is the audit's target set)**:
|
|
119
119
|
```
|
|
120
|
-
|
|
120
|
+
mcp__multi-agent-toolkit__design_scenario_inventory({ repo_path: "<module path>", platform,
|
|
121
121
|
extra_launch_args: <config inventory.extraLaunchArgs>,
|
|
122
122
|
extra_targets: <config inventory.extraTargets>,
|
|
123
123
|
ignore_targets: <config inventory.ignoreTargets> })
|
|
@@ -140,13 +140,13 @@ Persist `agent-state.json` with `taskId`, `mode: "design-check"`, `platform`, `p
|
|
|
140
140
|
## Phase 1 - Build & Launch (mock)
|
|
141
141
|
|
|
142
142
|
1. **Debug build** in the worktree (mock activation requires the Debug configuration):
|
|
143
|
-
- iOS: `
|
|
143
|
+
- iOS: `mcp__multi-agent-toolkit__ios_xcodebuild({ workspace|project, scheme, configuration: "Debug", action: "build", destination: "generic/platform=iOS Simulator" })`. Drill failures via `ios_xcresult`.
|
|
144
144
|
- Android: `./gradlew :<module>:assembleDebug` (or `installDebug`) via Bash.
|
|
145
145
|
2. **Boot device + install**: iOS `ios_list_devices` → `ios_boot_device` → install the built `.app` (`xcrun simctl install`). Android: ensure an emulator is running, `adb install -r <apk>`.
|
|
146
146
|
3. **Deterministic state**: iOS `ios_status_bar({ preset: "clean" })` (09:41 / full battery); set a fixed appearance + locale so captures are stable across runs.
|
|
147
147
|
4. **Launch in mock mode** using the activation from Phase 0:
|
|
148
148
|
```
|
|
149
|
-
|
|
149
|
+
mcp__multi-agent-toolkit__design_mock_launch({ platform, bundle_id|package_name,
|
|
150
150
|
launch_arg: state.designCheck.mock.activation.launchArg, // iOS, e.g. "-debugMockMode YES"
|
|
151
151
|
intent_extra: state.designCheck.mock.activation.intentExtra }) // Android
|
|
152
152
|
```
|
|
@@ -195,7 +195,7 @@ Per-target activation by `driver.type`:
|
|
|
195
195
|
|
|
196
196
|
While a target's state is on screen, also capture the **sub-states reachable from it by tapping** - overlays, bottom sheets, modals, popups, inline errors, QR / share sheets. These cost no relaunch and belong to the target that exposed them; record them as additional captures under that target id (`<id>#<sub-label>`).
|
|
197
197
|
|
|
198
|
-
For each capture: `ios_screenshot` (save PNG into the Phase 0 report dir) + `
|
|
198
|
+
For each capture: `ios_screenshot` (save PNG into the Phase 0 report dir) + `mcp__multi-agent-toolkit__design_ui_geometry` (live boxes + screen size) → append to `state.designCheck.captured[]` with the target id and a human label. **Persist `state` and `run-state.json` after every capture**, so a run that dies mid-way resumes from where it stopped instead of starting over.
|
|
199
199
|
|
|
200
200
|
If a target cannot be reached, record it immediately as `{ id, reason }` in `state.designCheck.skipped[]` with a concrete reason ("scenario picker not present in this build", "needs a live PNR", "crashes on launch: <symbol>"). "Requires a scenario / prefix / launch-arg" is **not** a reason - that is a description of the work, and the work is this phase's job.
|
|
201
201
|
|
|
@@ -211,7 +211,7 @@ Collect ALL captures with no confident Figma match into a single list and ask th
|
|
|
211
211
|
|
|
212
212
|
For each pair (matched + user-supplied), fetch `get_screenshot` + `get_design_context`, then:
|
|
213
213
|
```
|
|
214
|
-
|
|
214
|
+
mcp__multi-agent-toolkit__design_visual_compare({
|
|
215
215
|
figma_png, live_png, out_dir: "<report dir>/assets", label: "<variant>",
|
|
216
216
|
figma_spec, live_geometry, figma_frame, live_screen,
|
|
217
217
|
crop_top_live: <status-bar px>, // strip device chrome the Figma frame lacks
|
|
@@ -222,7 +222,7 @@ For each pair (matched + user-supplied), fetch `get_screenshot` + `get_design_co
|
|
|
222
222
|
**Bottom sheets, modals, and any partial overlay need region alignment.** Their Figma frame covers only the sheet, while the capture is the whole screen. Passing that pair as-is stretches a full screen onto a sheet-shaped frame, which misplaces every element inside the sheet and buries the real defect in noise. So for any capture whose frame is not full-screen:
|
|
223
223
|
|
|
224
224
|
```
|
|
225
|
-
|
|
225
|
+
mcp__multi-agent-toolkit__design_visual_compare({ ...as above,
|
|
226
226
|
live_region: <the sheet container's {x,y,w,h} from design_ui_geometry>,
|
|
227
227
|
expected_region: <where the design puts that sheet, same units> })
|
|
228
228
|
```
|
|
@@ -265,7 +265,7 @@ Before leaving this phase, compare `covered.length + skipped.length` against `sc
|
|
|
265
265
|
Pass **ids**, not counts: the engine then names each unaccounted target in the report instead of printing an anonymous tally. `compareSize` and `liveSize` come straight from the `design_visual_compare` result.
|
|
266
266
|
3. **Render + export**:
|
|
267
267
|
```
|
|
268
|
-
|
|
268
|
+
mcp__multi-agent-toolkit__design_report({ report, out_dir: state.designCheck.reportDir,
|
|
269
269
|
formats: ["html", "pdf"] + (confluence enabled ? ["confluence"] : []) })
|
|
270
270
|
```
|
|
271
271
|
- HTML: self-contained (base64 images, CSS-positioned annotations over the live capture, stacked findings, fix prompt), with the coverage gate banner at the top.
|
|
@@ -124,7 +124,7 @@ Post-Hoc & Side-Channel:
|
|
|
124
124
|
/multi-agent:diff-explain Map a Phase 4 triage finding back to specific diff lines
|
|
125
125
|
/multi-agent:search Cross-task log search with smart ranking; --semantic queries triage corpus
|
|
126
126
|
/multi-agent:scan Skill security scan against tiered pattern catalog
|
|
127
|
-
/multi-agent:refactor
|
|
127
|
+
/multi-agent:refactor Best practices + bug hunt + upstream drift + toolkit MCP research -> one plan, approval, dev + sync
|
|
128
128
|
/multi-agent:store-ready [repo] [--archive=|--ipa=|--aab=|--apk=] [--skip-sweep] Pre-submission store readiness,
|
|
129
129
|
iOS + Android, local-only. Three symmetric gates per platform: static package audit,
|
|
130
130
|
the store's own validator, policy review vs repo source. Plus the running-app sweep.
|
|
@@ -139,7 +139,7 @@ Setup & Maintenance:
|
|
|
139
139
|
/multi-agent:setup First-run wizard - Keychain tokens + Git identity + language
|
|
140
140
|
/multi-agent:language [en|tr] Show or set outputLanguage (promptLanguage stays English)
|
|
141
141
|
/multi-agent:stack [ids...] Enable stack plugin(s); multi-select: ids together (ios backend) or no arg -> native picker (common always on)
|
|
142
|
-
/multi-agent:sync Sync ecosystem (Claude Code + Copilot CLI + pipeline + website +
|
|
142
|
+
/multi-agent:sync Sync ecosystem (Claude Code + Copilot CLI + pipeline + website + toolkit MCP)
|
|
143
143
|
/multi-agent:update Pull latest pipeline + reinstall + run migrations
|
|
144
144
|
/multi-agent:uninstall Uninstall pipeline from every CLI (--all-data also clears settings + logs; Keychain tokens always intact, double confirm)
|
|
145
145
|
|
|
@@ -200,7 +200,7 @@ Manual Test (Phase 5 standalone - Xcode hint flow):
|
|
|
200
200
|
/multi-agent:manual-test Checkout task branch, print Xcode/SourceTree hints,
|
|
201
201
|
/multi-agent:manual-test #N wait for your "ok" / "fix: ..." verdict.
|
|
202
202
|
|
|
203
|
-
Design Check (mock-mode vs Figma, local-only - powered by
|
|
203
|
+
Design Check (mock-mode vs Figma, local-only - powered by the toolkit MCP design_* tools):
|
|
204
204
|
|
|
205
205
|
/multi-agent:design-check Whole-module design audit: pick repo+module, gate on mock support,
|
|
206
206
|
enumerate every state driver (launch args, scenario cases, scenario codes,
|
|
@@ -217,7 +217,7 @@ Design Check (mock-mode vs Figma, local-only - powered by dev-toolkit-mcp desi
|
|
|
217
217
|
# "Requires a scenario / prefix / launch-arg" is not a reason; reaching those states is the run's job.
|
|
218
218
|
# When a live screen has no confident Figma match, it SHOWS you the screenshot and asks for the node-id.
|
|
219
219
|
|
|
220
|
-
Drives the
|
|
220
|
+
Drives the toolkit design_* tools (+ ios_* / android_* device control).
|
|
221
221
|
|
|
222
222
|
------------------------------------------------------------
|
|
223
223
|
|
|
@@ -397,7 +397,7 @@ Post-Hoc & Side-Channel:
|
|
|
397
397
|
/multi-agent:diff-explain Phase 4 triage bulgusunu diff satırlarına eşle
|
|
398
398
|
/multi-agent:search Task log'larında akıllı arama; --semantic triage corpus'unu sorgular
|
|
399
399
|
/multi-agent:scan Skill güvenlik taraması (tiered pattern catalog)
|
|
400
|
-
/multi-agent:refactor Uyarlanmış best-practice + bug avı + upstream-drift +
|
|
400
|
+
/multi-agent:refactor Uyarlanmış best-practice + bug avı + upstream-drift + multi-agent-toolkit MCP araştırması -> tek plan, onay, dev + sync
|
|
401
401
|
/multi-agent:store-ready [repo] [--archive=|--ipa=|--aab=|--apk=] [--skip-sweep] Yükleme öncesi store hazırlığı,
|
|
402
402
|
iOS + Android, yalnızca lokal. Platform başına 3 simetrik kapı: statik paket denetimi,
|
|
403
403
|
store'un kendi doğrulayıcısı, kaynağa karşı politika incelemesi. Artı çalışan-app sweep'i.
|
|
@@ -412,7 +412,7 @@ Setup & Maintenance:
|
|
|
412
412
|
/multi-agent:setup İlk kurulum sihirbazı - Keychain token + Git kimliği + dil
|
|
413
413
|
/multi-agent:language [en|tr] outputLanguage'ı göster veya ayarla (promptLanguage İngilizce kalır)
|
|
414
414
|
/multi-agent:stack [ids...] Stack plugin'lerini etkinleştir; çoklu seçim: id'ler yan yana (ios backend) ya da argümansız -> native picker (common hep açık)
|
|
415
|
-
/multi-agent:sync Ekosistemi senkronize et (Claude Code + Copilot CLI + pipeline + website +
|
|
415
|
+
/multi-agent:sync Ekosistemi senkronize et (Claude Code + Copilot CLI + pipeline + website + multi-agent-toolkit MCP)
|
|
416
416
|
/multi-agent:update En son pipeline'ı çek + reinstall + migration çalıştır
|
|
417
417
|
/multi-agent:uninstall Pipeline'ı tüm CLI'lerden kaldır (--all-data ayar + logları da siler; Keychain token her zaman dokunulmaz, çift onay)
|
|
418
418
|
|
|
@@ -474,7 +474,7 @@ Manuel Test (Phase 5 standalone - Xcode hint akışı):
|
|
|
474
474
|
/multi-agent:manual-test Task branch'ine checkout, Xcode/SourceTree hint basar,
|
|
475
475
|
/multi-agent:manual-test #N "ok" / "fix: ..." yanıtını bekler.
|
|
476
476
|
|
|
477
|
-
Design Check (mock-mod vs Figma, yalnızca lokal -
|
|
477
|
+
Design Check (mock-mod vs Figma, yalnızca lokal - multi-agent-toolkit-mcp design_* tool'larıyla):
|
|
478
478
|
|
|
479
479
|
/multi-agent:design-check Tüm modül tasarım denetimi: repo+modül seç, mock desteğini geçitle,
|
|
480
480
|
her state sürücüsünü (launch arg, senaryo case'leri, senaryo kodları,
|
|
@@ -491,7 +491,7 @@ Design Check (mock-mod vs Figma, yalnızca lokal - dev-toolkit-mcp design_* to
|
|
|
491
491
|
# "Senaryo / prefix / launch-arg gerektirir" gerekçe değildir; o state'lere ulaşmak koşunun işidir.
|
|
492
492
|
# Canlı ekranın Figma karşılığı kesin bulunamazsa SANA screenshot'ı gösterip node-id sorar.
|
|
493
493
|
|
|
494
|
-
|
|
494
|
+
multi-agent-toolkit-mcp design_* tool takımını sürer (+ ios_* / android_* cihaz kontrolü).
|
|
495
495
|
|
|
496
496
|
------------------------------------------------------------
|
|
497
497
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: "Analyse the project: extract adapted best-practices, hunt real bugs + improvement areas, check upstream drift of derived skills, research the companion
|
|
3
|
-
description-tr: "Projeyi analiz eder: uyarlanmış best-practice'leri çıkarır, gerçek bug + iyileştirme alanlarını avlar, türetilmiş skill'lerin upstream drift'ini kontrol eder,
|
|
2
|
+
description: "Analyse the project: extract adapted best-practices, hunt real bugs + improvement areas, check upstream drift of derived skills, research the companion multi-agent-toolkit MCP server against current MCP practice, draft one plan, take approval, develop, then ask whether to sync. Use when asked to review a project for bugs, gaps or improvements, or to check whether derived skills have drifted from upstream."
|
|
3
|
+
description-tr: "Projeyi analiz eder: uyarlanmış best-practice'leri çıkarır, gerçek bug + iyileştirme alanlarını avlar, türetilmiş skill'lerin upstream drift'ini kontrol eder, multi-agent-toolkit MCP sunucusunu güncel MCP pratiklerine göre araştırır, tek plan taslağı çıkarır, onay alır, geliştirir, sonra sync isteyip istemediğini sorar."
|
|
4
4
|
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, Agent, AskUserQuestion, WebFetch, WebSearch
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -8,21 +8,21 @@ allowed-tools: Read, Write, Edit, Bash, Glob, Grep, Agent, AskUserQuestion, WebF
|
|
|
8
8
|
|
|
9
9
|
**One command. Best-practices + Bug hunt + Upstream drift + Dev-toolkit -> Score -> Plan -> Approval -> Develop -> Sync.**
|
|
10
10
|
|
|
11
|
-
Deep-analyses the current project, extracts the global best-practices worth adopting (adapted to our stack), hunts real bugs and improvement areas, checks whether any skills we derived from an upstream source have drifted, researches the companion
|
|
11
|
+
Deep-analyses the current project, extracts the global best-practices worth adopting (adapted to our stack), hunts real bugs and improvement areas, checks whether any skills we derived from an upstream source have drifted, researches the companion multi-agent-toolkit MCP server against current MCP practice, scores everything, drafts a single prioritized plan, asks the user for approval, applies the approved items, and asks about sync at the end.
|
|
12
12
|
|
|
13
|
-
**Input**: $ARGUMENTS (optional - area to focus on: "security", "performance", "tests", "bugs", "best-practices", "drift", "
|
|
13
|
+
**Input**: $ARGUMENTS (optional - area to focus on: "security", "performance", "tests", "bugs", "best-practices", "drift", "multi-agent-toolkit", etc.)
|
|
14
14
|
|
|
15
15
|
## Flow
|
|
16
16
|
|
|
17
17
|
```
|
|
18
18
|
Step 0: BEST-PRACTICES Research the field, extract the best approaches, ADAPT them to our stack -> plan band A
|
|
19
19
|
Step 0b: DRIFT Check upstream-derived skills for updates we have not pulled -> plan band D
|
|
20
|
-
Step 0c: DEV-TOOLKIT Research current MCP practice + audit the companion
|
|
20
|
+
Step 0c: DEV-TOOLKIT Research current MCP practice + audit the companion multi-agent-toolkit repo -> plan band E
|
|
21
21
|
Step 0d: RUN-ERRORS Read the local run-error ledger, rank recurring failures -> plan band F
|
|
22
22
|
Step 1: SCAN Walk the project structure (files, LOC, dependencies, CI, tests)
|
|
23
23
|
Step 2: ANALYZE 10 categories + an explicit BUG HUNT (real defects, not just scores) -> plan bands B, C
|
|
24
24
|
Step 3: SCORE Each category /10, overall /100
|
|
25
|
-
Step 4: PLAN Merge bands A (best-practice) + B (bugs) + C (improvements) + D (drift) + E (
|
|
25
|
+
Step 4: PLAN Merge bands A (best-practice) + B (bugs) + C (improvements) + D (drift) + E (multi-agent-toolkit) + F (run-errors)
|
|
26
26
|
Step 5: ASK "Start the work?" - wait for user approval
|
|
27
27
|
Step 6: IMPLEMENT Apply approved items one by one (lint, test, commit)
|
|
28
28
|
Step 7: VERIFY Confirm every test + lint passes
|
|
@@ -34,7 +34,7 @@ Plan bands (all five feed the single Step 4 table):
|
|
|
34
34
|
- **B - Bug**: real defects found in the code (correctness, security, data-loss, crashes).
|
|
35
35
|
- **C - Improvement**: quality/perf/DX gaps surfaced by the 10-category analysis.
|
|
36
36
|
- **D - Drift**: upstream updates to skills we derived from an external source.
|
|
37
|
-
- **E - Dev-toolkit**: current-practice gaps in the companion
|
|
37
|
+
- **E - Dev-toolkit**: current-practice gaps in the companion multi-agent-toolkit MCP server (the pipeline's device and browser hands), applied in that repo.
|
|
38
38
|
- **F - Run-errors**: recurring real failures the pipeline actually hit across past runs, read from the local run-error ledger. These are lived evidence, not speculation - a failure that recurs across users or tasks is a prioritized improvement area.
|
|
39
39
|
|
|
40
40
|
## Step 0: BEST-PRACTICES - research the field, adapt to us
|
|
@@ -110,7 +110,7 @@ Procedure:
|
|
|
110
110
|
|
|
111
111
|
## Step 0c: DEV-TOOLKIT - current MCP practice for the companion toolkit
|
|
112
112
|
|
|
113
|
-
The pipeline's hands on devices and browsers are MCP tools served by a companion repo (`
|
|
113
|
+
The pipeline's hands on devices and browsers are MCP tools served by a companion repo (`multi-agent-toolkit-mcp`): Phase 5 test, `manual-test`, `design-check` and `apple-archive-compliance` all call them, and several pipeline skills declare a minimum toolkit version (see `cross-cli-contract.md`). That repo therefore has to track the MCP field, not just its own README. This step researches what current practice is and audits the toolkit against it.
|
|
114
114
|
|
|
115
115
|
Full procedure - resolution (configuration first, never a hardcoded path; skip when nothing resolves or `enabled` is false), the 5 research axes, the audit command block, and the band-E output table + rules - lives in `$HOME/.claude/multi-agent-refs/refactor/dev-toolkit-research.md`. Read it before running this step.
|
|
116
116
|
|
|
@@ -219,7 +219,7 @@ Each category is scored out of 10. Output:
|
|
|
219
219
|
|
|
220
220
|
## Step 4: PLAN - one merged, prioritized table
|
|
221
221
|
|
|
222
|
-
Merge all five bands into a single plan. Tag each row with its band (A best-practice / B bug / C improvement / D drift / E
|
|
222
|
+
Merge all five bands into a single plan. Tag each row with its band (A best-practice / B bug / C improvement / D drift / E multi-agent-toolkit) so the source is visible.
|
|
223
223
|
|
|
224
224
|
```
|
|
225
225
|
| # | Priority | Band | Category | Item | Impact |
|
|
@@ -228,7 +228,7 @@ Merge all five bands into a single plan. Tag each row with its band (A best-prac
|
|
|
228
228
|
| 2 | P0 | B | Tests | Fix nil-deref on empty response (src/y:42) | High |
|
|
229
229
|
| 3 | P1 | A | CI/CD | Adopt matrix build (adapt: .github/workflows/ci.yml) | Medium |
|
|
230
230
|
| 4 | P1 | D | Skills | Port upstream <plugin> 0.3.0 fixes into <localPath> | Medium |
|
|
231
|
-
| 5 | P1 | E | Toolkit | Add read-only annotations to the
|
|
231
|
+
| 5 | P1 | E | Toolkit | Add read-only annotations to the multi-agent-toolkit device tools | Medium |
|
|
232
232
|
| 6 | P2 | C | DevEx | Rename npm scripts for consistency | Low |
|
|
233
233
|
```
|
|
234
234
|
|
|
@@ -241,14 +241,14 @@ Priority levels:
|
|
|
241
241
|
|
|
242
242
|
After showing the plan, ask:
|
|
243
243
|
|
|
244
|
-
> "Found X items (P0: N, P1: M, P2: K) across bugs, best-practices, improvements, upstream drift, and
|
|
244
|
+
> "Found X items (P0: N, P1: M, P2: K) across bugs, best-practices, improvements, upstream drift, and multi-agent-toolkit practice. Should I start the work?"
|
|
245
245
|
|
|
246
246
|
Options:
|
|
247
247
|
- "Yes, do all"
|
|
248
248
|
- "Only P0"
|
|
249
249
|
- "P0 + P1 only"
|
|
250
250
|
- "Only bugs (band B)"
|
|
251
|
-
- "Only the
|
|
251
|
+
- "Only the multi-agent-toolkit (band E)"
|
|
252
252
|
- (the user may pick specific items)
|
|
253
253
|
|
|
254
254
|
**Never start the work without approval.**
|
|
@@ -305,7 +305,7 @@ If $ARGUMENTS is set, focus on that band/category only:
|
|
|
305
305
|
| `bugs` | Bug hunt only (band B) |
|
|
306
306
|
| `best-practices` | Field research + adapted plan only (band A) |
|
|
307
307
|
| `drift` | Upstream derived-skill drift only (band D) |
|
|
308
|
-
| `
|
|
308
|
+
| `multi-agent-toolkit` | Companion MCP toolkit research + audit only (band E) |
|
|
309
309
|
| `security` | Security analysis only |
|
|
310
310
|
| `tests` | Test coverage and quality only |
|
|
311
311
|
| `performance` | Performance optimisation only |
|