@mmerterden/multi-agent-pipeline 17.5.1 → 18.0.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 +276 -0
- package/README.md +59 -1
- package/README.tr.md +57 -0
- package/docs/adr/0011-dormant-ci.md +25 -1
- package/docs/features.md +24 -0
- package/docs/server-readiness.md +188 -0
- package/docs/token-budget-history.md +1 -1
- package/index.js +16 -1
- package/install/_common.mjs +42 -17
- package/install/_dev-only-files.mjs +8 -0
- package/install/_unattended-profile.mjs +113 -0
- package/install/index.mjs +48 -0
- package/install/templates/claude-hooks.json +13 -1
- package/manifest.json +1049 -0
- package/package.json +5 -2
- package/pipeline/commands/multi-agent/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/feedback/SKILL.md +7 -1
- package/pipeline/commands/multi-agent/graph/SKILL.md +1 -1
- package/pipeline/commands/multi-agent/issue/SKILL.md +13 -1
- package/pipeline/commands/multi-agent/jira/SKILL.md +13 -1
- package/pipeline/commands/multi-agent/resume/SKILL.md +16 -1
- package/pipeline/commands/multi-agent/setup/SKILL.md +14 -16
- package/pipeline/commands/multi-agent/status/SKILL.md +52 -21
- package/pipeline/commands/multi-agent/update/SKILL.md +13 -56
- package/pipeline/lib/_jira-auth.sh +8 -0
- package/pipeline/lib/analysis-jira-write.sh +32 -0
- package/pipeline/lib/ask-choice.sh +13 -2
- package/pipeline/lib/autopilot-state.sh +8 -0
- package/pipeline/lib/fatal.mjs +129 -0
- package/pipeline/lib/figma-mcp-refresh.sh +18 -0
- package/pipeline/lib/figma-screenshot.sh +18 -0
- package/pipeline/lib/invoked-directly.mjs +43 -0
- package/pipeline/lib/jira-publish.sh +42 -0
- package/pipeline/lib/md2confluence-v3.py +47 -0
- package/pipeline/lib/outbound-gate.mjs +175 -0
- package/pipeline/lib/plan-todos.sh +27 -6
- package/pipeline/lib/post-pr-review.sh +77 -8
- package/pipeline/lib/repo-hygiene.sh +8 -3
- package/pipeline/lib/require-jq.sh +40 -0
- package/pipeline/lib/run-paths.sh +335 -0
- package/pipeline/multi-agent-refs/features/autopilot-circuit-breaker.md +70 -0
- package/pipeline/multi-agent-refs/features/code-graph.md +20 -0
- package/pipeline/multi-agent-refs/features/cost-analysis.md +93 -0
- package/pipeline/multi-agent-refs/features/doctor.md +68 -0
- package/pipeline/multi-agent-refs/features/maturity-followup.md +166 -0
- package/pipeline/multi-agent-refs/features/package-manager.md +80 -0
- package/pipeline/multi-agent-refs/features/usage-reporting.md +79 -0
- package/pipeline/multi-agent-refs/features/verify-by-test.md +1 -1
- package/pipeline/multi-agent-refs/features/verify.md +83 -0
- package/pipeline/multi-agent-refs/phases/operations.md +13 -2
- package/pipeline/multi-agent-refs/phases/phase-0-init.md +6 -3
- package/pipeline/multi-agent-refs/phases/phase-3-dev.md +8 -2
- package/pipeline/multi-agent-refs/phases/phase-4-review.md +1 -1
- package/pipeline/multi-agent-refs/picker-contract.md +1 -1
- package/pipeline/multi-agent-refs/unattended-contract.md +129 -0
- package/pipeline/preferences-template.json +1 -1
- package/pipeline/schemas/agent-state.schema.json +122 -11
- package/pipeline/schemas/prefs.schema.json +35 -0
- package/pipeline/schemas/token-budget.json +2 -2
- package/pipeline/scripts/_run-paths.mjs +372 -0
- package/pipeline/scripts/aggregate-metrics.mjs +64 -64
- package/pipeline/scripts/autopilot-arming.mjs +2 -1
- package/pipeline/scripts/autopilot-intake.mjs +2 -1
- package/pipeline/scripts/autopilot-runner.mjs +206 -2
- package/pipeline/scripts/build-references.mjs +2 -1
- package/pipeline/scripts/build-stack-plugins.mjs +10 -2
- package/pipeline/scripts/capture-evidence.sh +7 -2
- package/pipeline/scripts/classify-plan-safety.mjs +2 -1
- package/pipeline/scripts/cost-analyze.mjs +600 -0
- package/pipeline/scripts/cost-budget-check.mjs +4 -12
- package/pipeline/scripts/council-view.mjs +2 -1
- package/pipeline/scripts/crush-json.mjs +2 -1
- package/pipeline/scripts/diff-explain.mjs +6 -9
- package/pipeline/scripts/diff-risk-score.mjs +2 -1
- package/pipeline/scripts/doctor.mjs +203 -4
- package/pipeline/scripts/evidence-gate.mjs +9 -3
- package/pipeline/scripts/feedback-send.mjs +13 -3
- package/pipeline/scripts/gc-abandoned.sh +29 -13
- package/pipeline/scripts/gc-worktrees.sh +11 -4
- package/pipeline/scripts/github-ssh-setup.sh +64 -7
- package/pipeline/scripts/graph-mermaid.mjs +4 -2
- package/pipeline/scripts/graph-report.mjs +155 -1
- package/pipeline/scripts/keychain-save.sh +101 -30
- package/pipeline/scripts/learn-from-transcripts.mjs +2 -1
- package/pipeline/scripts/learning-curve.mjs +34 -29
- package/pipeline/scripts/make-manifest.mjs +199 -0
- package/pipeline/scripts/maturity-followup.mjs +294 -0
- package/pipeline/scripts/migrate-prefs.mjs +2 -1
- package/pipeline/scripts/migrate-state.mjs +94 -4
- package/pipeline/scripts/package-manager.mjs +310 -0
- package/pipeline/scripts/phase-banner.sh +6 -2
- package/pipeline/scripts/phase-tracker.sh +41 -3
- package/pipeline/scripts/plan-coverage-gate.mjs +6 -2
- package/pipeline/scripts/pre-commit-check.sh +7 -0
- package/pipeline/scripts/pre-push-check.sh +7 -0
- package/pipeline/scripts/purge.sh +23 -6
- package/pipeline/scripts/render-agent-log-cost.sh +9 -2
- package/pipeline/scripts/render-cost-summary.sh +9 -2
- package/pipeline/scripts/render-work-summary.sh +11 -4
- package/pipeline/scripts/review-file-filter.mjs +4 -2
- package/pipeline/scripts/review-scope.mjs +2 -1
- package/pipeline/scripts/routine-registry.mjs +2 -1
- package/pipeline/scripts/run-aggregator.mjs +13 -14
- package/pipeline/scripts/run-metrics.mjs +3 -1
- package/pipeline/scripts/runs-index.mjs +343 -0
- package/pipeline/scripts/scorecard-snapshot.mjs +178 -0
- package/pipeline/scripts/search-logs.sh +18 -0
- package/pipeline/scripts/test-gap-scan.mjs +2 -1
- package/pipeline/scripts/test-integrity-gate.mjs +2 -1
- package/pipeline/scripts/update-issue-progress.sh +56 -7
- package/pipeline/scripts/usage-register.mjs +271 -0
- package/pipeline/scripts/usage-report.mjs +14 -3
- package/pipeline/scripts/validate-analysis-doc.mjs +2 -1
- package/pipeline/scripts/validate-code-graph.mjs +6 -3
- package/pipeline/scripts/validate-complaint-doc.mjs +2 -1
- package/pipeline/scripts/validate-diff-risk.mjs +6 -3
- package/pipeline/scripts/validate-test-gap.mjs +6 -3
- package/pipeline/scripts/validate-triage.mjs +3 -1
- package/pipeline/scripts/verify-citations.mjs +4 -2
- package/pipeline/scripts/verify.mjs +327 -0
- package/pipeline/scripts/worktree-finalize.sh +13 -4
- package/pipeline/scripts/write-state.mjs +154 -15
- package/pipeline/skills/.skill-manifest.json +6 -6
- package/pipeline/skills/.skills-index.json +56 -1
- package/pipeline/skills/shared/README.md +8 -3
- package/pipeline/skills/shared/core/multi-agent-issue/SKILL.md +14 -0
- package/pipeline/skills/shared/core/multi-agent-jira/SKILL.md +14 -0
- package/pipeline/skills/shared/core/multi-agent-setup/SKILL.md +13 -0
- package/pipeline/skills/shared/core/multi-agent-status/SKILL.md +33 -9
- package/pipeline/skills/shared/core/multi-agent-update/SKILL.md +6 -0
- package/pipeline/skills/shared/external/macos-spm-app-packaging/assets/templates/package_app.sh +4 -1
- package/pipeline/skills/shared/external/macos-spm-app-packaging/assets/templates/setup_dev_signing.sh +4 -1
- package/pipeline/skills/shared/external/macos-spm-app-packaging/assets/templates/sign-and-notarize.sh +2 -1
- package/pipeline/skills/skills-index.md +6 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": "1.0.0",
|
|
3
|
-
"generatedAt": "2026-09-
|
|
3
|
+
"generatedAt": "2026-09-17T11:16:58Z",
|
|
4
4
|
"skillCount": 212,
|
|
5
5
|
"entries": [
|
|
6
6
|
{
|
|
@@ -93,11 +93,11 @@
|
|
|
93
93
|
},
|
|
94
94
|
{
|
|
95
95
|
"path": "shared/core/multi-agent-issue/SKILL.md",
|
|
96
|
-
"sha256": "
|
|
96
|
+
"sha256": "8f8918c8a0f5d6431892e65737c685bb47a62379d023ac7c760a8a605d3eb0a4"
|
|
97
97
|
},
|
|
98
98
|
{
|
|
99
99
|
"path": "shared/core/multi-agent-jira/SKILL.md",
|
|
100
|
-
"sha256": "
|
|
100
|
+
"sha256": "1ceb984239217060ab9fa3e7964270f9c6245bef0a3cac429bc329548d91e617"
|
|
101
101
|
},
|
|
102
102
|
{
|
|
103
103
|
"path": "shared/core/multi-agent-kill/SKILL.md",
|
|
@@ -181,7 +181,7 @@
|
|
|
181
181
|
},
|
|
182
182
|
{
|
|
183
183
|
"path": "shared/core/multi-agent-setup/SKILL.md",
|
|
184
|
-
"sha256": "
|
|
184
|
+
"sha256": "d475f14de5db9ffe0c8ae5b3b83374d5f82a41c29da5271c7399d151e6bd4c1d"
|
|
185
185
|
},
|
|
186
186
|
{
|
|
187
187
|
"path": "shared/core/multi-agent-stack/SKILL.md",
|
|
@@ -189,7 +189,7 @@
|
|
|
189
189
|
},
|
|
190
190
|
{
|
|
191
191
|
"path": "shared/core/multi-agent-status/SKILL.md",
|
|
192
|
-
"sha256": "
|
|
192
|
+
"sha256": "3305fcce80bdad9ea0032e382276c5692a197749d9c012910daaea7a332bce0e"
|
|
193
193
|
},
|
|
194
194
|
{
|
|
195
195
|
"path": "shared/core/multi-agent-steer/SKILL.md",
|
|
@@ -233,7 +233,7 @@
|
|
|
233
233
|
},
|
|
234
234
|
{
|
|
235
235
|
"path": "shared/core/multi-agent-update/SKILL.md",
|
|
236
|
-
"sha256": "
|
|
236
|
+
"sha256": "8a0b089ea5c0d81813dc936d8b9d012f956e6381f71e025ca8878e538a8e9303"
|
|
237
237
|
},
|
|
238
238
|
{
|
|
239
239
|
"path": "shared/core/multi-agent/SKILL.md",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": "1.0.0",
|
|
3
|
-
"skillCount":
|
|
3
|
+
"skillCount": 212,
|
|
4
4
|
"entries": [
|
|
5
5
|
{
|
|
6
6
|
"name": "accessibility-compliance-accessibility-audit",
|
|
@@ -959,6 +959,17 @@
|
|
|
959
959
|
"triggerPaths": [],
|
|
960
960
|
"relativePath": "shared/core/multi-agent-analysis/SKILL.md"
|
|
961
961
|
},
|
|
962
|
+
{
|
|
963
|
+
"name": "multi-agent-analysis-jira",
|
|
964
|
+
"description": "Turn a rendered analysis document into a Jira story tree: derive stories from the document's own rule ids, check coverage both ways, preview every byte, then create only what does not already exist. Use when an analysis is final and the work needs tickets.",
|
|
965
|
+
"platform": null,
|
|
966
|
+
"group": "core",
|
|
967
|
+
"plugin": null,
|
|
968
|
+
"invokeAs": "multi-agent-analysis-jira",
|
|
969
|
+
"triggerKeywords": [],
|
|
970
|
+
"triggerPaths": [],
|
|
971
|
+
"relativePath": "shared/core/multi-agent-analysis-jira/SKILL.md"
|
|
972
|
+
},
|
|
962
973
|
{
|
|
963
974
|
"name": "multi-agent-analysis-resolve",
|
|
964
975
|
"description": "Resolve the Section 20 Risks and Open Questions of an analysis v3 document one row at a time: up to 3 source-labeled answer candidates per row (evidence / repo / AI reasoned), chosen answer merged into the target section, doc updated in place with a changelog bump. Same locked decisions as /multi-ag",
|
|
@@ -981,6 +992,39 @@
|
|
|
981
992
|
"triggerPaths": [],
|
|
982
993
|
"relativePath": "shared/core/multi-agent-autopilot/SKILL.md"
|
|
983
994
|
},
|
|
995
|
+
{
|
|
996
|
+
"name": "multi-agent-autopilot-off",
|
|
997
|
+
"description": "Turn off continuous mode on this machine: the schedule is removed, work already running finishes, the repo selection is kept. Use when the machine should stop picking work up.",
|
|
998
|
+
"platform": null,
|
|
999
|
+
"group": "core",
|
|
1000
|
+
"plugin": null,
|
|
1001
|
+
"invokeAs": "multi-agent-autopilot-off",
|
|
1002
|
+
"triggerKeywords": [],
|
|
1003
|
+
"triggerPaths": [],
|
|
1004
|
+
"relativePath": "shared/core/multi-agent-autopilot-off/SKILL.md"
|
|
1005
|
+
},
|
|
1006
|
+
{
|
|
1007
|
+
"name": "multi-agent-autopilot-on",
|
|
1008
|
+
"description": "Turn on continuous mode on THIS machine: pick the repos it watches; labelled GitHub issues and assigned+labelled Jira items then run in a worktree and stop at an open PR. Use when the machine should pick work up unattended.",
|
|
1009
|
+
"platform": null,
|
|
1010
|
+
"group": "core",
|
|
1011
|
+
"plugin": null,
|
|
1012
|
+
"invokeAs": "multi-agent-autopilot-on",
|
|
1013
|
+
"triggerKeywords": [],
|
|
1014
|
+
"triggerPaths": [],
|
|
1015
|
+
"relativePath": "shared/core/multi-agent-autopilot-on/SKILL.md"
|
|
1016
|
+
},
|
|
1017
|
+
{
|
|
1018
|
+
"name": "multi-agent-autopilot-status",
|
|
1019
|
+
"description": "Show what continuous mode is doing here: what runs at which phase, what is queued, what waits for an answer, what PRs it opened today. Use when asked whether autopilot is on.",
|
|
1020
|
+
"platform": null,
|
|
1021
|
+
"group": "core",
|
|
1022
|
+
"plugin": null,
|
|
1023
|
+
"invokeAs": "multi-agent-autopilot-status",
|
|
1024
|
+
"triggerKeywords": [],
|
|
1025
|
+
"triggerPaths": [],
|
|
1026
|
+
"relativePath": "shared/core/multi-agent-autopilot-status/SKILL.md"
|
|
1027
|
+
},
|
|
984
1028
|
{
|
|
985
1029
|
"name": "multi-agent-build-optimize",
|
|
986
1030
|
"description": "Wrapper that dispatches to xcode-build-orchestrator on iOS repos. Benchmarks the current Xcode build, runs compilation / project / SPM analyzers, produces a recommend-first optimization plan in .build-benchmark/, and re-benchmarks after the developer approves changes. Fails fast on non-iOS stacks. U",
|
|
@@ -1047,6 +1091,17 @@
|
|
|
1047
1091
|
"triggerPaths": [],
|
|
1048
1092
|
"relativePath": "shared/core/multi-agent-diff-explain/SKILL.md"
|
|
1049
1093
|
},
|
|
1094
|
+
{
|
|
1095
|
+
"name": "multi-agent-doctor",
|
|
1096
|
+
"description": "Health check for the installed pipeline: layout, preferences, credentials, hooks and host capabilities, each with one actionable step. Exit code is the verdict. Use when a run failed for an environmental reason, before a sync, or after an update.",
|
|
1097
|
+
"platform": null,
|
|
1098
|
+
"group": "core",
|
|
1099
|
+
"plugin": null,
|
|
1100
|
+
"invokeAs": "multi-agent-doctor",
|
|
1101
|
+
"triggerKeywords": [],
|
|
1102
|
+
"triggerPaths": [],
|
|
1103
|
+
"relativePath": "shared/core/multi-agent-doctor/SKILL.md"
|
|
1104
|
+
},
|
|
1050
1105
|
{
|
|
1051
1106
|
"name": "multi-agent-feedback",
|
|
1052
1107
|
"description": "Send one message to the maintainer: a bug, an idea or a question. Only the text you type is sent - no logs, no repo names, no paths. Shows the payload and asks before sending. Use when a run went wrong and the maintainer should know.",
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
Single source of truth for skills delivered to both Claude Code (`~/.claude/skills/`) and Copilot CLI (`~/.copilot/skills/`) by the installer.
|
|
4
4
|
|
|
5
|
-
**Total:**
|
|
5
|
+
**Total:** 212 skills (59 core + 153 external). Auto-generated by `scripts/gen-skills-index.mjs` - do not edit by hand.
|
|
6
6
|
|
|
7
7
|
## Directory layout
|
|
8
8
|
|
|
9
|
-
- **`core/`** -
|
|
9
|
+
- **`core/`** - 59 `multi-agent*` orchestration skills that are pipeline-critical. Edits here are core-code changes.
|
|
10
10
|
- **`external/`** - 153 iOS / Android / generic skills imported from the upstream skill library. Mirrors of third-party guidance.
|
|
11
11
|
- Install destinations (ADR-0009): Claude Code gets NO local copy of `external/` - it loads those skills from the `multi-agent-plugins` marketplace, namespaced (`ai-<stack>-toolkit:<name>`); only the two compliance catalogs from `core/` land in `~/.claude/skills/`. Copilot CLI and Codex CLI receive a flat copy filtered to the enabled stacks. `external/` remains the single authoring source that `build-stack-plugins.mjs` publishes from.
|
|
12
12
|
|
|
@@ -14,7 +14,7 @@ Source layout is logical grouping only - skill discovery at runtime is unchang
|
|
|
14
14
|
|
|
15
15
|
## Categories
|
|
16
16
|
|
|
17
|
-
- [Pipeline Orchestration](#pipeline-orchestration) -
|
|
17
|
+
- [Pipeline Orchestration](#pipeline-orchestration) - 59
|
|
18
18
|
- [iOS / Apple Ecosystem](#ios-apple-ecosystem) - 90
|
|
19
19
|
- [Android / Kotlin](#android-kotlin) - 13
|
|
20
20
|
- [Web](#web) - 10
|
|
@@ -29,14 +29,19 @@ Source layout is logical grouping only - skill discovery at runtime is unchang
|
|
|
29
29
|
| [`google-play-compliance`](./core/google-play-compliance/) | `core` | Google Play Store publication compliance - bundletool + aapt2 + apksigner orchestration + 21-rule policy catalog with Play Console error c |
|
|
30
30
|
| [`multi-agent`](./core/multi-agent/) | `core` | Task orchestrator: runs the full pipeline from a Jira ID or GitHub Issue URL - analysis → plan → TDD development → parallel review (Fable |
|
|
31
31
|
| [`multi-agent-analysis`](./core/multi-agent-analysis/) | `core` | Standalone feature-spec analysis. Two profiles picked at intake: global (23-section development handoff, 8 of them in Lite mode) or corporat |
|
|
32
|
+
| [`multi-agent-analysis-jira`](./core/multi-agent-analysis-jira/) | `core` | Turn a rendered analysis document into a Jira story tree: derive stories from the document's own rule ids, check coverage both ways, preview |
|
|
32
33
|
| [`multi-agent-analysis-resolve`](./core/multi-agent-analysis-resolve/) | `core` | Resolve the Section 20 Risks and Open Questions of an analysis v3 document one row at a time: up to 3 source-labeled answer candidates per r |
|
|
33
34
|
| [`multi-agent-autopilot`](./core/multi-agent-autopilot/) | `core` | Launch any task in autopilot mode: skips every confirmation, runs end-to-end autonomously. Use when a task should run end to end with no con |
|
|
35
|
+
| [`multi-agent-autopilot-off`](./core/multi-agent-autopilot-off/) | `core` | Turn off continuous mode on this machine: the schedule is removed, work already running finishes, the repo selection is kept. Use when the m |
|
|
36
|
+
| [`multi-agent-autopilot-on`](./core/multi-agent-autopilot-on/) | `core` | Turn on continuous mode on THIS machine: pick the repos it watches; labelled GitHub issues and assigned+labelled Jira items then run in a wo |
|
|
37
|
+
| [`multi-agent-autopilot-status`](./core/multi-agent-autopilot-status/) | `core` | Show what continuous mode is doing here: what runs at which phase, what is queued, what waits for an answer, what PRs it opened today. Use w |
|
|
34
38
|
| [`multi-agent-build-optimize`](./core/multi-agent-build-optimize/) | `core` | Wrapper that dispatches to xcode-build-orchestrator on iOS repos. Benchmarks the current Xcode build, runs compilation / project / SPM analy |
|
|
35
39
|
| [`multi-agent-channels`](./core/multi-agent-channels/) | `core` | Multi-channel reporter - Jira/Confluence/Wiki/PR description. Multi-select channels + content, humanizer pass, reviewer-preserving Bitbuck |
|
|
36
40
|
| [`multi-agent-complaint-analysis`](./core/multi-agent-complaint-analysis/) | `core` | Customer-complaint triage. Ingests complaints (paste, csv/xlsx/txt/json file, Jira issue, Confluence URL), fetches Graylog evidence per trx/ |
|
|
37
41
|
| [`multi-agent-create-jira`](./core/multi-agent-create-jira/) | `core` | Create a standards-compliant Jira issue (Task / Bug / Story): asks the type, mines project conventions, drafts from a standard template with |
|
|
38
42
|
| [`multi-agent-design-check`](./core/multi-agent-design-check/) | `core` | Mock-mode vs Figma design audit (iOS / Android, local-only). Pick repo + module, gate on mock support, enumerate every state driver into a c |
|
|
39
43
|
| [`multi-agent-diff-explain`](./core/multi-agent-diff-explain/) | `core` | Map Phase 4 triage findings to branch diff lines. Read-only post-hoc command, used after review to answer 'which finding lines up with which |
|
|
44
|
+
| [`multi-agent-doctor`](./core/multi-agent-doctor/) | `core` | Health check for the installed pipeline: layout, preferences, credentials, hooks and host capabilities, each with one actionable step. Exit |
|
|
40
45
|
| [`multi-agent-feedback`](./core/multi-agent-feedback/) | `core` | Send one message to the maintainer: a bug, an idea or a question. Only the text you type is sent - no logs, no repo names, no paths. Shows t |
|
|
41
46
|
| [`multi-agent-forget`](./core/multi-agent-forget/) | `core` | Remove a saved /multi-agent routine (created by /multi-agent:save): deletes its local-only command and its registry entry. Asks which one an |
|
|
42
47
|
| [`multi-agent-garbage-collect`](./core/multi-agent-garbage-collect/) | `core` | Sweep leftover /tmp scratch (picker state, review diffs, channel payloads, analysis drafts) from past runs. Dry-run first; confirms before d |
|
|
@@ -34,3 +34,17 @@ Interactively list unassigned GitHub issues, let the user pick one, and send it
|
|
|
34
34
|
- If the user passed the `autopilot` flag, start in autopilot mode
|
|
35
35
|
|
|
36
36
|
6. **gh auth restore** - return to `{owner}` once done
|
|
37
|
+
|
|
38
|
+
## Maturity: the picked item may not be ready
|
|
39
|
+
|
|
40
|
+
The pipeline scores the item before anything is built. A blocker does not end the
|
|
41
|
+
run any more: an interactive run asks at that step (open the item and fix it,
|
|
42
|
+
continue without it - recording which gap was waved through - or abort), and an
|
|
43
|
+
autopilot run with `prefs.global.maturityFollowup.autopilotCommentsOnIssue` on
|
|
44
|
+
posts ONE comment on the item asking for what is missing, then stops and waits for
|
|
45
|
+
`resume`. Never a status change, never an assignee, never a close; `Ref:`, never a
|
|
46
|
+
closing keyword. Read the item's existing comments first and take the prior ask
|
|
47
|
+
from the newest one of ours - a scan is a new run with a fresh state file, so
|
|
48
|
+
state alone would make every scan a first ask. Full contract:
|
|
49
|
+
`$HOME/.claude/multi-agent-refs/features/maturity-followup.md`.
|
|
50
|
+
|
|
@@ -36,3 +36,17 @@ Interactively list the user's open Jira issues, let the user pick one, and send
|
|
|
36
36
|
5. **Start the pipeline** - run the `/multi-agent` command:
|
|
37
37
|
- Input: `"PROJ-{id}" "branch-name"`
|
|
38
38
|
- If the `autopilot` flag is present, in autopilot mode
|
|
39
|
+
|
|
40
|
+
## Maturity: the picked item may not be ready
|
|
41
|
+
|
|
42
|
+
The pipeline scores the item before anything is built. A blocker does not end the
|
|
43
|
+
run any more: an interactive run asks at that step (open the item and fix it,
|
|
44
|
+
continue without it - recording which gap was waved through - or abort), and an
|
|
45
|
+
autopilot run with `prefs.global.maturityFollowup.autopilotCommentsOnIssue` on
|
|
46
|
+
posts ONE comment on the item asking for what is missing, then stops and waits for
|
|
47
|
+
`resume`. Never a status change, never an assignee, never a close; `Ref:`, never a
|
|
48
|
+
closing keyword. Read the item's existing comments first and take the prior ask
|
|
49
|
+
from the newest one of ours - a scan is a new run with a fresh state file, so
|
|
50
|
+
state alone would make every scan a first ask. Full contract:
|
|
51
|
+
`$HOME/.claude/multi-agent-refs/features/maturity-followup.md`.
|
|
52
|
+
|
|
@@ -141,6 +141,19 @@ Save the resolved mapping to preferences:
|
|
|
141
141
|
|
|
142
142
|
`null` = not mapped (missing or skipped). Pipeline phases read this mapping to retrieve tokens dynamically - never hardcoded key names.
|
|
143
143
|
|
|
144
|
+
### Step 2.7 - Operational reporting
|
|
145
|
+
|
|
146
|
+
```bash
|
|
147
|
+
node "$HOME/.claude/scripts/usage-register.mjs"
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
Requests a per-machine **write-only** token when none resolves, stores it in the
|
|
151
|
+
credential store only, and switches reporting on. Registration used to happen
|
|
152
|
+
only in update, so a machine that ran setup and nothing else never reported at
|
|
153
|
+
all. `usageLog.optOut: true` blocks it permanently; an unreachable endpoint
|
|
154
|
+
leaves reporting off with one line. Contract:
|
|
155
|
+
`$HOME/.claude/multi-agent-refs/features/usage-reporting.md`.
|
|
156
|
+
|
|
144
157
|
### Step 3 - Jira Project Key (auto-learned)
|
|
145
158
|
|
|
146
159
|
Jira project keys are NOT asked during setup. They are auto-learned from pipeline usage:
|
|
@@ -11,20 +11,44 @@ Show every active and completed task as a table.
|
|
|
11
11
|
|
|
12
12
|
## Steps
|
|
13
13
|
|
|
14
|
-
1. **
|
|
15
|
-
|
|
16
|
-
- `~/my-figma-app/.worktrees/`
|
|
17
|
-
- `~/my-ios-app/.worktrees/`
|
|
14
|
+
1. **Ask the producer, do not go looking.** One command answers the whole
|
|
15
|
+
question:
|
|
18
16
|
|
|
19
|
-
2. **Scan worktrees** - Read the `agent-state.json` file in each worktree directory:
|
|
20
17
|
```bash
|
|
21
|
-
|
|
18
|
+
node "$HOME/.claude/scripts/runs-index.mjs" # grouped table
|
|
19
|
+
node "$HOME/.claude/scripts/runs-index.mjs" --json # the same records
|
|
22
20
|
```
|
|
23
21
|
|
|
24
|
-
|
|
25
|
-
|
|
22
|
+
`runs-index.mjs` resolves through `lib/run-paths.sh` / `scripts/_run-paths.mjs`,
|
|
23
|
+
so it sees both directory layouts (`<project>/<id>/` and the flat `<id>/`),
|
|
24
|
+
the salvaged `artifacts/` copy Phase 6 leaves behind, and every spelling of a
|
|
25
|
+
task id - and it counts a run that exists in both layouts once. Do NOT
|
|
26
|
+
re-scan the tree by hand: the earlier instruction here listed three
|
|
27
|
+
hard-coded `.worktrees/` paths and a single `find` depth, and on a real
|
|
28
|
+
install that combination missed a quarter of the runs and double-counted
|
|
29
|
+
others. It also scanned worktrees for `agent-state.json`, which Phase 0 has
|
|
30
|
+
never written there ("never inside the worktree", `phases/phase-0-init.md`).
|
|
26
31
|
|
|
27
|
-
|
|
32
|
+
2. **Fields per run** (already in the output): `taskId`, `project`, `branch`,
|
|
33
|
+
`currentPhase`, `status`, `startedAt`, `worktreePath`, `prUrl`, `autopilot`,
|
|
34
|
+
`phases[]`, `tokens`, `estUsd`, `group`, plus `duplicateOf` when the run also
|
|
35
|
+
exists in the other layout and `salvaged` when its state is the Phase 6 copy.
|
|
36
|
+
|
|
37
|
+
3. **Groups are computed, not judged.** Report the `group` the producer
|
|
38
|
+
returns rather than re-deriving it.
|
|
39
|
+
|
|
40
|
+
| Group | Test | Action offered |
|
|
41
|
+
|---|---|---|
|
|
42
|
+
| `waiting` - Waiting on you | `status == "awaiting_input"`, or a `pr.url`, or phase >= 6 | `resume #N` - the work landed, it needs your answer |
|
|
43
|
+
| `stopped` - Stopped mid-development | anything else past phase 0 | `resume #N` or `kill #N` |
|
|
44
|
+
| `question` - Left at a question | phase 0 | `garbage-collect --abandoned` - nothing was built |
|
|
45
|
+
| `unknown` - Status not recorded | no `status` field | say so; offer nothing |
|
|
46
|
+
|
|
47
|
+
A run with no `status` is **not** placed in an actionable group. Unknown is
|
|
48
|
+
not a finding, and calling it dead is the same false claim in the other
|
|
49
|
+
direction.
|
|
50
|
+
|
|
51
|
+
4. **Show as a table**, grouped per step 3:
|
|
28
52
|
```
|
|
29
53
|
🤖 Multi-Agent Tasks
|
|
30
54
|
|
|
@@ -37,6 +37,12 @@ Update the pipeline with a single command. Preferences are preserved; only skill
|
|
|
37
37
|
4b. Refresh the stack-plugin marketplace so the latest plugin versions are picked up:
|
|
38
38
|
`claude marketplace update multi-agent-plugins` (or `claude marketplace add {owner}/multi-agent-plugins` if not yet added)
|
|
39
39
|
5. `node migrate-prefs.mjs` (if there is a schema upgrade)
|
|
40
|
+
5b. `node "$HOME/.claude/scripts/usage-register.mjs"` - operational reporting.
|
|
41
|
+
It requests a per-machine **write-only** token when none resolves, stores it in
|
|
42
|
+
the credential store only, and switches reporting on. A no-op when a token is
|
|
43
|
+
already onboarded, and permanently blocked by `usageLog.optOut: true`. Offline
|
|
44
|
+
or endpoint down leaves reporting off with one line, never an error. Contract:
|
|
45
|
+
`$HOME/.claude/multi-agent-refs/features/usage-reporting.md`.
|
|
40
46
|
6. Show the new version + changelog
|
|
41
47
|
7. Smoke test (schema + cross-cli)
|
|
42
48
|
|
package/pipeline/skills/shared/external/macos-spm-app-packaging/assets/templates/package_app.sh
CHANGED
|
@@ -19,7 +19,10 @@ else
|
|
|
19
19
|
BUILD_NUMBER=${BUILD_NUMBER:-1}
|
|
20
20
|
fi
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
# read -ra, not ( $ARCHES ): a bare expansion into an array splits on IFS and
|
|
23
|
+
# then GLOBS each word, so an ARCHES carrying a * builds for whatever files are
|
|
24
|
+
# in the working directory.
|
|
25
|
+
read -ra ARCH_LIST <<< "${ARCHES:-}"
|
|
23
26
|
if [[ ${#ARCH_LIST[@]} -eq 0 ]]; then
|
|
24
27
|
HOST_ARCH=$(uname -m)
|
|
25
28
|
ARCH_LIST=("$HOST_ARCH")
|
|
@@ -15,7 +15,10 @@ fi
|
|
|
15
15
|
echo "Creating self-signed certificate '$CERT_NAME'..."
|
|
16
16
|
|
|
17
17
|
TEMP_CONFIG=$(mktemp)
|
|
18
|
-
trap
|
|
18
|
+
# Single-quoted on purpose: the path is read when the trap FIRES, not when it is
|
|
19
|
+
# installed. Double quotes bake in whatever the variable held at install time,
|
|
20
|
+
# which is a template users copy into scripts where the order differs.
|
|
21
|
+
trap 'rm -f "$TEMP_CONFIG"' EXIT
|
|
19
22
|
|
|
20
23
|
cat > "$TEMP_CONFIG" <<EOFCONF
|
|
21
24
|
[ req ]
|
|
@@ -17,7 +17,8 @@ echo "$APP_STORE_CONNECT_API_KEY_P8" | sed 's/\\n/\n/g' > /tmp/app-store-connect
|
|
|
17
17
|
trap 'rm -f /tmp/app-store-connect-key.p8 /tmp/${APP_NAME}Notarize.zip' EXIT
|
|
18
18
|
|
|
19
19
|
ARCHES_VALUE=${ARCHES:-"arm64 x86_64"}
|
|
20
|
-
|
|
20
|
+
# See package_app.sh: a bare expansion into an array globs as well as splits.
|
|
21
|
+
read -ra ARCH_LIST <<< "${ARCHES_VALUE}"
|
|
21
22
|
for ARCH in "${ARCH_LIST[@]}"; do
|
|
22
23
|
swift build -c release --arch "$ARCH"
|
|
23
24
|
done
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
> Auto-generated by `pipeline/scripts/build-skills-index.mjs` - do not hand-edit.
|
|
4
4
|
> Regenerate with `node pipeline/scripts/build-skills-index.mjs`.
|
|
5
5
|
|
|
6
|
-
**
|
|
6
|
+
**212 skills** across 2 groups.
|
|
7
7
|
|
|
8
8
|
| Group | Name | Platform | Description |
|
|
9
9
|
|-------|------|----------|-------------|
|
|
@@ -94,14 +94,19 @@
|
|
|
94
94
|
| external | `monorepo-architect` | - | Expert in monorepo architecture, build systems, and dependency management at scale. Masters Nx, Turborepo, Bazel, and Lerna for efficient mu |
|
|
95
95
|
| core | `multi-agent` | - | Task orchestrator: runs the full pipeline from a Jira ID or GitHub Issue URL - analysis → plan → TDD development → parallel review (Fable |
|
|
96
96
|
| core | `multi-agent-analysis` | - | Standalone feature-spec analysis. Two profiles picked at intake: global (23-section development handoff, 8 of them in Lite mode) or corporat |
|
|
97
|
+
| core | `multi-agent-analysis-jira` | - | Turn a rendered analysis document into a Jira story tree: derive stories from the document's own rule ids, check coverage both ways, preview |
|
|
97
98
|
| core | `multi-agent-analysis-resolve` | - | Resolve the Section 20 Risks and Open Questions of an analysis v3 document one row at a time: up to 3 source-labeled answer candidates per r |
|
|
98
99
|
| core | `multi-agent-autopilot` | - | Launch any task in autopilot mode: skips every confirmation, runs end-to-end autonomously. Use when a task should run end to end with no con |
|
|
100
|
+
| core | `multi-agent-autopilot-off` | - | Turn off continuous mode on this machine: the schedule is removed, work already running finishes, the repo selection is kept. Use when the m |
|
|
101
|
+
| core | `multi-agent-autopilot-on` | - | Turn on continuous mode on THIS machine: pick the repos it watches; labelled GitHub issues and assigned+labelled Jira items then run in a wo |
|
|
102
|
+
| core | `multi-agent-autopilot-status` | - | Show what continuous mode is doing here: what runs at which phase, what is queued, what waits for an answer, what PRs it opened today. Use w |
|
|
99
103
|
| core | `multi-agent-build-optimize` | - | Wrapper that dispatches to xcode-build-orchestrator on iOS repos. Benchmarks the current Xcode build, runs compilation / project / SPM analy |
|
|
100
104
|
| core | `multi-agent-channels` | - | Multi-channel reporter - Jira/Confluence/Wiki/PR description. Multi-select channels + content, humanizer pass, reviewer-preserving Bitbuck |
|
|
101
105
|
| core | `multi-agent-complaint-analysis` | - | Customer-complaint triage. Ingests complaints (paste, csv/xlsx/txt/json file, Jira issue, Confluence URL), fetches Graylog evidence per trx/ |
|
|
102
106
|
| core | `multi-agent-create-jira` | - | Create a standards-compliant Jira issue (Task / Bug / Story): asks the type, mines project conventions, drafts from a standard template with |
|
|
103
107
|
| core | `multi-agent-design-check` | - | Mock-mode vs Figma design audit (iOS / Android, local-only). Pick repo + module, gate on mock support, enumerate every state driver into a c |
|
|
104
108
|
| core | `multi-agent-diff-explain` | - | Map Phase 4 triage findings to branch diff lines. Read-only post-hoc command, used after review to answer 'which finding lines up with which |
|
|
109
|
+
| core | `multi-agent-doctor` | - | Health check for the installed pipeline: layout, preferences, credentials, hooks and host capabilities, each with one actionable step. Exit |
|
|
105
110
|
| core | `multi-agent-feedback` | - | Send one message to the maintainer: a bug, an idea or a question. Only the text you type is sent - no logs, no repo names, no paths. Shows t |
|
|
106
111
|
| core | `multi-agent-forget` | - | Remove a saved /multi-agent routine (created by /multi-agent:save): deletes its local-only command and its registry entry. Asks which one an |
|
|
107
112
|
| core | `multi-agent-garbage-collect` | - | Sweep leftover /tmp scratch (picker state, review diffs, channel payloads, analysis drafts) from past runs. Dry-run first; confirms before d |
|