@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.
Files changed (37) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +6 -7
  3. package/README.tr.md +6 -7
  4. package/docs/architecture.md +3 -3
  5. package/docs/ecosystem.md +5 -5
  6. package/docs/facts.json +4 -5
  7. package/install/catalog-history.json +1 -1
  8. package/manifest.json +36 -37
  9. package/package.json +1 -1
  10. package/pipeline/commands/multi-agent/channels/SKILL.md +4 -2
  11. package/pipeline/commands/multi-agent/sync/SKILL.md +3 -3
  12. package/pipeline/lib/_jira-auth.sh +3 -1
  13. package/pipeline/lib/jira-family-write.sh +339 -0
  14. package/pipeline/lib/jira-publish.sh +28 -1
  15. package/pipeline/multi-agent-refs/channels/jira.md +2 -0
  16. package/pipeline/multi-agent-refs/cross-cli-contract.md +4 -4
  17. package/pipeline/multi-agent-refs/features/jira-family.md +175 -0
  18. package/pipeline/multi-agent-refs/help/en.md +0 -1
  19. package/pipeline/multi-agent-refs/help/tr.md +0 -1
  20. package/pipeline/multi-agent-refs/phases/phase-0-init.md +3 -1
  21. package/pipeline/multi-agent-refs/phases/phase-2-dev.md +0 -2
  22. package/pipeline/schemas/agent-state.schema.json +36 -5
  23. package/pipeline/schemas/phases.json +0 -4
  24. package/pipeline/schemas/prefs.schema.json +23 -23
  25. package/pipeline/scripts/jira-family.mjs +947 -0
  26. package/pipeline/scripts/jira-wiki-escape.mjs +3 -3
  27. package/pipeline/skills/.skill-manifest.json +5 -9
  28. package/pipeline/skills/.skills-index.json +1 -12
  29. package/pipeline/skills/shared/README.md +3 -4
  30. package/pipeline/skills/shared/core/multi-agent/SKILL.md +5 -0
  31. package/pipeline/skills/shared/core/multi-agent-channels/SKILL.md +7 -0
  32. package/pipeline/skills/shared/core/multi-agent-sync/SKILL.md +3 -3
  33. package/pipeline/skills/skills-index.md +1 -2
  34. package/pipeline/commands/multi-agent/deps/SKILL.md +0 -61
  35. package/pipeline/multi-agent-refs/features/dep-bump.md +0 -176
  36. package/pipeline/scripts/dep-bump.mjs +0 -1556
  37. 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. 93 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.
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 66 sub-commands. `/multi-agent:help` renders the same catalog in your terminal, in your `outputLanguage`.
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 66 commands.
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 + 66 sub-command skills + scripts |
417
- | Codex CLI | `--codex` | one router skill + 66 specs as refs + 10 agent TOML + `AGENTS.md` block + `codex mcp add` |
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 66.** Codex assembles every discovered skill's name
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. 90 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.
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 66 alt komut. `/multi-agent:help` aynı katalogu terminalde, `outputLanguage` ayarına göre gösterir.
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ı 66 komutu alır.
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 + 66 alt-komut skill'i + script'ler |
416
- | Codex CLI | `--codex` | bir router skill + ref olarak 66 spec + 10 agent TOML + `AGENTS.md` bloğu + `codex mcp add` |
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 66 değil de tek bir skill alıyor.** Codex, keşfettiği her skill'in adını
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
@@ -113,7 +113,7 @@ graph TB
113
113
  end
114
114
 
115
115
  subgraph "Pipeline Specs"
116
- CMD[commands/<br/>66 command files]
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 + 66 sub-command skills)"]
208
- COD["Codex CLI<br/>(1 router skill + 66 refs)"]
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 66 slash commands, quality gates, review/triage, cross-CLI parity | npm package (`@mmerterden/multi-agent-pipeline`), installs itself onto Claude Code / Copilot CLI / Codex CLI |
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 · 66 commands"]
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/>66 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 + 66 refs<br/>+ 10 agent TOML"]
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** | 66 slash-command skills, native | 66 sub-command skills, `multi-agent-{cmd}` naming, copied in | 1 router skill (`multi-agent`) + 66 command specs as reference files - Codex silently truncates its skills block past a few dozen entries, so sub-commands are not peer skills here |
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.25.0",
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": 66,
38
+ "commandCount": 65,
40
39
  "skillCount": 161,
41
- "skillCountAll": 230,
40
+ "skillCountAll": 229,
42
41
  "agentCount": 10,
43
42
  "hosts": ["Claude Code", "Codex CLI", "Copilot CLI"],
44
43
  "toolCount": 197,