@mmerterden/multi-agent-pipeline 20.25.0 → 20.26.0
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 +18 -0
- package/README.md +6 -7
- package/README.tr.md +6 -7
- package/docs/architecture.md +3 -3
- package/docs/ecosystem.md +5 -5
- package/docs/facts.json +4 -5
- package/install/catalog-history.json +1 -1
- package/manifest.json +36 -37
- package/package.json +1 -1
- package/pipeline/commands/multi-agent/channels/SKILL.md +4 -2
- package/pipeline/commands/multi-agent/sync/SKILL.md +3 -3
- package/pipeline/lib/_jira-auth.sh +3 -1
- package/pipeline/lib/jira-family-write.sh +339 -0
- package/pipeline/lib/jira-publish.sh +28 -1
- package/pipeline/multi-agent-refs/channels/jira.md +2 -0
- package/pipeline/multi-agent-refs/cross-cli-contract.md +4 -4
- package/pipeline/multi-agent-refs/features/jira-family.md +175 -0
- package/pipeline/multi-agent-refs/help/en.md +0 -1
- package/pipeline/multi-agent-refs/help/tr.md +0 -1
- package/pipeline/multi-agent-refs/phases/phase-0-init.md +3 -1
- package/pipeline/multi-agent-refs/phases/phase-2-dev.md +0 -2
- package/pipeline/schemas/agent-state.schema.json +36 -5
- package/pipeline/schemas/phases.json +0 -4
- package/pipeline/schemas/prefs.schema.json +23 -23
- package/pipeline/scripts/jira-family.mjs +947 -0
- package/pipeline/scripts/jira-wiki-escape.mjs +3 -3
- package/pipeline/skills/.skill-manifest.json +5 -9
- package/pipeline/skills/.skills-index.json +1 -12
- package/pipeline/skills/shared/README.md +3 -4
- package/pipeline/skills/shared/core/multi-agent/SKILL.md +5 -0
- package/pipeline/skills/shared/core/multi-agent-channels/SKILL.md +7 -0
- package/pipeline/skills/shared/core/multi-agent-sync/SKILL.md +3 -3
- package/pipeline/skills/skills-index.md +1 -2
- package/pipeline/commands/multi-agent/deps/SKILL.md +0 -61
- package/pipeline/multi-agent-refs/features/dep-bump.md +0 -176
- package/pipeline/scripts/dep-bump.mjs +0 -1556
- package/pipeline/skills/shared/core/multi-agent-deps/SKILL.md +0 -60
package/CHANGELOG.md
CHANGED
|
@@ -16,6 +16,24 @@ Internal file-layout changes that don't affect the slash-command surface are sti
|
|
|
16
16
|
|
|
17
17
|
## [Unreleased]
|
|
18
18
|
|
|
19
|
+
## [20.26.0] - 2026-10-14
|
|
20
|
+
|
|
21
|
+
### Added
|
|
22
|
+
|
|
23
|
+
- **Jira issue family.** A run started from a Jira story or one of its sub-tasks resolves the story, the development sub-task and the test sub-task once its state file exists (`jira-family-write.sh resolve`, `state.jiraFamily`), by issue type: an issue is a sub-task only when its type says so, and only a story type (`issueTree.storyIssueTypes`) is reformatted. Channels then writes to each (`plan`, then `apply`): the Jira comment goes to the development sub-task unchanged; a test comment in the dev comment's four sections (summary, scenarios, impact, links with the PR and build) goes to the test sub-task, or to the story when there is none; and a story outside the `/multi-agent:analysis-jira` panel format is reformatted. The reformat sends every non-blank line of the author's text unchanged, heading lines and line endings included; only whole-line panel macros are replaced, headings are added where a block had none, and blank lines at section edges are dropped, and a description it cannot prove safe (unbalanced macros, mixed line endings, a lost line) is not written. Attended runs confirm every write once in a grouped, deselectable prompt ("3 yazma: story açıklaması, dev yorumu, test yorumu") and are asked only which sub-task when there are several; autopilot makes all writes and records each choice in `state.decisions[]`. Comments carry a hidden run marker counted only in the authenticated user's comments, a conforming or since-edited story is never written, and `state.jiraFamily.writes` is merged by write id, so a re-run writes nothing twice. Works the same on Claude Code, Copilot CLI and Codex. Settings: `issueTree.familyWrites`, `storyIssueTypes`, `testSubtaskTypes`, `devSubtaskTypes`. Contract: `multi-agent-refs/features/jira-family.md`.
|
|
24
|
+
- `jira-publish.sh --raw` sends a body that is already Jira markup without the emoticon escape, and `--expect-file` refuses (exit 6) a description replace when the text changed since the caller read it; the outbound gate and the backup still apply to both.
|
|
25
|
+
|
|
26
|
+
### Fixed
|
|
27
|
+
|
|
28
|
+
- `jira-wiki-escape.mjs` printed nothing when reached through a symlink (`install --link`, macOS `/var` temp paths), so `jira-publish.sh` posted an empty body; it now resolves the path, and `jira-publish.sh` refuses a body that escapes to nothing.
|
|
29
|
+
- `_jira-auth.sh` reads `MULTI_AGENT_PREFS` like `jira-publish.sh`, so a read and the write after it use the same Jira host and token.
|
|
30
|
+
|
|
31
|
+
## [20.25.1] - 2026-10-14
|
|
32
|
+
|
|
33
|
+
### Removed
|
|
34
|
+
|
|
35
|
+
- `/multi-agent:deps`, `dep-bump.mjs` and the `depBump` settings are removed: updating a project's own dependencies is outside what this pipeline does.
|
|
36
|
+
|
|
19
37
|
## [20.25.0] - 2026-10-14
|
|
20
38
|
|
|
21
39
|
### Added
|
package/README.md
CHANGED
|
@@ -17,7 +17,7 @@ Runs natively on Claude Code, Copilot CLI and Codex CLI. macOS only. Zero runtim
|
|
|
17
17
|
### Prerequisites
|
|
18
18
|
|
|
19
19
|
- **Node.js >= 20.11** - required; the pipeline's own tooling runs on it.
|
|
20
|
-
- **`jq`** - required for nine paths, optional for the rest.
|
|
20
|
+
- **`jq`** - required for nine paths, optional for the rest. 95 shell files call it. The nine that publish or decide - the autopilot queue, Jira comments, PR reviews, issue updates, the plan file, both Figma fetchers, log search and Jira auth - refuse with exit 3 rather than run, because a missing `jq` renders as empty DATA and the work carries on with it. Everywhere else it still degrades. The install prints a note when it is missing.
|
|
21
21
|
- **`gh`** - for GitHub issue and PR work. Its built-in `--jq` is independent of the `jq` binary.
|
|
22
22
|
|
|
23
23
|
## Quick Start
|
|
@@ -158,7 +158,7 @@ The discipline behind all of this - bounded loops, evidence gates, token-budgete
|
|
|
158
158
|
|
|
159
159
|
## Commands
|
|
160
160
|
|
|
161
|
-
`/multi-agent` plus
|
|
161
|
+
`/multi-agent` plus 65 sub-commands. `/multi-agent:help` renders the same catalog in your terminal, in your `outputLanguage`.
|
|
162
162
|
|
|
163
163
|
### Pipeline entries
|
|
164
164
|
|
|
@@ -166,7 +166,6 @@ The discipline behind all of this - bounded loops, evidence gates, token-budgete
|
|
|
166
166
|
| ------------------------------------- | ---------------------------------------------------------------------------------------------------- |
|
|
167
167
|
| `/multi-agent "task"` | The pipeline; Phase 0 asks where the branch lives |
|
|
168
168
|
| `/multi-agent:autopilot "task"` | The same pipeline, unattended: worktree resolved, no confirmations |
|
|
169
|
-
| `/multi-agent:deps [pkg[@ver]]` | Bump one dependency, fix only the breakage it caused, review, PR; rolls back past the fix round cap |
|
|
170
169
|
| `/multi-agent:resume` | Unfinished work, either source: a stopped run picks up where it left off, a branch with no run behind it gets the tail (Review → Build+Test → Commit/PR → Report) |
|
|
171
170
|
|
|
172
171
|
### Task control
|
|
@@ -408,17 +407,17 @@ This enables the matching plugin (+ the shared `ai-common` plugin) in the repo's
|
|
|
408
407
|
|
|
409
408
|
## Tool support
|
|
410
409
|
|
|
411
|
-
The pipeline runs natively on **Claude Code**, **Copilot CLI** and **Codex CLI** - all three install from the same `pipeline/` source and get the same
|
|
410
|
+
The pipeline runs natively on **Claude Code**, **Copilot CLI** and **Codex CLI** - all three install from the same `pipeline/` source and get the same 65 commands.
|
|
412
411
|
|
|
413
412
|
| Tool | Flag | What it installs |
|
|
414
413
|
| ----------- | -------------------- | ------------------------------------------------------------------------------------------------------ |
|
|
415
414
|
| Claude Code | `--claude` (default) | slash commands + skills + agents + three `PreToolUse` hooks (secret scan, agent-guard, read-size gate) |
|
|
416
|
-
| Copilot CLI | `--copilot` | instructions +
|
|
417
|
-
| Codex CLI | `--codex` | one router skill +
|
|
415
|
+
| Copilot CLI | `--copilot` | instructions + 65 sub-command skills + scripts |
|
|
416
|
+
| Codex CLI | `--codex` | one router skill + 65 specs as refs + 10 agent TOML + `AGENTS.md` block + `codex mcp add` |
|
|
418
417
|
|
|
419
418
|
Filter skills by stack with `--platform=ios\|android\|all`.
|
|
420
419
|
|
|
421
|
-
**Why Codex gets one skill and not
|
|
420
|
+
**Why Codex gets one skill and not 65.** Codex assembles every discovered skill's name
|
|
422
421
|
and description into a single prompt block and drops entries when it overflows, with no
|
|
423
422
|
error. Measured on 0.145: installing one plugin that declares 142 skills surfaced only
|
|
424
423
|
75 of them and evicted an unrelated user skill. So on Codex the pipeline ships a single
|
package/README.tr.md
CHANGED
|
@@ -17,7 +17,7 @@ Claude Code, Copilot CLI ve Codex CLI üzerinde native çalışır. Yalnızca ma
|
|
|
17
17
|
### Önkoşullar
|
|
18
18
|
|
|
19
19
|
- **Node.js >= 20.11** - zorunlu; pipeline'ın kendi araçları bunun üzerinde koşuyor.
|
|
20
|
-
- **`jq`** - dokuz yol için zorunlu, geri kalanı için opsiyonel.
|
|
20
|
+
- **`jq`** - dokuz yol için zorunlu, geri kalanı için opsiyonel. 95 kabuk dosyası ona başvuruyor. Yayınlayan ya da karar veren dokuzu - autopilot kuyruğu, Jira yorumları, PR review'ları, issue güncellemeleri, plan dosyası, iki Figma fetcher'ı, log araması ve Jira auth - `jq` yokken çalışmak yerine exit 3 ile reddediyor, çünkü eksik bir `jq` boş VERİ olarak görünür ve iş onunla devam eder. Diğer yerlerde `jq` olmadan da çalışıyor, yalnızca daha az şey yapıyor. Kurulum, eksikse bir not basıyor.
|
|
21
21
|
- **`gh`** - GitHub issue ve PR işleri için. Kendi dahili `--jq`'su, `jq` ikilisinden bağımsız.
|
|
22
22
|
|
|
23
23
|
## Hızlı Başlangıç
|
|
@@ -157,7 +157,7 @@ Koşunun kendisinde ayarlanabilen tek şey autopilot; geri kalan her şey kendi
|
|
|
157
157
|
|
|
158
158
|
## Komutlar
|
|
159
159
|
|
|
160
|
-
`/multi-agent` ve
|
|
160
|
+
`/multi-agent` ve 65 alt komut. `/multi-agent:help` aynı katalogu terminalde, `outputLanguage` ayarına göre gösterir.
|
|
161
161
|
|
|
162
162
|
### Pipeline girişleri
|
|
163
163
|
|
|
@@ -165,7 +165,6 @@ Koşunun kendisinde ayarlanabilen tek şey autopilot; geri kalan her şey kendi
|
|
|
165
165
|
| ------------------------------------- | ----------------------------------------------------------------------------------------------- |
|
|
166
166
|
| `/multi-agent "task"` | Pipeline; branch'in nerede yaşayacağını Faz 0 sorar |
|
|
167
167
|
| `/multi-agent:autopilot "task"` | Aynı pipeline, gözetimsiz: worktree'ye çözülür, onay sorulmaz |
|
|
168
|
-
| `/multi-agent:deps [paket[@sürüm]]` | Tek bağımlılığı yükseltir, yalnızca kırdığını düzeltir, review, PR; düzeltme turu sınırında geri alır |
|
|
169
168
|
| `/multi-agent:resume` | Yarım kalan iş, iki kaynaktan da: duran koşu kaldığı yerden devam eder, arkasında koşu olmayan branch kuyruğu alır (Review → Build+Test → Commit/PR → Report) |
|
|
170
169
|
|
|
171
170
|
### Görev kontrolü
|
|
@@ -407,17 +406,17 @@ Bu, ilgili plugin'i (+ ortak `ai-common` plugin'ini) repo'nun `.claude/settings.
|
|
|
407
406
|
|
|
408
407
|
## Araç desteği
|
|
409
408
|
|
|
410
|
-
Pipeline **Claude Code**, **Copilot CLI** ve **Codex CLI** üzerinde native çalışır - üçü de aynı `pipeline/` kaynağından kurulur ve aynı
|
|
409
|
+
Pipeline **Claude Code**, **Copilot CLI** ve **Codex CLI** üzerinde native çalışır - üçü de aynı `pipeline/` kaynağından kurulur ve aynı 65 komutu alır.
|
|
411
410
|
|
|
412
411
|
| Araç | Bayrak | Ne kurar |
|
|
413
412
|
| ----------- | ----------------------- | ---------------------------------------------------------------------------------------------------------------- |
|
|
414
413
|
| Claude Code | `--claude` (varsayılan) | slash komutları + skill'ler + agent'lar + üç `PreToolUse` hook'u (secret scan, agent-guard, okuma-boyutu geçidi) |
|
|
415
|
-
| Copilot CLI | `--copilot` | talimatlar +
|
|
416
|
-
| Codex CLI | `--codex` | bir router skill + ref olarak
|
|
414
|
+
| Copilot CLI | `--copilot` | talimatlar + 65 alt-komut skill'i + script'ler |
|
|
415
|
+
| Codex CLI | `--codex` | bir router skill + ref olarak 65 spec + 10 agent TOML + `AGENTS.md` bloğu + `codex mcp add` |
|
|
417
416
|
|
|
418
417
|
Skill'leri stack'e göre filtrele: `--platform=ios\|android\|all`.
|
|
419
418
|
|
|
420
|
-
**Codex neden
|
|
419
|
+
**Codex neden 65 değil de tek bir skill alıyor.** Codex, keşfettiği her skill'in adını
|
|
421
420
|
ve açıklamasını tek bir prompt bloğuna toplar ve blok taştığında girdileri hatasızca
|
|
422
421
|
düşürür. 0.145 üzerinde ölçüldü: 142 skill deklare eden bir plugin kurulduğunda sadece
|
|
423
422
|
75'i yüzeye çıktı ve alakasız bir kullanıcı skill'i tahliye edildi. Bu yüzden Codex'te
|
package/docs/architecture.md
CHANGED
|
@@ -113,7 +113,7 @@ graph TB
|
|
|
113
113
|
end
|
|
114
114
|
|
|
115
115
|
subgraph "Pipeline Specs"
|
|
116
|
-
CMD[commands/<br/>
|
|
116
|
+
CMD[commands/<br/>65 command files]
|
|
117
117
|
AGT[agents/<br/>10 agent personas]
|
|
118
118
|
RUL[rules/<br/>13 domain rules]
|
|
119
119
|
PHS[multi-agent-refs/phases/<br/>phase specs + contracts]
|
|
@@ -204,8 +204,8 @@ repo and the website, plus the two independently shipped repos
|
|
|
204
204
|
```mermaid
|
|
205
205
|
graph TD
|
|
206
206
|
CC["Claude Code<br/>(source of truth)"]
|
|
207
|
-
COP["Copilot CLI<br/>(instructions +
|
|
208
|
-
COD["Codex CLI<br/>(1 router skill +
|
|
207
|
+
COP["Copilot CLI<br/>(instructions + 65 sub-command skills)"]
|
|
208
|
+
COD["Codex CLI<br/>(1 router skill + 65 refs)"]
|
|
209
209
|
REPO["Pipeline Repo<br/>(npm package)"]
|
|
210
210
|
WEB["Website"]
|
|
211
211
|
PLUGREPO["multi-agent-plugins<br/>(6 plugins, own repo)"]
|
package/docs/ecosystem.md
CHANGED
|
@@ -5,7 +5,7 @@ separately, wired together at install time and at run time:
|
|
|
5
5
|
|
|
6
6
|
| Repo | What it owns | Ships as |
|
|
7
7
|
|---|---|---|
|
|
8
|
-
| **`multi-agent-pipeline`** (this repo) | Orchestration: the 6-phase flow, the
|
|
8
|
+
| **`multi-agent-pipeline`** (this repo) | Orchestration: the 6-phase flow, the 65 slash commands, quality gates, review/triage, cross-CLI parity | npm package (`@mmerterden/multi-agent-pipeline`), installs itself onto Claude Code / Copilot CLI / Codex CLI |
|
|
9
9
|
| **`multi-agent-plugins`** | Stack knowledge: per-platform component/lifecycle skills (iOS, Android, Frontend, Backend) + shared knowledge | Claude Code marketplace, 6 independently-versioned plugins |
|
|
10
10
|
| **`multi-agent-toolkit-mcp`** | The pipeline's hands on devices and browsers: 197 MCP tools across 21 categories (simulator/emulator control, end-to-end locators and assertions, memory, crash diagnostics, accessibility audit, store compliance, web automation and scraping, Figma-vs-mock design audit, code intelligence, wallet passes, an agent-DSL batch runner, a full-text context index with text-to-image rendering, provider-backed research, verified hand-off of simple text tasks to free models, video key frames, offline security scoring, read-only access to related repositories at their latest branch, travel document fixtures, a voice channel, App Store Connect and Play Console APIs, virtual iPhones) | npm package, registered as a standard stdio MCP server on every host |
|
|
11
11
|
|
|
@@ -18,7 +18,7 @@ Either can be swapped or removed without touching the other two's source.
|
|
|
18
18
|
graph LR
|
|
19
19
|
subgraph PIPE ["multi-agent-pipeline (orchestrator)"]
|
|
20
20
|
direction TB
|
|
21
|
-
PHASES["6 phases ·
|
|
21
|
+
PHASES["6 phases · 65 commands"]
|
|
22
22
|
GATES["deterministic gates + review triage"]
|
|
23
23
|
end
|
|
24
24
|
|
|
@@ -68,8 +68,8 @@ only those:
|
|
|
68
68
|
graph TD
|
|
69
69
|
CC["Claude Code<br/>~/.claude/commands/multi-agent/<br/>(source of truth)"]
|
|
70
70
|
|
|
71
|
-
CC -->|"Step 2: copy + reformat<br/>
|
|
72
|
-
CC -->|"Step 2b: transform<br/>(install.js --codex)"| COD["Codex CLI<br/>1 router skill +
|
|
71
|
+
CC -->|"Step 2: copy + reformat<br/>65 sub-command skills"| COP["Copilot CLI<br/>~/.copilot/skills/"]
|
|
72
|
+
CC -->|"Step 2b: transform<br/>(install.js --codex)"| COD["Codex CLI<br/>1 router skill + 65 refs<br/>+ 10 agent TOML"]
|
|
73
73
|
CC -->|"Step 3: genericize<br/>(strip personal data)"| REPO["multi-agent-pipeline repo<br/>pipeline/"]
|
|
74
74
|
CC -->|"Step 4: version + feature sync"| WEB["Website<br/>projects.ts / i18n.tsx"]
|
|
75
75
|
|
|
@@ -161,7 +161,7 @@ measurements behind this table):
|
|
|
161
161
|
|
|
162
162
|
| | Claude Code | Copilot CLI | Codex CLI |
|
|
163
163
|
|---|---|---|---|
|
|
164
|
-
| **Pipeline commands** |
|
|
164
|
+
| **Pipeline commands** | 65 slash-command skills, native | 65 sub-command skills, `multi-agent-{cmd}` naming, copied in | 1 router skill (`multi-agent`) + 65 command specs as reference files - Codex silently truncates its skills block past a few dozen entries, so sub-commands are not peer skills here |
|
|
165
165
|
| **Stack plugins** | Marketplace plugin, loaded natively, resolved by `.claude/settings.json` enabled-list | Enabled plugin's authored skills copied flat into `~/.copilot/skills/`; `knowledge/` **not** re-copied (already delivered via `shared/external`) | Copied as reference files under `~/.codex/multi-agent-refs/skills/`, plugin-prefixed on name clash (e.g. `architecture` → `ai-ios-toolkit-architecture`) |
|
|
166
166
|
| **Component dispatch (Phase 3)** | Marketplace plugin's `create-component`/`create-screen` skill via the Skill tool | No plugin loader - the enabled stack plugin's authored skills (incl. `create-component`) are copied flat into `~/.copilot/skills/` at install time (the old frozen `figma-*` copies are pruned, they were never a fallback) | Not part of the enforced parity axis; classification + state-shape must match, skill *inventory* does not |
|
|
167
167
|
| **multi-agent-toolkit-mcp** | `claude mcp add multi-agent-toolkit -- npx -y @mmerterden/multi-agent-toolkit-mcp` | `copilot mcp add multi-agent-toolkit -- npx -y @mmerterden/multi-agent-toolkit-mcp` | `codex mcp add multi-agent-toolkit -- npx -y @mmerterden/multi-agent-toolkit-mcp` (skipped with a warning if `codex` isn't on `PATH`) |
|
package/docs/facts.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$comment": "Generated by pipeline/scripts/gen-facts.mjs. Do not hand-edit: the site reads this, and a number edited here instead of at its source is the drift this file removes.",
|
|
3
3
|
"generatedAt": "2026-10-14",
|
|
4
|
-
"version": "20.
|
|
4
|
+
"version": "20.26.0",
|
|
5
5
|
"phaseSchema": 2,
|
|
6
6
|
"phases": [
|
|
7
7
|
{
|
|
@@ -33,12 +33,11 @@
|
|
|
33
33
|
"modes": {
|
|
34
34
|
"full": [0, 1, 2, 3, 4, 5],
|
|
35
35
|
"autopilot": [0, 1, 2, 3, 4, 5],
|
|
36
|
-
"analysis": [0, 1, 3, 4, 5]
|
|
37
|
-
"deps": [0, 1, 2, 3, 4, 5]
|
|
36
|
+
"analysis": [0, 1, 3, 4, 5]
|
|
38
37
|
},
|
|
39
|
-
"commandCount":
|
|
38
|
+
"commandCount": 65,
|
|
40
39
|
"skillCount": 161,
|
|
41
|
-
"skillCountAll":
|
|
40
|
+
"skillCountAll": 229,
|
|
42
41
|
"agentCount": 10,
|
|
43
42
|
"hosts": ["Claude Code", "Codex CLI", "Copilot CLI"],
|
|
44
43
|
"toolCount": 197,
|