@mmerterden/multi-agent-pipeline 20.2.1 → 20.3.1

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 (622) hide show
  1. package/CHANGELOG.md +919 -1
  2. package/README.md +104 -81
  3. package/README.tr.md +103 -62
  4. package/docs/FIGMA_PIPELINE.md +35 -35
  5. package/docs/adr/0006-skills-core-external-split.md +1 -1
  6. package/docs/adr/0007-multi-tool-adapter-framework.md +6 -0
  7. package/docs/adr/0008-installer-modularization-and-secret-leak-defense.md +7 -0
  8. package/docs/architecture.md +50 -14
  9. package/docs/best-practices.md +1 -1
  10. package/docs/ecosystem.md +56 -32
  11. package/docs/facts.json +10 -10
  12. package/docs/features.md +97 -5
  13. package/docs/recovery-guide.md +7 -14
  14. package/docs/server-readiness.md +31 -24
  15. package/index.js +1 -1
  16. package/install/_common.mjs +3 -5
  17. package/install/_platform-filter.mjs +23 -1
  18. package/install/_unattended-profile.mjs +321 -75
  19. package/install/claude.mjs +51 -10
  20. package/install/codex.mjs +2 -0
  21. package/install/copilot.mjs +2 -0
  22. package/install/index.mjs +30 -17
  23. package/install/templates/claude-hooks.json +16 -5
  24. package/install/templates/copilot-instructions.md +1 -1
  25. package/install/templates/multi-agent-autopilot-awake.plist.template +48 -0
  26. package/install/templates/multi-agent-autopilot.plist.template +12 -5
  27. package/install/unattended-profile-legacy.json +80 -0
  28. package/manifest.json +617 -483
  29. package/package.json +8 -3
  30. package/pipeline/agents/code-reviewer.md +10 -0
  31. package/pipeline/agents/plan-critic.md +98 -0
  32. package/pipeline/agents/security-auditor.md +10 -0
  33. package/pipeline/agents/task-clarifier.md +10 -0
  34. package/pipeline/commands/multi-agent/SKILL.md +2 -2
  35. package/pipeline/commands/multi-agent/analysis/SKILL.md +6 -2
  36. package/pipeline/commands/multi-agent/analysis-jira/SKILL.md +12 -1
  37. package/pipeline/commands/multi-agent/analysis-resolve/SKILL.md +4 -0
  38. package/pipeline/commands/multi-agent/autopilot/SKILL.md +6 -2
  39. package/pipeline/commands/multi-agent/autopilot-off/SKILL.md +36 -6
  40. package/pipeline/commands/multi-agent/autopilot-on/SKILL.md +77 -12
  41. package/pipeline/commands/multi-agent/autopilot-status/SKILL.md +29 -8
  42. package/pipeline/commands/multi-agent/build-optimize/SKILL.md +4 -0
  43. package/pipeline/commands/multi-agent/channels/SKILL.md +9 -9
  44. package/pipeline/commands/multi-agent/complaint-analysis/SKILL.md +5 -1
  45. package/pipeline/commands/multi-agent/create-jira/SKILL.md +4 -0
  46. package/pipeline/commands/multi-agent/design-check/SKILL.md +16 -11
  47. package/pipeline/commands/multi-agent/diff-explain/SKILL.md +4 -0
  48. package/pipeline/commands/multi-agent/doctor/SKILL.md +4 -0
  49. package/pipeline/commands/multi-agent/feedback/SKILL.md +5 -1
  50. package/pipeline/commands/multi-agent/forget/SKILL.md +4 -0
  51. package/pipeline/commands/multi-agent/garbage-collect/SKILL.md +4 -0
  52. package/pipeline/commands/multi-agent/graph/SKILL.md +4 -0
  53. package/pipeline/commands/multi-agent/help/SKILL.md +37 -39
  54. package/pipeline/commands/multi-agent/ios-coding-standard/SKILL.md +4 -0
  55. package/pipeline/commands/multi-agent/issue/SKILL.md +7 -1
  56. package/pipeline/commands/multi-agent/jira/SKILL.md +7 -1
  57. package/pipeline/commands/multi-agent/kill/SKILL.md +9 -3
  58. package/pipeline/commands/multi-agent/language/SKILL.md +4 -0
  59. package/pipeline/commands/multi-agent/log/SKILL.md +4 -0
  60. package/pipeline/commands/multi-agent/manual-test/SKILL.md +5 -0
  61. package/pipeline/commands/multi-agent/model/SKILL.md +4 -0
  62. package/pipeline/commands/multi-agent/prune-logs/SKILL.md +4 -0
  63. package/pipeline/commands/multi-agent/prune-prompts/SKILL.md +4 -0
  64. package/pipeline/commands/multi-agent/purge/SKILL.md +4 -0
  65. package/pipeline/commands/multi-agent/refactor/SKILL.md +5 -0
  66. package/pipeline/commands/multi-agent/research/SKILL.md +49 -0
  67. package/pipeline/commands/multi-agent/resume/SKILL.md +29 -6
  68. package/pipeline/commands/multi-agent/review/SKILL.md +28 -9
  69. package/pipeline/commands/multi-agent/review-analysis/SKILL.md +5 -1
  70. package/pipeline/commands/multi-agent/review-issue/SKILL.md +4 -0
  71. package/pipeline/commands/multi-agent/review-jira/SKILL.md +4 -0
  72. package/pipeline/commands/multi-agent/route-off/SKILL.md +4 -0
  73. package/pipeline/commands/multi-agent/route-on/SKILL.md +4 -0
  74. package/pipeline/commands/multi-agent/route-status/SKILL.md +4 -0
  75. package/pipeline/commands/multi-agent/routines/SKILL.md +4 -0
  76. package/pipeline/commands/multi-agent/save/SKILL.md +6 -2
  77. package/pipeline/commands/multi-agent/scaffold/SKILL.md +47 -0
  78. package/pipeline/commands/multi-agent/scan/SKILL.md +4 -0
  79. package/pipeline/commands/multi-agent/search/SKILL.md +12 -8
  80. package/pipeline/commands/multi-agent/security-review/SKILL.md +4 -0
  81. package/pipeline/commands/multi-agent/serve/SKILL.md +62 -0
  82. package/pipeline/commands/multi-agent/setup/SKILL.md +27 -36
  83. package/pipeline/commands/multi-agent/stack/SKILL.md +4 -0
  84. package/pipeline/commands/multi-agent/status/SKILL.md +10 -9
  85. package/pipeline/commands/multi-agent/steer/SKILL.md +5 -1
  86. package/pipeline/commands/multi-agent/store-ready/SKILL.md +4 -0
  87. package/pipeline/commands/multi-agent/sync/SKILL.md +13 -13
  88. package/pipeline/commands/multi-agent/test/SKILL.md +4 -0
  89. package/pipeline/commands/multi-agent/test-accessibility/SKILL.md +4 -0
  90. package/pipeline/commands/multi-agent/test-dark-mode/SKILL.md +4 -0
  91. package/pipeline/commands/multi-agent/test-dynamic-type/SKILL.md +4 -0
  92. package/pipeline/commands/multi-agent/test-screenshots/SKILL.md +5 -1
  93. package/pipeline/commands/multi-agent/testflight-validation/SKILL.md +4 -0
  94. package/pipeline/commands/multi-agent/uninstall/SKILL.md +5 -1
  95. package/pipeline/commands/multi-agent/update/SKILL.md +4 -0
  96. package/pipeline/contract/CHANGELOG.md +74 -0
  97. package/pipeline/contract/README.md +126 -0
  98. package/pipeline/contract/build.mjs +427 -0
  99. package/pipeline/contract/fixtures/answer-result.json +11 -0
  100. package/pipeline/contract/fixtures/error-invalid-request.json +8 -0
  101. package/pipeline/contract/fixtures/error-unauthorized.json +5 -0
  102. package/pipeline/contract/fixtures/error-unsigned.json +5 -0
  103. package/pipeline/contract/fixtures/issues-empty.json +18 -0
  104. package/pipeline/contract/fixtures/launch-plan.json +31 -0
  105. package/pipeline/contract/fixtures/runs-awaiting-question.json +70 -0
  106. package/pipeline/contract/fixtures/runs-empty.json +6 -0
  107. package/pipeline/contract/fixtures/runs-failed.json +84 -0
  108. package/pipeline/contract/fixtures/runs-old-schema.json +70 -0
  109. package/pipeline/contract/fixtures/runs-pr-opened-redacted.json +101 -0
  110. package/pipeline/contract/fixtures/runs-pr-opened.json +106 -0
  111. package/pipeline/contract/fixtures/runs-running.json +84 -0
  112. package/pipeline/contract/fixtures/worktrees-empty.json +4 -0
  113. package/pipeline/contract/frozen/toolbox.json +107 -0
  114. package/pipeline/contract/manifest.json +263 -0
  115. package/pipeline/contract/types/index.d.ts +343 -0
  116. package/pipeline/lib/_jira-auth.sh +6 -2
  117. package/pipeline/lib/account-resolver.sh +1 -1
  118. package/pipeline/lib/autopilot-state.sh +19 -0
  119. package/pipeline/lib/context-link-extractor.sh +12 -5
  120. package/pipeline/lib/credential-inventory.sh +12 -5
  121. package/pipeline/lib/credential-store.sh +116 -185
  122. package/pipeline/lib/fetch-confluence.sh +44 -3
  123. package/pipeline/lib/fetch-document.sh +3 -4
  124. package/pipeline/lib/fetch-fortify.sh +1 -1
  125. package/pipeline/lib/figma-mcp-refresh.sh +2 -2
  126. package/pipeline/lib/figma-token.sh +5 -1
  127. package/pipeline/lib/issue-fetcher.sh +233 -16
  128. package/pipeline/lib/json-file-lock.mjs +172 -0
  129. package/pipeline/lib/model-dispatch.sh +21 -12
  130. package/pipeline/lib/model-rung.sh +6 -1
  131. package/pipeline/lib/multi-repo-pipeline.sh +1 -1
  132. package/pipeline/lib/outbound-gate.mjs +46 -16
  133. package/pipeline/lib/parse-complaints.sh +14 -7
  134. package/pipeline/lib/plan-todos.sh +3 -3
  135. package/pipeline/lib/post-pr-review.sh +9 -9
  136. package/pipeline/lib/pr-request-location.mjs +85 -0
  137. package/pipeline/lib/regular-file.mjs +153 -0
  138. package/pipeline/lib/repo-hygiene.sh +17 -0
  139. package/pipeline/lib/route-state.sh +5 -1
  140. package/pipeline/lib/run-paths.sh +3 -2
  141. package/pipeline/lib/stack-detect.sh +19 -1
  142. package/pipeline/lib/unattended-profile-check.mjs +178 -0
  143. package/pipeline/lib/unattended-settings-location.mjs +28 -0
  144. package/pipeline/lib/unattended.mjs +76 -0
  145. package/pipeline/lib/unattended.sh +32 -0
  146. package/pipeline/lib/untrusted.mjs +76 -0
  147. package/pipeline/lib/usage-endpoint.mjs +33 -0
  148. package/pipeline/lib/user-facing.mjs +82 -0
  149. package/pipeline/lib/user-facing.sh +58 -0
  150. package/pipeline/multi-agent-refs/_dev-context.md +1 -1
  151. package/pipeline/multi-agent-refs/analysis/evidence.md +4 -0
  152. package/pipeline/multi-agent-refs/analysis/locked.md +2 -2
  153. package/pipeline/multi-agent-refs/analysis/render.md +4 -3
  154. package/pipeline/multi-agent-refs/analysis/resolve.md +3 -1
  155. package/pipeline/multi-agent-refs/analysis/synthesis.md +4 -5
  156. package/pipeline/multi-agent-refs/analysis-template.md +10 -17
  157. package/pipeline/multi-agent-refs/channels/jira.md +1 -1
  158. package/pipeline/multi-agent-refs/component-dispatch.md +3 -3
  159. package/pipeline/multi-agent-refs/conventions-defaults.md +32 -32
  160. package/pipeline/multi-agent-refs/cross-cli-contract.md +10 -17
  161. package/pipeline/multi-agent-refs/features/autopilot-circuit-breaker.md +37 -9
  162. package/pipeline/multi-agent-refs/features/autopilot-operations.md +277 -0
  163. package/pipeline/multi-agent-refs/features/constitution.md +196 -0
  164. package/pipeline/multi-agent-refs/features/doctor.md +6 -3
  165. package/pipeline/multi-agent-refs/features/external-context-injection.md +6 -1
  166. package/pipeline/multi-agent-refs/features/jira-context.md +1 -1
  167. package/pipeline/multi-agent-refs/features/maturity-followup.md +43 -23
  168. package/pipeline/multi-agent-refs/features/model-fallback.md +9 -0
  169. package/pipeline/multi-agent-refs/features/phone-api.md +306 -0
  170. package/pipeline/multi-agent-refs/features/plan-critic.md +159 -0
  171. package/pipeline/multi-agent-refs/features/research.md +150 -0
  172. package/pipeline/multi-agent-refs/features/review-decision.md +185 -0
  173. package/pipeline/multi-agent-refs/features/scaffold.md +160 -0
  174. package/pipeline/multi-agent-refs/features/security-audit.md +6 -2
  175. package/pipeline/multi-agent-refs/features/skill-conformance.md +4 -1
  176. package/pipeline/multi-agent-refs/features/stack-adapters.md +116 -0
  177. package/pipeline/multi-agent-refs/features/unattended-gates.md +316 -0
  178. package/pipeline/multi-agent-refs/features/unattended-security.md +731 -0
  179. package/pipeline/multi-agent-refs/features/url-enrichment.md +2 -2
  180. package/pipeline/multi-agent-refs/features/usage-reporting.md +127 -35
  181. package/pipeline/multi-agent-refs/features/verify-by-test.md +1 -1
  182. package/pipeline/multi-agent-refs/features/visual-evidence.md +7 -7
  183. package/pipeline/multi-agent-refs/keychain.md +6 -11
  184. package/pipeline/multi-agent-refs/payload-contracts.md +2 -2
  185. package/pipeline/multi-agent-refs/phases/log-format.md +2 -3
  186. package/pipeline/multi-agent-refs/phases/modes.md +10 -12
  187. package/pipeline/multi-agent-refs/phases/operations.md +11 -5
  188. package/pipeline/multi-agent-refs/phases/phase-0-init.md +73 -81
  189. package/pipeline/multi-agent-refs/phases/phase-1-plan.md +22 -22
  190. package/pipeline/multi-agent-refs/phases/phase-2-dev.md +42 -66
  191. package/pipeline/multi-agent-refs/phases/phase-3-review.md +45 -79
  192. package/pipeline/multi-agent-refs/phases/phase-4-commit.md +28 -38
  193. package/pipeline/multi-agent-refs/phases/phase-5-report.md +27 -25
  194. package/pipeline/multi-agent-refs/phases.md +1 -1
  195. package/pipeline/multi-agent-refs/picker-contract.md +1 -1
  196. package/pipeline/multi-agent-refs/progress-contract.md +13 -16
  197. package/pipeline/multi-agent-refs/readiness-review.md +1 -1
  198. package/pipeline/multi-agent-refs/research/engine.md +91 -0
  199. package/pipeline/multi-agent-refs/rules.md +6 -4
  200. package/pipeline/multi-agent-refs/setup/repo-discovery.md +2 -2
  201. package/pipeline/multi-agent-refs/tracker-contract.md +2 -2
  202. package/pipeline/multi-agent-refs/unattended-contract.md +68 -16
  203. package/pipeline/rules/figma-pipeline.md +12 -12
  204. package/pipeline/schemas/agent-state.schema.json +480 -18
  205. package/pipeline/schemas/analysis-spec.schema.json +4 -4
  206. package/pipeline/schemas/answer-request.schema.json +24 -0
  207. package/pipeline/schemas/answer-result.schema.json +28 -0
  208. package/pipeline/schemas/autopilot-config.schema.json +111 -13
  209. package/pipeline/schemas/command-parameters.schema.json +99 -0
  210. package/pipeline/schemas/constitution.schema.json +56 -0
  211. package/pipeline/schemas/contract-error.schema.json +52 -0
  212. package/pipeline/schemas/design-check-config.schema.json +5 -1
  213. package/pipeline/schemas/issues.schema.json +61 -0
  214. package/pipeline/schemas/launch-plan.schema.json +46 -0
  215. package/pipeline/schemas/launch-request.schema.json +45 -0
  216. package/pipeline/schemas/launch.json +61 -0
  217. package/pipeline/schemas/launch.schema.json +84 -0
  218. package/pipeline/schemas/phases.json +2 -2
  219. package/pipeline/schemas/phases.schema.json +68 -0
  220. package/pipeline/schemas/phone-devices.schema.json +61 -0
  221. package/pipeline/schemas/phone-signed-request.schema.json +67 -0
  222. package/pipeline/schemas/plan-critique.schema.json +99 -0
  223. package/pipeline/schemas/plan-todos.schema.json +7 -7
  224. package/pipeline/schemas/planning-output.schema.json +5 -0
  225. package/pipeline/schemas/pr-request.schema.json +46 -0
  226. package/pipeline/schemas/prefs.schema.json +79 -8
  227. package/pipeline/schemas/research-output.schema.json +118 -0
  228. package/pipeline/schemas/review-file-exclusions.schema.json +25 -0
  229. package/pipeline/schemas/reviewer-output.schema.json +40 -4
  230. package/pipeline/schemas/run-questions.json +392 -0
  231. package/pipeline/schemas/run-questions.schema.json +118 -0
  232. package/pipeline/schemas/runs-index.schema.json +189 -0
  233. package/pipeline/schemas/scaffold-manifest.schema.json +43 -0
  234. package/pipeline/schemas/secret-patterns.schema.json +28 -0
  235. package/pipeline/schemas/stack-adapters.json +527 -0
  236. package/pipeline/schemas/stack-adapters.schema.json +184 -0
  237. package/pipeline/schemas/token-budget.json +1 -1
  238. package/pipeline/schemas/token-budget.schema.json +26 -0
  239. package/pipeline/schemas/triage-output.schema.json +64 -3
  240. package/pipeline/schemas/unattended-policy.json +139 -0
  241. package/pipeline/schemas/unattended-policy.schema.json +73 -0
  242. package/pipeline/schemas/unattended-profile.json +248 -0
  243. package/pipeline/schemas/unattended-profile.schema.json +198 -0
  244. package/pipeline/schemas/worktrees.schema.json +51 -0
  245. package/pipeline/scripts/README.md +1 -0
  246. package/pipeline/scripts/_autopilot-config.mjs +130 -0
  247. package/pipeline/scripts/_autopilot-ops.mjs +567 -0
  248. package/pipeline/scripts/_autopilot-outcomes.mjs +174 -0
  249. package/pipeline/scripts/_command-contract.mjs +384 -0
  250. package/pipeline/scripts/_cost.mjs +40 -0
  251. package/pipeline/scripts/_notices.mjs +160 -0
  252. package/pipeline/scripts/_phone-auth.mjs +485 -0
  253. package/pipeline/scripts/_pre-existing.mjs +294 -0
  254. package/pipeline/scripts/_redact.mjs +77 -0
  255. package/pipeline/scripts/_run-paths.mjs +4 -2
  256. package/pipeline/scripts/_stack-adapter.mjs +678 -0
  257. package/pipeline/scripts/_stack-routing.mjs +1 -1
  258. package/pipeline/scripts/agent-guard.py +348 -37
  259. package/pipeline/scripts/agent-guard.sh +41 -13
  260. package/pipeline/scripts/analysis-story-tree.mjs +79 -3
  261. package/pipeline/scripts/answer-question.mjs +181 -0
  262. package/pipeline/scripts/audit-log-rotate.sh +1 -4
  263. package/pipeline/scripts/audit-log.sh +4 -4
  264. package/pipeline/scripts/autopilot-arming.mjs +389 -21
  265. package/pipeline/scripts/autopilot-awake.mjs +255 -0
  266. package/pipeline/scripts/autopilot-intake.mjs +137 -36
  267. package/pipeline/scripts/autopilot-menubar.swift +156 -44
  268. package/pipeline/scripts/autopilot-publish.mjs +1625 -0
  269. package/pipeline/scripts/autopilot-runner.mjs +1678 -222
  270. package/pipeline/scripts/autopilot-status.sh +198 -33
  271. package/pipeline/scripts/build-lock.sh +120 -0
  272. package/pipeline/scripts/build-references.mjs +4 -1
  273. package/pipeline/scripts/build-stack-plugins.mjs +59 -22
  274. package/pipeline/scripts/capture-flush.sh +1 -1
  275. package/pipeline/scripts/capture-resume.sh +13 -9
  276. package/pipeline/scripts/check-derived-drift.mjs +52 -11
  277. package/pipeline/scripts/commands.mjs +88 -0
  278. package/pipeline/scripts/constitution.mjs +362 -0
  279. package/pipeline/scripts/contract-server.mjs +776 -0
  280. package/pipeline/scripts/cost-analyze.mjs +89 -39
  281. package/pipeline/scripts/diff-explain.mjs +12 -1
  282. package/pipeline/scripts/doctor.mjs +77 -28
  283. package/pipeline/scripts/evidence-gate.mjs +192 -12
  284. package/pipeline/scripts/feedback-send.mjs +4 -2
  285. package/pipeline/scripts/gate-ledger.mjs +449 -0
  286. package/pipeline/scripts/gc-abandoned.sh +132 -13
  287. package/pipeline/scripts/gen-facts.mjs +31 -15
  288. package/pipeline/scripts/gen-mode-dispatch.mjs +3 -3
  289. package/pipeline/scripts/github-ssh-setup.sh +140 -29
  290. package/pipeline/scripts/graph-mermaid.mjs +4 -1
  291. package/pipeline/scripts/issues.mjs +236 -0
  292. package/pipeline/scripts/jira-attach.sh +6 -2
  293. package/pipeline/scripts/jira-search.sh +4 -3
  294. package/pipeline/scripts/keychain-save.sh +125 -24
  295. package/pipeline/scripts/keychain.py +63 -93
  296. package/pipeline/scripts/launch-request.mjs +747 -0
  297. package/pipeline/scripts/localize-commands.mjs +4 -10
  298. package/pipeline/scripts/log-metric.sh +6 -5
  299. package/pipeline/scripts/maturity-followup.mjs +13 -4
  300. package/pipeline/scripts/memory-save.sh +25 -0
  301. package/pipeline/scripts/migrate-prefs.mjs +4 -3
  302. package/pipeline/scripts/open-questions-gate.mjs +276 -0
  303. package/pipeline/scripts/phase-tracker.sh +41 -27
  304. package/pipeline/scripts/phase0-exit-gate.mjs +22 -4
  305. package/pipeline/scripts/phone-devices.mjs +224 -0
  306. package/pipeline/scripts/plan-coverage-gate.mjs +200 -66
  307. package/pipeline/scripts/plan-critique-gate.mjs +591 -0
  308. package/pipeline/scripts/pr-request.mjs +188 -0
  309. package/pipeline/scripts/pre-commit-check.sh +115 -4
  310. package/pipeline/scripts/probe-evidence-capability.sh +44 -5
  311. package/pipeline/scripts/record-phase.mjs +71 -0
  312. package/pipeline/scripts/render-agent-log-cost.sh +17 -2
  313. package/pipeline/scripts/render-cost-summary.sh +1 -1
  314. package/pipeline/scripts/render-work-summary.sh +1 -1
  315. package/pipeline/scripts/require-supported-version.sh +4 -1
  316. package/pipeline/scripts/research-gate.mjs +704 -0
  317. package/pipeline/scripts/review-decision-gate.mjs +403 -0
  318. package/pipeline/scripts/routine-registry.mjs +5 -2
  319. package/pipeline/scripts/runs-index.mjs +135 -27
  320. package/pipeline/scripts/scaffold-gate.mjs +393 -0
  321. package/pipeline/scripts/skill-conformance.mjs +25 -8
  322. package/pipeline/scripts/skill-siblings.mjs +2 -1
  323. package/pipeline/scripts/smoke-cross-cli-behavior.sh +32 -6
  324. package/pipeline/scripts/smoke-schema-validation.sh +6 -2
  325. package/pipeline/scripts/spec-consistency-gate.mjs +469 -0
  326. package/pipeline/scripts/symbol-existence-gate.mjs +450 -0
  327. package/pipeline/scripts/test-gap-scan.mjs +40 -2
  328. package/pipeline/scripts/test-integrity-gate.mjs +20 -4
  329. package/pipeline/scripts/test-strength.mjs +484 -0
  330. package/pipeline/scripts/test-summary.mjs +651 -0
  331. package/pipeline/scripts/triage-memory.mjs +49 -9
  332. package/pipeline/scripts/unattended_policy.py +2786 -0
  333. package/pipeline/scripts/uninstall.mjs +10 -10
  334. package/pipeline/scripts/update-issue-progress.sh +1 -1
  335. package/pipeline/scripts/usage-identity.mjs +288 -0
  336. package/pipeline/scripts/usage-register.mjs +187 -67
  337. package/pipeline/scripts/usage-report.mjs +232 -67
  338. package/pipeline/scripts/validate-complaint-doc.mjs +28 -10
  339. package/pipeline/scripts/validate-planning.mjs +6 -0
  340. package/pipeline/scripts/verify-citations.mjs +151 -38
  341. package/pipeline/scripts/verify.mjs +58 -18
  342. package/pipeline/scripts/worktree-prepare.sh +126 -0
  343. package/pipeline/scripts/worktrees.mjs +124 -0
  344. package/pipeline/scripts/write-state.mjs +48 -17
  345. package/pipeline/skills/.skill-manifest.json +222 -226
  346. package/pipeline/skills/.skills-index.json +77 -88
  347. package/pipeline/skills/shared/README.md +44 -45
  348. package/pipeline/skills/shared/core/apple-archive-compliance/SKILL.md +3 -2
  349. package/pipeline/skills/shared/core/google-play-compliance/SKILL.md +3 -2
  350. package/pipeline/skills/shared/core/multi-agent/SKILL.md +10 -9
  351. package/pipeline/skills/shared/core/multi-agent-analysis/SKILL.md +6 -5
  352. package/pipeline/skills/shared/core/multi-agent-analysis-jira/SKILL.md +11 -3
  353. package/pipeline/skills/shared/core/multi-agent-analysis-resolve/SKILL.md +2 -1
  354. package/pipeline/skills/shared/core/multi-agent-autopilot/SKILL.md +4 -3
  355. package/pipeline/skills/shared/core/multi-agent-autopilot-off/SKILL.md +32 -6
  356. package/pipeline/skills/shared/core/multi-agent-autopilot-on/SKILL.md +66 -8
  357. package/pipeline/skills/shared/core/multi-agent-autopilot-status/SKILL.md +27 -9
  358. package/pipeline/skills/shared/core/multi-agent-build-optimize/SKILL.md +2 -1
  359. package/pipeline/skills/shared/core/multi-agent-channels/SKILL.md +7 -4
  360. package/pipeline/skills/shared/core/multi-agent-complaint-analysis/SKILL.md +3 -2
  361. package/pipeline/skills/shared/core/multi-agent-create-jira/SKILL.md +2 -1
  362. package/pipeline/skills/shared/core/multi-agent-design-check/SKILL.md +7 -5
  363. package/pipeline/skills/shared/core/multi-agent-diff-explain/SKILL.md +2 -1
  364. package/pipeline/skills/shared/core/multi-agent-doctor/SKILL.md +3 -2
  365. package/pipeline/skills/shared/core/multi-agent-feedback/SKILL.md +2 -1
  366. package/pipeline/skills/shared/core/multi-agent-forget/SKILL.md +2 -1
  367. package/pipeline/skills/shared/core/multi-agent-garbage-collect/SKILL.md +2 -1
  368. package/pipeline/skills/shared/core/multi-agent-graph/SKILL.md +2 -1
  369. package/pipeline/skills/shared/core/multi-agent-help/SKILL.md +2 -1
  370. package/pipeline/skills/shared/core/multi-agent-ios-coding-standard/SKILL.md +2 -1
  371. package/pipeline/skills/shared/core/multi-agent-issue/SKILL.md +3 -2
  372. package/pipeline/skills/shared/core/multi-agent-jira/SKILL.md +2 -1
  373. package/pipeline/skills/shared/core/multi-agent-kill/SKILL.md +7 -4
  374. package/pipeline/skills/shared/core/multi-agent-language/SKILL.md +2 -1
  375. package/pipeline/skills/shared/core/multi-agent-log/SKILL.md +2 -1
  376. package/pipeline/skills/shared/core/multi-agent-manual-test/SKILL.md +2 -1
  377. package/pipeline/skills/shared/core/multi-agent-model/SKILL.md +2 -1
  378. package/pipeline/skills/shared/core/multi-agent-prune-logs/SKILL.md +2 -1
  379. package/pipeline/skills/shared/core/multi-agent-prune-prompts/SKILL.md +2 -1
  380. package/pipeline/skills/shared/core/multi-agent-purge/SKILL.md +2 -1
  381. package/pipeline/skills/shared/core/multi-agent-refactor/SKILL.md +2 -1
  382. package/pipeline/skills/shared/core/multi-agent-research/SKILL.md +35 -0
  383. package/pipeline/skills/shared/core/multi-agent-resume/SKILL.md +7 -3
  384. package/pipeline/skills/shared/core/multi-agent-review/SKILL.md +7 -5
  385. package/pipeline/skills/shared/core/multi-agent-review-analysis/SKILL.md +2 -1
  386. package/pipeline/skills/shared/core/multi-agent-review-issue/SKILL.md +3 -2
  387. package/pipeline/skills/shared/core/multi-agent-review-jira/SKILL.md +2 -1
  388. package/pipeline/skills/shared/core/multi-agent-route-off/SKILL.md +2 -1
  389. package/pipeline/skills/shared/core/multi-agent-route-on/SKILL.md +2 -1
  390. package/pipeline/skills/shared/core/multi-agent-route-status/SKILL.md +2 -1
  391. package/pipeline/skills/shared/core/multi-agent-routines/SKILL.md +2 -1
  392. package/pipeline/skills/shared/core/multi-agent-save/SKILL.md +3 -2
  393. package/pipeline/skills/shared/core/multi-agent-scaffold/SKILL.md +30 -0
  394. package/pipeline/skills/shared/core/multi-agent-scan/SKILL.md +2 -1
  395. package/pipeline/skills/shared/core/multi-agent-search/SKILL.md +4 -3
  396. package/pipeline/skills/shared/core/multi-agent-security-review/SKILL.md +2 -1
  397. package/pipeline/skills/shared/core/multi-agent-serve/SKILL.md +60 -0
  398. package/pipeline/skills/shared/core/multi-agent-setup/SKILL.md +8 -8
  399. package/pipeline/skills/shared/core/multi-agent-stack/SKILL.md +2 -1
  400. package/pipeline/skills/shared/core/multi-agent-status/SKILL.md +7 -8
  401. package/pipeline/skills/shared/core/multi-agent-steer/SKILL.md +2 -1
  402. package/pipeline/skills/shared/core/multi-agent-store-ready/SKILL.md +2 -1
  403. package/pipeline/skills/shared/core/multi-agent-sync/SKILL.md +10 -10
  404. package/pipeline/skills/shared/core/multi-agent-test/SKILL.md +2 -1
  405. package/pipeline/skills/shared/core/multi-agent-test-accessibility/SKILL.md +2 -1
  406. package/pipeline/skills/shared/core/multi-agent-test-dark-mode/SKILL.md +2 -1
  407. package/pipeline/skills/shared/core/multi-agent-test-dynamic-type/SKILL.md +2 -1
  408. package/pipeline/skills/shared/core/multi-agent-test-screenshots/SKILL.md +2 -1
  409. package/pipeline/skills/shared/core/multi-agent-testflight-validation/SKILL.md +2 -1
  410. package/pipeline/skills/shared/core/multi-agent-uninstall/SKILL.md +3 -2
  411. package/pipeline/skills/shared/core/multi-agent-update/SKILL.md +2 -1
  412. package/pipeline/skills/shared/external/NOTICE-avdlee-swiftui-agent-skill.md +46 -0
  413. package/pipeline/skills/shared/external/NOTICE-dimillian-skills.md +9 -3
  414. package/pipeline/skills/shared/external/NOTICE-paul-hudson-skills.md +54 -0
  415. package/pipeline/skills/shared/external/NOTICE-swift-ios-skills.md +9 -11
  416. package/pipeline/skills/shared/external/NOTICE-vibeship-spawner-skills.md +203 -0
  417. package/pipeline/skills/shared/external/NOTICE-xcode-build-skills.md +10 -3
  418. package/pipeline/skills/shared/external/accessibility-compliance-accessibility-audit/SKILL.md +131 -25
  419. package/pipeline/skills/shared/external/agent-introspection-debugging/SKILL.md +4 -3
  420. package/pipeline/skills/shared/external/alarmkit/SKILL.md +2 -1
  421. package/pipeline/skills/shared/external/android-architecture/SKILL.md +85 -76
  422. package/pipeline/skills/shared/external/android-build-quality-gates/SKILL.md +51 -3
  423. package/pipeline/skills/shared/external/android-build-quality-gates/references/patterns.md +9 -0
  424. package/pipeline/skills/shared/external/android-datastore/SKILL.md +4 -3
  425. package/pipeline/skills/shared/external/android-design-tokens-codegen/SKILL.md +4 -3
  426. package/pipeline/skills/shared/external/android-jetpack-compose-expert/SKILL.md +106 -181
  427. package/pipeline/skills/shared/external/android-jetpack-compose-expert/references/patterns.md +147 -0
  428. package/pipeline/skills/shared/external/android-mvi-viewmodel/SKILL.md +45 -4
  429. package/pipeline/skills/shared/external/android-performance/SKILL.md +27 -2
  430. package/pipeline/skills/shared/external/android-performance/references/patterns.md +37 -37
  431. package/pipeline/skills/shared/external/api-patterns/SKILL.md +111 -67
  432. package/pipeline/skills/shared/external/api-patterns/references/contract-details.md +128 -0
  433. package/pipeline/skills/shared/external/api-security-best-practices/SKILL.md +136 -186
  434. package/pipeline/skills/shared/external/api-security-best-practices/references/abuse-controls.md +140 -0
  435. package/pipeline/skills/shared/external/api-security-best-practices/references/identity-and-access.md +207 -0
  436. package/pipeline/skills/shared/external/api-security-best-practices/references/operations.md +66 -0
  437. package/pipeline/skills/shared/external/api-security-best-practices/references/request-handling.md +175 -0
  438. package/pipeline/skills/shared/external/app-clips/SKILL.md +2 -0
  439. package/pipeline/skills/shared/external/app-intents/SKILL.md +2 -0
  440. package/pipeline/skills/shared/external/app-store-changelog/SKILL.md +4 -3
  441. package/pipeline/skills/shared/external/app-store-optimization/SKILL.md +2 -0
  442. package/pipeline/skills/shared/external/app-store-review/SKILL.md +2 -0
  443. package/pipeline/skills/shared/external/apple-on-device-ai/SKILL.md +2 -0
  444. package/pipeline/skills/shared/external/architecture/SKILL.md +106 -39
  445. package/pipeline/skills/shared/external/architecture/references/adr-and-review.md +76 -0
  446. package/pipeline/skills/shared/external/authentication/SKILL.md +2 -0
  447. package/pipeline/skills/shared/external/avkit/SKILL.md +2 -0
  448. package/pipeline/skills/shared/external/background-processing/SKILL.md +2 -1
  449. package/pipeline/skills/shared/external/backlog/SKILL.md +3 -2
  450. package/pipeline/skills/shared/external/callkit-voip/SKILL.md +2 -0
  451. package/pipeline/skills/shared/external/callkit-voip/evals/evals.json +1 -1
  452. package/pipeline/skills/shared/external/ci-cd-pipelines/SKILL.md +3 -2
  453. package/pipeline/skills/shared/external/clean-code/SKILL.md +192 -90
  454. package/pipeline/skills/shared/external/cloudkit-sync/SKILL.md +2 -1
  455. package/pipeline/skills/shared/external/cloudkit-sync/evals/evals.json +1 -1
  456. package/pipeline/skills/shared/external/compose-components/SKILL.md +4 -4
  457. package/pipeline/skills/shared/external/compose-navigation/SKILL.md +22 -22
  458. package/pipeline/skills/shared/external/compose-navigation/references/patterns.md +10 -10
  459. package/pipeline/skills/shared/external/compose-testing/SKILL.md +13 -6
  460. package/pipeline/skills/shared/external/compose-testing/references/patterns.md +59 -59
  461. package/pipeline/skills/shared/external/contacts-framework/SKILL.md +2 -0
  462. package/pipeline/skills/shared/external/context-compression/SKILL.md +118 -250
  463. package/pipeline/skills/shared/external/core-bluetooth/SKILL.md +2 -0
  464. package/pipeline/skills/shared/external/core-data/SKILL.md +2 -0
  465. package/pipeline/skills/shared/external/core-motion/SKILL.md +2 -0
  466. package/pipeline/skills/shared/external/core-nfc/SKILL.md +2 -0
  467. package/pipeline/skills/shared/external/coreml/SKILL.md +2 -1
  468. package/pipeline/skills/shared/external/council/SKILL.md +2 -1
  469. package/pipeline/skills/shared/external/cryptokit/SKILL.md +2 -0
  470. package/pipeline/skills/shared/external/css-modern/SKILL.md +3 -2
  471. package/pipeline/skills/shared/external/database-patterns/SKILL.md +3 -2
  472. package/pipeline/skills/shared/external/debugging-instruments/SKILL.md +2 -0
  473. package/pipeline/skills/shared/external/debugging-strategies/SKILL.md +130 -20
  474. package/pipeline/skills/shared/external/debugging-strategies/references/hard-cases.md +54 -0
  475. package/pipeline/skills/shared/external/device-integrity/SKILL.md +2 -0
  476. package/pipeline/skills/shared/external/docker-expert/SKILL.md +137 -381
  477. package/pipeline/skills/shared/external/docker-expert/references/patterns.md +98 -0
  478. package/pipeline/skills/shared/external/energykit/SKILL.md +2 -1
  479. package/pipeline/skills/shared/external/eventkit-calendar/SKILL.md +3 -1
  480. package/pipeline/skills/shared/external/eventkit-calendar/evals/evals.json +2 -2
  481. package/pipeline/skills/shared/external/fastapi-pro/SKILL.md +116 -185
  482. package/pipeline/skills/shared/external/fastapi-pro/references/app-structure.md +235 -0
  483. package/pipeline/skills/shared/external/fastapi-pro/references/testing-and-deployment.md +69 -0
  484. package/pipeline/skills/shared/external/firebase/SKILL.md +4 -3
  485. package/pipeline/skills/shared/external/github-actions-templates/SKILL.md +151 -293
  486. package/pipeline/skills/shared/external/github-actions-templates/references/patterns.md +96 -0
  487. package/pipeline/skills/shared/external/healthkit/SKILL.md +2 -0
  488. package/pipeline/skills/shared/external/hig-components-content/SKILL.md +69 -72
  489. package/pipeline/skills/shared/external/hig-components-content/references/content-views.md +111 -0
  490. package/pipeline/skills/shared/external/hig-components-layout/SKILL.md +77 -86
  491. package/pipeline/skills/shared/external/hig-components-layout/references/containers.md +98 -0
  492. package/pipeline/skills/shared/external/hig-components-status/SKILL.md +150 -78
  493. package/pipeline/skills/shared/external/hig-components-system/SKILL.md +76 -97
  494. package/pipeline/skills/shared/external/hig-components-system/references/surfaces.md +98 -0
  495. package/pipeline/skills/shared/external/hig-foundations/SKILL.md +48 -76
  496. package/pipeline/skills/shared/external/hig-foundations/references/foundations-detail.md +132 -0
  497. package/pipeline/skills/shared/external/hig-inputs/SKILL.md +147 -106
  498. package/pipeline/skills/shared/external/hig-patterns/SKILL.md +61 -77
  499. package/pipeline/skills/shared/external/hig-patterns/references/patterns.md +92 -0
  500. package/pipeline/skills/shared/external/hig-platforms/SKILL.md +147 -77
  501. package/pipeline/skills/shared/external/hig-technologies/SKILL.md +61 -121
  502. package/pipeline/skills/shared/external/hig-technologies/references/technologies.md +108 -0
  503. package/pipeline/skills/shared/external/homekit-matter/SKILL.md +2 -0
  504. package/pipeline/skills/shared/external/homekit-matter/evals/evals.json +1 -1
  505. package/pipeline/skills/shared/external/html-semantic/SKILL.md +3 -2
  506. package/pipeline/skills/shared/external/humanizer/SKILL.md +2 -1
  507. package/pipeline/skills/shared/external/ios-accessibility/SKILL.md +2 -0
  508. package/pipeline/skills/shared/external/ios-coding-standard/SKILL.md +2 -1
  509. package/pipeline/skills/shared/external/ios-coding-standard/references/STANDARD.md +14 -2
  510. package/pipeline/skills/shared/external/ios-coding-standard/references/rules.yml +2 -2
  511. package/pipeline/skills/shared/external/ios-debugger-agent/SKILL.md +4 -3
  512. package/pipeline/skills/shared/external/ios-localization/SKILL.md +8 -6
  513. package/pipeline/skills/shared/external/ios-localization/evals/evals.json +2 -2
  514. package/pipeline/skills/shared/external/ios-localization/references/string-catalogs.md +11 -11
  515. package/pipeline/skills/shared/external/ios-module-structure/SKILL.md +2 -1
  516. package/pipeline/skills/shared/external/ios-networking/SKILL.md +2 -0
  517. package/pipeline/skills/shared/external/ios-simulator/SKILL.md +2 -0
  518. package/pipeline/skills/shared/external/kotlin-coroutines-expert/SKILL.md +102 -193
  519. package/pipeline/skills/shared/external/kotlin-coroutines-expert/references/patterns.md +103 -0
  520. package/pipeline/skills/shared/external/live-activities/SKILL.md +4 -2
  521. package/pipeline/skills/shared/external/live-activities/evals/evals.json +2 -2
  522. package/pipeline/skills/shared/external/localization-reuse-map/SKILL.md +7 -9
  523. package/pipeline/skills/shared/external/localization-reuse-map/reference/sources-and-recipes.md +3 -3
  524. package/pipeline/skills/shared/external/localization-reuse-map/scripts/resolve-new-values.py +2 -2
  525. package/pipeline/skills/shared/external/macos-menubar-tuist-app/SKILL.md +4 -3
  526. package/pipeline/skills/shared/external/macos-spm-app-packaging/SKILL.md +5 -3
  527. package/pipeline/skills/shared/external/mapkit-location/SKILL.md +2 -0
  528. package/pipeline/skills/shared/external/mapkit-location/evals/evals.json +1 -1
  529. package/pipeline/skills/shared/external/metrickit-diagnostics/SKILL.md +2 -0
  530. package/pipeline/skills/shared/external/metrickit-diagnostics/evals/evals.json +1 -1
  531. package/pipeline/skills/shared/external/monorepo-architect/SKILL.md +149 -46
  532. package/pipeline/skills/shared/external/monorepo-architect/references/patterns.md +70 -0
  533. package/pipeline/skills/shared/external/musickit-audio/SKILL.md +2 -0
  534. package/pipeline/skills/shared/external/musickit-audio/evals/evals.json +1 -1
  535. package/pipeline/skills/shared/external/natural-language/SKILL.md +2 -0
  536. package/pipeline/skills/shared/external/nextjs-app-router/SKILL.md +3 -2
  537. package/pipeline/skills/shared/external/nodejs-backend-patterns/SKILL.md +91 -21
  538. package/pipeline/skills/shared/external/nodejs-backend-patterns/references/runtime-patterns.md +247 -0
  539. package/pipeline/skills/shared/external/nodejs-backend-patterns/references/testing-and-frameworks.md +57 -0
  540. package/pipeline/skills/shared/external/observability-engineer/SKILL.md +155 -232
  541. package/pipeline/skills/shared/external/observability-engineer/references/patterns.md +75 -0
  542. package/pipeline/skills/shared/external/passkit-wallet/SKILL.md +2 -0
  543. package/pipeline/skills/shared/external/passkit-wallet/evals/evals.json +2 -2
  544. package/pipeline/skills/shared/external/passkit-wallet/references/wallet-passes.md +18 -18
  545. package/pipeline/skills/shared/external/pdfkit/SKILL.md +2 -1
  546. package/pipeline/skills/shared/external/pencilkit-drawing/SKILL.md +2 -0
  547. package/pipeline/skills/shared/external/pencilkit-drawing/evals/evals.json +1 -1
  548. package/pipeline/skills/shared/external/permissionkit/SKILL.md +2 -0
  549. package/pipeline/skills/shared/external/photos-camera-media/SKILL.md +2 -1
  550. package/pipeline/skills/shared/external/push-notifications/SKILL.md +2 -0
  551. package/pipeline/skills/shared/external/python-patterns/SKILL.md +3 -2
  552. package/pipeline/skills/shared/external/react-best-practices/SKILL.md +3 -2
  553. package/pipeline/skills/shared/external/realitykit-ar/SKILL.md +2 -2
  554. package/pipeline/skills/shared/external/realitykit-ar/evals/evals.json +1 -1
  555. package/pipeline/skills/shared/external/rest-api-design/SKILL.md +3 -2
  556. package/pipeline/skills/shared/external/retrofit-networking/SKILL.md +7 -7
  557. package/pipeline/skills/shared/external/retrofit-networking/references/patterns.md +69 -69
  558. package/pipeline/skills/shared/external/room-database/references/patterns.md +126 -126
  559. package/pipeline/skills/shared/external/search-first/SKILL.md +2 -1
  560. package/pipeline/skills/shared/external/security-review/SKILL.md +4 -3
  561. package/pipeline/skills/shared/external/shareplay-activities/SKILL.md +2 -2
  562. package/pipeline/skills/shared/external/signal-community/SKILL.md +1 -1
  563. package/pipeline/skills/shared/external/skill-creator/SKILL.md +2 -1
  564. package/pipeline/skills/shared/external/speech-recognition/SKILL.md +2 -1
  565. package/pipeline/skills/shared/external/spm-build-analysis/SKILL.md +2 -0
  566. package/pipeline/skills/shared/external/storekit/SKILL.md +2 -0
  567. package/pipeline/skills/shared/external/swift-api-design-guidelines/SKILL.md +2 -0
  568. package/pipeline/skills/shared/external/swift-architecture/SKILL.md +2 -1
  569. package/pipeline/skills/shared/external/swift-charts/SKILL.md +2 -1
  570. package/pipeline/skills/shared/external/swift-codable/SKILL.md +2 -0
  571. package/pipeline/skills/shared/external/swift-concurrency/SKILL.md +3 -1
  572. package/pipeline/skills/shared/external/swift-concurrency-expert/SKILL.md +5 -4
  573. package/pipeline/skills/shared/external/swift-concurrency-pro/SKILL.md +2 -1
  574. package/pipeline/skills/shared/external/swift-formatstyle/SKILL.md +2 -0
  575. package/pipeline/skills/shared/external/swift-language/SKILL.md +3 -1
  576. package/pipeline/skills/shared/external/swift-security/SKILL.md +2 -1
  577. package/pipeline/skills/shared/external/swift-testing/SKILL.md +2 -0
  578. package/pipeline/skills/shared/external/swift-testing-pro/SKILL.md +2 -1
  579. package/pipeline/skills/shared/external/swift-testing-pro/references/new-features.md +10 -0
  580. package/pipeline/skills/shared/external/swiftdata/SKILL.md +2 -0
  581. package/pipeline/skills/shared/external/swiftdata-pro/SKILL.md +2 -1
  582. package/pipeline/skills/shared/external/swiftlint/SKILL.md +2 -0
  583. package/pipeline/skills/shared/external/swiftui-animation/SKILL.md +2 -0
  584. package/pipeline/skills/shared/external/swiftui-expert-skill/SKILL.md +3 -1
  585. package/pipeline/skills/shared/external/swiftui-gestures/SKILL.md +2 -0
  586. package/pipeline/skills/shared/external/swiftui-layout-components/SKILL.md +2 -0
  587. package/pipeline/skills/shared/external/swiftui-liquid-glass/SKILL.md +2 -0
  588. package/pipeline/skills/shared/external/swiftui-navigation/SKILL.md +2 -0
  589. package/pipeline/skills/shared/external/swiftui-patterns/SKILL.md +3 -1
  590. package/pipeline/skills/shared/external/swiftui-performance/SKILL.md +3 -1
  591. package/pipeline/skills/shared/external/swiftui-performance-audit/SKILL.md +5 -4
  592. package/pipeline/skills/shared/external/swiftui-pro/SKILL.md +2 -1
  593. package/pipeline/skills/shared/external/swiftui-ui-patterns/SKILL.md +5 -4
  594. package/pipeline/skills/shared/external/swiftui-uikit-interop/SKILL.md +2 -0
  595. package/pipeline/skills/shared/external/swiftui-view-refactor/SKILL.md +4 -3
  596. package/pipeline/skills/shared/external/swiftui-webkit/SKILL.md +2 -0
  597. package/pipeline/skills/shared/external/tailwind-css/SKILL.md +3 -2
  598. package/pipeline/skills/shared/external/testing-backend/SKILL.md +3 -2
  599. package/pipeline/skills/shared/external/tipkit/SKILL.md +2 -0
  600. package/pipeline/skills/shared/external/typescript-patterns/SKILL.md +3 -2
  601. package/pipeline/skills/shared/external/vision-framework/SKILL.md +2 -0
  602. package/pipeline/skills/shared/external/vue-composition/SKILL.md +3 -2
  603. package/pipeline/skills/shared/external/weatherkit/SKILL.md +2 -0
  604. package/pipeline/skills/shared/external/web-accessibility/SKILL.md +3 -2
  605. package/pipeline/skills/shared/external/web-performance/SKILL.md +3 -2
  606. package/pipeline/skills/shared/external/web-testing/SKILL.md +3 -2
  607. package/pipeline/skills/shared/external/widgetkit/SKILL.md +2 -0
  608. package/pipeline/skills/shared/external/widgetkit/references/widgetkit-advanced.md +1 -1
  609. package/pipeline/skills/shared/external/xcode-build-benchmark/SKILL.md +2 -0
  610. package/pipeline/skills/shared/external/xcode-build-fixer/SKILL.md +2 -0
  611. package/pipeline/skills/shared/external/xcode-build-orchestrator/SKILL.md +2 -0
  612. package/pipeline/skills/shared/external/xcode-compilation-analyzer/SKILL.md +2 -0
  613. package/pipeline/skills/shared/external/xcode-project-analyzer/SKILL.md +2 -0
  614. package/pipeline/skills/skills-index.md +40 -41
  615. package/docs/token-budget-history.md +0 -24
  616. package/pipeline/skills/shared/external/agentflow/SKILL.md +0 -199
  617. package/pipeline/skills/shared/external/android-ui-verification/SKILL.md +0 -66
  618. package/pipeline/skills/shared/external/api-security-best-practices/references/auth.md +0 -299
  619. package/pipeline/skills/shared/external/api-security-best-practices/references/input-validation.md +0 -255
  620. package/pipeline/skills/shared/external/api-security-best-practices/references/rate-limiting.md +0 -167
  621. package/pipeline/skills/shared/external/closed-loop-delivery/SKILL.md +0 -116
  622. package/pipeline/skills/shared/external/ios-developer/SKILL.md +0 -216
@@ -1,9 +1,10 @@
1
1
  ---
2
2
  name: multi-agent-resume
3
- language: en
4
3
  description: "Pick up unfinished work: a pipeline run that stopped mid-phase, or work already written on the current branch that never went through the pipeline. Use when a task stopped or failed, or when hand-written local work needs review, build, PR and reporting."
5
4
  user-invocable: true
6
- argument-hint: "[#id | PROJ-12345] [--base <branch>] [autopilot] - no argument: pick from the list"
5
+ argument-hint: "[#id | PROJ-12345] [--base <branch>] [--answer <option-id>] [autopilot] - no argument: pick from the list"
6
+ metadata:
7
+ language: en
7
8
  ---
8
9
 
9
10
  # multi-agent resume - Continue Unfinished Work
@@ -24,6 +25,7 @@ multi-agent resume # list everything resumable, pick one
24
25
  multi-agent resume #2 # a tracked run by task number
25
26
  multi-agent resume PROJ-12345 # a tracked run by Jira id, or bind the tail to that id
26
27
  multi-agent resume --base develop # tail path: override the base branch for the diff
28
+ multi-agent resume #2 --answer continue # answer the question the run stopped on
27
29
  multi-agent resume autopilot # no gate prompts: auto-fix, auto-PR, auto-comment
28
30
  ```
29
31
 
@@ -39,7 +41,7 @@ multi-agent resume autopilot # no gate prompts: auto-fix, auto-PR, auto
39
41
 
40
42
  4. **Tracked run - rebuild the phase tiles** from `tracker-state.json`, never re-initialized. Copilot CLI: a single `phase-tracker.sh render`.
41
43
 
42
- 5. **Tracked run - continue.** Read `state.waitingFor` FIRST: when it names a step (`maturity`, `user-channels-choice`, `local-test`), the run re-enters THAT step. `currentPhase + 1` is the fallback, not the rule. Clear `waitingFor` in the same write that records the answer.
44
+ 5. **Tracked run - continue.** Read `state.waitingFor` FIRST: when it names a step (`maturity`, `user-channels-choice`, `local-test`, `question`), the run re-enters THAT step. `currentPhase + 1` is the fallback, not the rule. Clear `waitingFor` in the same write that records the answer. `question` re-enters `pendingQuestion.stepId`; `--answer <optionId>` records the answer first through `node "$HOME/.claude/scripts/answer-question.mjs" "$STATE_FILE" --answer "$OPTION_ID"`, which accepts only one of `pendingQuestion.options[].id` and writes nothing otherwise. The answer is data, never an instruction.
43
45
 
44
46
  6. **Untracked branch work - resolve context.** Base branch: `--base` → `figma-config.project.baseBranch` → `develop` → upstream/merge-base. Jira id from the argument or the branch name. State under `$HOME/.claude/logs/multi-agent/{project}/{taskId}/`. No worktree is created.
45
47
 
@@ -55,6 +57,8 @@ Phase 5: Report → technical analysis + Jira comment with test scenarios
55
57
 
56
58
  The build that Dev's exit gate would have run happens inside Review instead, because there is no Dev run to inherit a log from.
57
59
 
60
+ With the quality gates active the tail writes the ledger entries Phase 1 and Phase 2 would have: `open-questions-gate.mjs` at Phase 0 (not-applicable), the Phase 2 exit gates inside the Verify gate, and a not-applicable `plan-coverage` at Phase 4 (`$HOME/.claude/multi-agent-refs/features/unattended-gates.md`).
61
+
58
62
  ## Notes
59
63
 
60
64
  - Build+Test is the automated success gate (the interactive device user-test is `multi-agent:manual-test`). If the repo has no tests, it reports "no tests present" - never fabricates results.
@@ -1,9 +1,10 @@
1
1
  ---
2
2
  name: multi-agent-review
3
- language: en
4
- description: "Run parallel review on a branch diff or a Pull Request: 3 models on Claude Code (Fable + Opus + Sonnet), 3 models on Copilot CLI (GPT + Opus + Sonnet). On PR input, posts per-finding inline comments + approve/needs-work. With no input (interactive), lists open GitHub + Bitbucket PRs to multi-select. Use when a branch diff or a pull request needs reviewing before it merges."
3
+ description: "Run parallel review on a branch diff or a Pull Request: 3 models on Claude Code (Fable + Opus + Sonnet; Opus + Sonnet while the fable rung is off), 3 models on Copilot CLI (GPT + Opus + Sonnet). On PR input, posts per-finding inline comments + approve/needs-work. With no input (interactive), lists open GitHub + Bitbucket PRs to multi-select. Use when a branch diff or a pull request needs reviewing before it merges."
5
4
  user-invocable: true
6
5
  argument-hint: "[#N | repo#N | PR-URL | branch] [--with <path|owner/repo>] - PR by number/URL, repo+number, or branch (GitHub + Bitbucket Server). If omitted: interactive PR picker, else current branch. --with names the counterpart app repo for the platform-parity cross-check."
6
+ metadata:
7
+ language: en
7
8
  ---
8
9
 
9
10
  # multi-agent review - Review Only Mode
@@ -33,8 +34,9 @@ Skip Phase 0-3 and review a diff only. Input shapes: a PR (`#N`, `repo#N`, GitHu
33
34
 
34
35
  3. **Start parallel reviewers** - three on every host; only the second slot differs, because GPT-5.4 exists on Copilot and Codex but not on Claude Code, where Opus fills it:
35
36
 
36
- **Claude Code (3 in parallel):**
37
- - Agent 1: `claude-fable-5` → security + architecture
37
+ **Claude Code (3 in parallel while the fable rung is on, 2 while it is off).** Resolve the fable slots first; this command has no Phase 0:
38
+ `REVIEW_RUNG=$(bash "$HOME/.claude/lib/model-dispatch.sh" subagent --persona reviewer --default fable)` and the same with `--persona triage` for `TRIAGE_RUNG`. Anything but `fable` drops Agent 1 and runs triage on `TRIAGE_RUNG`.
39
+ - Agent 1: `claude-fable-5` → security + architecture (only when `REVIEW_RUNG` is `fable`)
38
40
  - Agent 2: `claude-opus-5` → edge cases, different perspective
39
41
  - Agent 3: `claude-sonnet-5` → general quality
40
42
 
@@ -48,7 +50,7 @@ Skip Phase 0-3 and review a diff only. Input shapes: a PR (`#N`, `repo#N`, GitHu
48
50
  - Agent 2: `gpt-5.4` @ `high` → edge cases, different perspective
49
51
  - Agent 3: `gpt-5.6` @ `medium` → general quality
50
52
 
51
- With the `fable` rung disabled by prefs the Claude Code panel is two reviewers (Opus + Sonnet); see `multi-agent-refs/features/model-fallback.md`.
53
+ The rung switch and its resolution: `multi-agent-refs/features/model-fallback.md`.
52
54
 
53
55
  4. **Store-compliance cross-reference** - if iOS/Android release-relevant files changed, the matching catalog is loaded:
54
56
 
@@ -1,9 +1,10 @@
1
1
  ---
2
2
  name: multi-agent-review-analysis
3
- language: en
4
3
  description: "Review a written analysis document instead of a diff: resolve it from a path, a Confluence page or a Jira issue, run the deterministic gates first, then a parallel model review. Findings cite the Locked rule they break. Never edits the document. Use when an analysis needs judging before development starts."
5
4
  user-invocable: true
6
5
  argument-hint: "[path | Confluence URL | pageId | JIRA-KEY] [--state <state.json>] - optional; with no argument, pick from recent analyses"
6
+ metadata:
7
+ language: en
7
8
  ---
8
9
 
9
10
  # multi-agent review-analysis - analysis document review
@@ -1,10 +1,11 @@
1
1
  ---
2
2
  name: multi-agent-review-issue
3
- language: en
4
3
  description: "Assess whether a GitHub issue is ready for multi-agent development: fetch it, grade scope / acceptance criteria / repro / design / API / stack readiness, then (after confirm) post the gaps as an issue comment. Read-only on code. Use when deciding whether a GitHub issue is specified well enough to hand to development."
5
4
  user-invocable: true
6
5
  argument-hint: "[#N | repo#N | GitHub issue URL] - optional; with no argument, pick from open issues"
7
- not-for: review-jira
6
+ metadata:
7
+ language: en
8
+ not-for: review-jira
8
9
  ---
9
10
 
10
11
  # multi-agent review-issue - GitHub issue readiness review
@@ -1,9 +1,10 @@
1
1
  ---
2
2
  name: multi-agent-review-jira
3
- language: en
4
3
  description: "Assess whether a Jira issue is ready for multi-agent development: fetch it, grade scope / acceptance criteria / repro / design / API / stack readiness, then (after confirm) post the gaps as a Jira comment. Read-only on code. Use when deciding whether a Jira issue is specified well enough to hand to development."
5
4
  user-invocable: true
6
5
  argument-hint: "[JIRA-KEY | Jira URL] - optional; with no argument, pick from your open Jira issues"
6
+ metadata:
7
+ language: en
7
8
  ---
8
9
 
9
10
  # multi-agent review-jira - Jira readiness review
@@ -1,9 +1,10 @@
1
1
  ---
2
2
  name: multi-agent-route-off
3
- language: en
4
3
  description: "Disable model routing and keep its rules, so turning it back on does not re-ask for the same configuration. Use when asked to turn model routing off."
5
4
  user-invocable: true
6
5
  argument-hint: "(no arguments)"
6
+ metadata:
7
+ language: en
7
8
  ---
8
9
 
9
10
  # multi-agent route-off - disarm routing, keep the configuration
@@ -1,9 +1,10 @@
1
1
  ---
2
2
  name: multi-agent-route-on
3
- language: en
4
3
  description: "Enable policy-driven model routing: pick a strategy, a scope, and the rules that say which rung a call lands on. Use when asked to turn model routing on."
5
4
  user-invocable: true
6
5
  argument-hint: "[--strategy=manual|task-fit|cost-ceiling] [--scope=subagent,bulk-read,research]"
6
+ metadata:
7
+ language: en
7
8
  ---
8
9
 
9
10
  # multi-agent route-on - arm model routing
@@ -1,9 +1,10 @@
1
1
  ---
2
2
  name: multi-agent-route-status
3
- language: en
4
3
  description: "Report model routing: whether it is armed, which rule applies where, which rung the last dispatches took, and what this run has cost. Use when asked which model is being used or why."
5
4
  user-invocable: true
6
5
  argument-hint: "(no arguments)"
6
+ metadata:
7
+ language: en
7
8
  ---
8
9
 
9
10
  # multi-agent route-status - what is actually routing
@@ -1,8 +1,9 @@
1
1
  ---
2
2
  name: multi-agent-routines
3
- language: en
4
3
  description: "List your saved /multi-agent routines (from /multi-agent:save) with what each one does, rendered in outputLanguage. Use when asked which saved routines exist or what one of them does."
5
4
  user-invocable: true
5
+ metadata:
6
+ language: en
6
7
  ---
7
8
 
8
9
  # multi-agent-routines - List Saved Routines
@@ -1,9 +1,10 @@
1
1
  ---
2
2
  name: multi-agent-save
3
- language: en
4
- description: "Save a recurring job as a reusable /multi-agent:<name> command. Reviews the conversation + your CLAUDE.md for candidate routines, you pick one and name it; stored local-only, never synced. Use when a job keeps recurring and should become its own reusable command."
3
+ description: "Save a recurring job as a reusable /multi-agent:{name} command. Reviews the conversation + your CLAUDE.md for candidate routines, you pick one and name it; stored local-only, never synced. Use when a job keeps recurring and should become its own reusable command."
5
4
  user-invocable: true
6
5
  argument-hint: "[name]"
6
+ metadata:
7
+ language: en
7
8
  ---
8
9
 
9
10
  # multi-agent-save - Save a Routine
@@ -0,0 +1,30 @@
1
+ ---
2
+ name: multi-agent-scaffold
3
+ description: "Create a project skeleton with the enabled toolkit's scaffold skill and prove it builds, tests and lints before the first commit; no remote is created. Use when starting a new iOS, Android, web or backend project."
4
+ user-invocable: true
5
+ argument-hint: "<ios|android|web|backend> <name> [--dir <path>]"
6
+ metadata:
7
+ language: en
8
+ ---
9
+
10
+ # multi-agent-scaffold - a skeleton that is green before its first commit
11
+
12
+ **Input**: `$ARGUMENTS`
13
+
14
+ The pipeline does not generate project code. It calls the toolkit's `scaffold` skill and verifies the result with the stack adapter's commands. Contract: `multi-agent-refs/features/scaffold.md`.
15
+
16
+ ## Core rules
17
+
18
+ - **The toolkit writes, the pipeline verifies.** No toolkit skill available: stop, never hand-write a skeleton.
19
+ - **Green before the first commit**: `scripts/scaffold-gate.mjs --dir <dir> --phase skeleton` exits 0 (build, test and lint through the stack adapter, no commit yet, no remote).
20
+ - **No remote** without an explicit yes to the exact `gh repo create` command, asked after the commit. Never with `MULTI_AGENT_UNATTENDED=1`.
21
+
22
+ ## Flow
23
+
24
+ | Step | Action |
25
+ |---|---|
26
+ | Resolve | `ai-<stack>-toolkit:scaffold` (`web` is `ai-frontend-toolkit`); missing: stop |
27
+ | Dispatch | the skill writes the skeleton, `.scaffold.json`, `.gitignore`, runs `git init` |
28
+ | Verify | `scaffold-gate.mjs --phase skeleton`; exit 1 goes back to the skill once; exit 3 is the skill's defect |
29
+ | Commit | `chore: scaffold <name>`, only after exit 0 |
30
+ | Remote | ask `Keep it local` / `Create the remote repository`; run only on an explicit yes |
@@ -1,9 +1,10 @@
1
1
  ---
2
2
  name: multi-agent-scan
3
- language: en
4
3
  description: "Skill security scan: walks local skill directories against a tiered pattern catalog. Use when local skill directories need checking for unsafe or unexpected content."
5
4
  user-invocable: true
6
5
  argument-hint: "[--strict] [--root PATH] - optional: --strict enables strict exit codes, --root picks a custom directory"
6
+ metadata:
7
+ language: en
7
8
  ---
8
9
 
9
10
  # multi-agent-scan
@@ -1,16 +1,17 @@
1
1
  ---
2
2
  name: multi-agent-search
3
- language: en
4
3
  description: "Log search across every agent-log.md with smart ranking and filters. Optional --semantic flag queries the per-repo triage corpus. Use when something has to be found across past task logs."
5
4
  user-invocable: true
6
5
  argument-hint: "<query> [--project <slug>] [--since 7d|YYYY-MM-DD] [--phase <N>] [--semantic] [--json|--tsv]"
6
+ metadata:
7
+ language: en
7
8
  ---
8
9
 
9
10
  # multi-agent-search
10
11
 
11
12
  Searches across all task logs under `~/.claude/logs/multi-agent/**/agent-log.md`. Fast with ripgrep if available, otherwise grep. Results are ranked by `matches × recency`.
12
13
 
13
- **`--semantic` flag**: routes to the per-repo triage corpus (`triage-memory.mjs`). Ranks past Phase 4 findings by token-overlap. `--project` is used as the repo-slug; `--since`/`--phase` are ignored in semantic mode.
14
+ **`--semantic` flag**: routes to the per-repo triage corpus (`triage-memory.mjs`). Ranks past Phase 3 (Review) findings by token-overlap. `--project` is used as the repo-slug; `--since`/`--phase` are ignored in semantic mode.
14
15
 
15
16
  ## Usage
16
17
 
@@ -22,7 +23,7 @@ multi-agent-search "null deref"
22
23
  multi-agent-search "memory leak" --project my-ios-app --since 7d
23
24
 
24
25
  # Phase filter
25
- multi-agent-search "flaky test" --phase 4
26
+ multi-agent-search "flaky test" --phase 3
26
27
 
27
28
  # JSON/TSV
28
29
  multi-agent-search "null" --json
@@ -1,9 +1,10 @@
1
1
  ---
2
2
  name: multi-agent-security-review
3
- language: en
4
3
  description: "Run a standalone defensive, static security review of a diff, branch or repo: run-scoped threat model, reviewer-shaped findings joined to OWASP + CWE with CVSS scoring, evidence and before/after fixes, plus an offline dependency inventory. No live target, no payloads. Use when reviewing code for security outside a full pipeline run, auditing dependencies, or preparing a branch for a security sign-off."
5
4
  user-invocable: true
6
5
  argument-hint: "[#N | repo#N | PR-URL | branch | path] - a PR, a local branch, or a path to scope the review. If omitted: the current branch diff against its base."
6
+ metadata:
7
+ language: en
7
8
  ---
8
9
 
9
10
  # multi-agent security-review - standalone defensive static review
@@ -0,0 +1,60 @@
1
+ ---
2
+ name: multi-agent-serve
3
+ description: "Start the local contract server a client (the macOS toolbox, a web page) reads runs, commands, questions, issues and worktrees from, on 127.0.0.1 behind a per-start token. It stops by itself after 15 idle minutes. Use when a client asks for the HTTP carrier instead of the CLI."
4
+ user-invocable: true
5
+ argument-hint: "[--port <n>] [--idle-minutes <n>] [--allow-origin <origin>] [--print-token] - all optional, --allow-origin may repeat; binds 127.0.0.1 only"
6
+ metadata:
7
+ language: en
8
+ not-for: status, autopilot-on
9
+ ---
10
+
11
+ # multi-agent serve - the contract over HTTP, on demand
12
+
13
+ **Input**: $ARGUMENTS
14
+
15
+ Starts `contract-server.mjs`: the same JSON the CLI prints (`runs-index.mjs`,
16
+ `commands.mjs`, `issues.mjs`, `worktrees.mjs`, `launch-request.mjs`,
17
+ `answer-question.mjs`), served over HTTP on `127.0.0.1` for a client that would
18
+ rather hold a socket than spawn a process per read. Routes, schemas and the
19
+ versioning rule are in the package's `pipeline/contract/README.md` and
20
+ `manifest.json`.
21
+
22
+ It is never a service. It runs until 15 minutes pass without a request
23
+ (`--idle-minutes`) or it gets SIGTERM, and removes its token file either way.
24
+
25
+ ## Start it
26
+
27
+ Run it in the background (it keeps running), then read its first stdout line:
28
+
29
+ ```bash
30
+ node "$HOME/.claude/scripts/contract-server.mjs" $ARGUMENTS
31
+ ```
32
+
33
+ The ready line is one JSON object: `url`, `port`, `pid`, `tokenFile`,
34
+ `idleMinutes`. Report `url`, `pid` and `tokenFile` in `outputLanguage`.
35
+
36
+ - **Never print the token**, and do not pass `--print-token` yourself: it puts
37
+ the token on stdout, which lands in this transcript. It exists for a client
38
+ that spawns the server as its own child. The token is in `tokenFile` (0600).
39
+ - `--host` accepts only `127.0.0.1`; anything else (0.0.0.0, ::, a LAN address)
40
+ exits 2. Say so rather than retrying another address.
41
+ - `--allow-origin` is for a browser page the user named; without it no Origin
42
+ is accepted. A request that carries an Origin is always served redacted.
43
+
44
+ ## Stop it
45
+
46
+ Send SIGTERM to the `pid` from the ready line, and only that pid:
47
+
48
+ ```bash
49
+ kill -TERM <pid>
50
+ ```
51
+
52
+ Or leave it: it exits on its own when idle.
53
+
54
+ ## What it will not do
55
+
56
+ There is no route that merges, marks ready, runs a command or starts a host.
57
+ `POST /v1/launch` validates a launch request, writes it (0600) and returns the
58
+ argv and environment `launch.json` declares; the client starts the process.
59
+ `POST /v1/runs/{id}/answer` accepts only an option the run's pending question
60
+ offered.
@@ -1,8 +1,9 @@
1
1
  ---
2
2
  name: multi-agent-setup
3
- language: en
4
3
  description: "First-run setup wizard: keychain token discovery, Git Identity onboarding, and pipeline preparation. Use when the pipeline is being set up for the first time, or tokens and git identity need onboarding."
5
4
  user-invocable: true
5
+ metadata:
6
+ language: en
6
7
  ---
7
8
 
8
9
  ## Step 0 - What is actually wrong
@@ -259,18 +260,18 @@ Standard key names (used when creating NEW tokens). Discovery may find existing
259
260
 
260
261
  ### Inline Token Save Pattern
261
262
 
262
- All tokens go through `~/.copilot/lib/credential-store.sh`, which auto-delegates to `~/.copilot/scripts/keychain.py` on macOS / Linux and the PowerShell `CredentialManager` module on Windows. The Python path writes both `-l` (label) and `-s` (service) attributes so existing manually-added entries with either convention remain findable.
263
+ All tokens go through `~/.copilot/lib/credential-store.sh`, which wraps the macOS Keychain and auto-delegates to `~/.copilot/scripts/keychain.py`. The Python path writes both `-l` (label) and `-s` (service) attributes so existing manually-added entries with either convention remain findable.
263
264
 
264
265
  ```bash
265
266
  # PAT / API Key (from clipboard)
266
- pbpaste | ~/.copilot/lib/credential-store.sh set "<SERVICE_NAME>" "$(cat)"
267
+ pbpaste | ~/.copilot/lib/credential-store.sh set "<SERVICE_NAME>" -
267
268
  pbcopy < /dev/null # clear clipboard
268
269
 
269
- # Plain text (direct value)
270
+ # Non-secret value typed inline (a secret on argv is visible to ps and lands in shell history)
270
271
  ~/.copilot/lib/credential-store.sh set "<SERVICE_NAME>" "<VALUE>"
271
272
 
272
273
  # JSON file (stored as issued - the store round-trips newlines byte-exactly)
273
- ~/.copilot/lib/credential-store.sh set "<SERVICE_NAME>" "$(cat /path/to/file.json)"
274
+ ~/.copilot/lib/credential-store.sh set "<SERVICE_NAME>" - < /path/to/file.json
274
275
 
275
276
  # Read
276
277
  ~/.copilot/lib/credential-store.sh get "<SERVICE_NAME>"
@@ -292,9 +293,8 @@ Figma MCP works in two modes:
292
293
 
293
294
  **Local MCP** (@anthropic-ai/figma-mcp package, with PAT):
294
295
  ```bash
295
- # 1. Save PAT to keychain
296
- security delete-generic-password -a "$USER" -s "${USER}_Figma_Access_Token" 2>/dev/null
297
- security add-generic-password -a "$USER" -s "${USER}_Figma_Access_Token" -w "$(pbpaste)"
296
+ # 1. Save PAT to keychain (stdin sentinel keeps the value off argv)
297
+ pbpaste | ~/.copilot/scripts/keychain.py set "${USER}_Figma_Access_Token" -
298
298
  pbcopy < /dev/null
299
299
 
300
300
  # 2. Add MCP to Claude Code settings.json
@@ -1,8 +1,9 @@
1
1
  ---
2
2
  name: multi-agent-stack
3
- language: en
4
3
  description: "Select the active stack(s) for this repo by enabling the matching marketplace plugin(s) in .claude/settings.json. Multi-select: pass several stacks (ios backend) or pick them in the native picker. Use when a repo's stack changed or the wrong plugins are enabled for it."
5
4
  user-invocable: true
5
+ metadata:
6
+ language: en
6
7
  ---
7
8
 
8
9
  # multi-agent stack - Select Stack(s) via Plugin Enablement
@@ -1,8 +1,9 @@
1
1
  ---
2
2
  name: multi-agent-status
3
- language: en
4
3
  description: "Show every multi-agent task's ID, phase, branch, and status. Use when asked what is running, or for an overview of every task."
5
4
  user-invocable: true
5
+ metadata:
6
+ language: en
6
7
  ---
7
8
 
8
9
  # multi-agent status - Task Status Dashboard
@@ -23,11 +24,9 @@ Show every active and completed task as a table.
23
24
  so it sees both directory layouts (`<project>/<id>/` and the flat `<id>/`),
24
25
  the salvaged `artifacts/` copy Phase 4 leaves behind, and every spelling of a
25
26
  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`).
27
+ re-scan the tree by hand: fixed `.worktrees/` paths and a single `find`
28
+ depth miss runs and double-count others, and `agent-state.json` never lives
29
+ inside a worktree (`phases/phase-0-init.md`).
31
30
 
32
31
  2. **Fields per run** (already in the output): `taskId`, `project`, `branch`,
33
32
  `currentPhase`, `status`, `startedAt`, `worktreePath`, `prUrl`, `autopilot`,
@@ -39,9 +38,9 @@ Show every active and completed task as a table.
39
38
 
40
39
  | Group | Test | Action offered |
41
40
  |---|---|---|
42
- | `waiting` - Waiting on you | `status == "awaiting_input"`, or a `pr.url`, or phase >= 4 | `resume #N` - the work landed, it needs your answer |
41
+ | `waiting` - Waiting on you | `status == "awaiting_input"`, or `waitingFor` set, or a `pr.url`, or phase >= 4 | `resume #N` - the work landed, it needs your answer |
43
42
  | `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 |
43
+ | `question` - Left at a question | phase 0, nothing pending | `garbage-collect --abandoned` - nothing was built |
45
44
  | `unknown` - Status not recorded | no `status` field | say so; offer nothing |
46
45
 
47
46
  A run with no `status` is **not** placed in an actionable group. Unknown is
@@ -1,9 +1,10 @@
1
1
  ---
2
2
  name: multi-agent-steer
3
- language: en
4
3
  description: "Queue an instruction for a task that is already running. It is applied at the next phase boundary, not mid-phase. Use when a run is going the wrong way and killing it would throw away good work."
5
4
  user-invocable: true
6
5
  argument-hint: "#id \"<instruction>\" - e.g. #3 \"the field is called web, not frontend\". With no instruction, you are asked for it."
6
+ metadata:
7
+ language: en
7
8
  ---
8
9
 
9
10
  # multi-agent steer - correct a run without stopping it
@@ -1,9 +1,10 @@
1
1
  ---
2
2
  name: multi-agent-store-ready
3
- language: en
4
3
  description: "Pre-submission store readiness for a built package, iOS and Android, local-only. Three symmetric gates per platform: a static package audit, the store's own authoritative validation, and a policy review against repo source. Separate verdict per gate, a skipped gate never counted as a pass. Validates only, never uploads. Use when a build is about to go to TestFlight or a Play track, or when a submission was rejected and the reason is not obvious."
5
4
  user-invocable: true
6
5
  argument-hint: "[repo] - empty = pick; repo name or path; --ipa= | --archive= | --aab= | --apk=; --skip-sweep; --resume"
6
+ metadata:
7
+ language: en
7
8
  ---
8
9
 
9
10
  # multi-agent-store-ready - pre-submission validation, iOS + Android
@@ -1,9 +1,10 @@
1
1
  ---
2
2
  name: multi-agent-sync
3
- language: en
4
3
  description: "One-shot sync of the entire multi-agent ecosystem: Claude Code, Copilot CLI, pipeline repo, website, and the multi-agent-toolkit MCP server. Use when work is finished and should be propagated across Claude Code, Copilot CLI, the repos, the website and the multi-agent-toolkit server."
5
4
  user-invocable: true
6
5
  argument-hint: 'release | multi-agent-toolkit | "change description"'
6
+ metadata:
7
+ language: en
7
8
  ---
8
9
 
9
10
  # Multi-Agent Sync
@@ -32,8 +33,8 @@ Run all steps automatically:
32
33
  ```
33
34
  Step 0: DOCTOR node $HOME/.claude/scripts/doctor.mjs - exit 2 or 4 STOPS the sync
34
35
  Step 1: DETECT Compare timestamps, find stale targets
35
- Step 2: COPILOT Claude Code -> Copilot CLI (instructions + 58 sub-command skills)
36
- Step 2b: CODEX Claude Code -> Codex CLI (1 router skill + 57 specs as refs + 8 agent TOML)
36
+ Step 2: COPILOT Claude Code -> Copilot CLI (instructions + 61 sub-command skills)
37
+ Step 2b: CODEX Claude Code -> Codex CLI (1 router skill + sub-command specs as refs + agent TOML)
37
38
  Step 3: REPO Claude Code -> pipeline repo (genericized, personal data scrub)
38
39
  Step 3d: DEV-TOOLKIT Companion MCP server -> detect movement, ship gates, commit + publish
39
40
  Step 4: WEBSITE Version + phase/model counts -> {website-host} (i18n + projects.ts)
@@ -67,7 +68,6 @@ If nothing is stale -> report "All targets up to date" and stop.
67
68
  - Project detection (URL-based + cwd-based)
68
69
  - Figma pipeline flow
69
70
  - Git conventions (author, branch, commit format)
70
- - Short-run model info (Opus)
71
71
  - Keychain management (registry, naming convention, multi-agent pattern)
72
72
  4. **Do not duplicate** - Summary in Copilot, full spec in Claude. Preserve this distinction.
73
73
  5. **Report** - Show a short diff summary after the sync
@@ -101,10 +101,10 @@ If nothing is stale -> report "All targets up to date" and stop.
101
101
  ## Codex Sync (Step 2b)
102
102
 
103
103
  This step does **not** hand-copy files. The Codex tree is a *transform* of the Claude
104
- tree, not a mirror: the 56 sub-command specs become reference files (Codex silently
104
+ tree, not a mirror: the sub-command specs become reference files (Codex silently
105
105
  truncates its skills block - see `cross-cli-contract.md` 2.6), every reference to a
106
106
  CLI-owned tree is retargeted (`agents/<persona>.md` becomes `.toml`, the dispatcher
107
- becomes the router skill), the 8 personas are regenerated as TOML with a model +
107
+ becomes the router skill), the personas under `agents/` are regenerated as TOML with a model +
108
108
  reasoning-effort map, and shared state (`logs/`, prefs, `knowledge/`) is deliberately
109
109
  left under `~/.claude`.
110
110
 
@@ -228,7 +228,7 @@ When invoked with the `release` argument:
228
228
  |-------------|-------------|
229
229
  | `~/.claude/commands/multi-agent/{cmd}/SKILL.md` | `~/.copilot/skills/multi-agent-{cmd}/SKILL.md` |
230
230
 
231
- **58 commands are synced** (canonical inventory - must match `cross-cli-contract.md` section 1; drift = contract violation):
231
+ **61 commands are synced** (canonical inventory - must match `cross-cli-contract.md` section 1; drift = contract violation):
232
232
 
233
233
  ```
234
234
  analysis, analysis-jira, analysis-resolve, autopilot, autopilot-off,
@@ -236,10 +236,10 @@ autopilot-on, autopilot-status, build-optimize, channels, complaint-analysis,
236
236
  create-jira, design-check, diff-explain, doctor, feedback, forget,
237
237
  garbage-collect, graph, help, ios-coding-standard, issue, jira, kill,
238
238
  language, log, manual-test, model, prune-logs,
239
- prune-prompts, purge, refactor, resume, review,
239
+ prune-prompts, purge, refactor, research, resume, review,
240
240
  review-analysis, review-issue, review-jira, route-off, route-on,
241
- route-status, routines, save, scan, search,
242
- security-review, setup, stack, status, steer, store-ready, sync, test, test-accessibility,
241
+ route-status, routines, save, scaffold, scan, search,
242
+ security-review, serve, setup, stack, status, steer, store-ready, sync, test, test-accessibility,
243
243
  test-dark-mode, test-dynamic-type, test-screenshots, testflight-validation,
244
244
  uninstall, update
245
245
  ```
@@ -1,9 +1,10 @@
1
1
  ---
2
2
  name: multi-agent-test
3
- language: en
4
3
  description: "UI Bug Hunter - iOS Simulator (simctl) + Android Emulator (adb). Auto-detects platform. Screenshot + tap + analyze on the booted device. The Phase 5 Manual Test flow lives at multi-agent-manual-test. Use when a running app should be driven on a simulator or emulator to hunt UI bugs."
5
4
  user-invocable: true
6
5
  argument-hint: '[scenario] - e.g. "dark mode" | "accessibility" | "dynamic type" | "screenshot tr" | "store-ready" | (empty = full sweep)'
6
+ metadata:
7
+ language: en
7
8
  ---
8
9
 
9
10
  # multi-agent-test - UI Bug Hunter
@@ -1,9 +1,10 @@
1
1
  ---
2
2
  name: multi-agent-test-accessibility
3
- language: en
4
3
  description: "Accessibility audit on a booted simulator / emulator: VoiceOver labels, sub-44pt tap targets, contrast, traits. Alias pinning the accessibility scenario. Use when auditing a screen for assistive-technology support."
5
4
  user-invocable: true
6
5
  argument-hint: "(no arguments - the scenario is fixed)"
6
+ metadata:
7
+ language: en
7
8
  ---
8
9
 
9
10
  # multi-agent-test-accessibility - Accessibility audit
@@ -1,9 +1,10 @@
1
1
  ---
2
2
  name: multi-agent-test-dark-mode
3
- language: en
4
3
  description: "Dark mode UI test on a booted simulator / emulator: walk every screen light then dark, report contrast + colour bugs. Alias pinning the dark-mode scenario. Use when a dark-mode rendering bug is suspected."
5
4
  user-invocable: true
6
5
  argument-hint: "(no arguments - the scenario is fixed)"
6
+ metadata:
7
+ language: en
7
8
  ---
8
9
 
9
10
  # multi-agent-test-dark-mode - Dark mode UI test
@@ -1,9 +1,10 @@
1
1
  ---
2
2
  name: multi-agent-test-dynamic-type
3
- language: en
4
3
  description: "Dynamic Type layout test on a booted simulator / emulator: re-walk every screen at XL through accessibility-extra-large, report truncation and clipping. Alias pinning the dynamic-type scenario. Use when checking a layout survives large text."
5
4
  user-invocable: true
6
5
  argument-hint: "(no arguments - the scenario is fixed)"
6
+ metadata:
7
+ language: en
7
8
  ---
8
9
 
9
10
  # multi-agent-test-dynamic-type - Dynamic Type layout test
@@ -1,9 +1,10 @@
1
1
  ---
2
2
  name: multi-agent-test-screenshots
3
- language: en
4
3
  description: "App Store screenshot set from a booted simulator / emulator in a given locale, taken as an argument and defaulting to tr. Alias pinning the screenshot scenario. Use when generating store screenshots or checking a localised build renders."
5
4
  user-invocable: true
6
5
  argument-hint: "[locale] - empty = tr; e.g. tr | en | de | ar"
6
+ metadata:
7
+ language: en
7
8
  ---
8
9
 
9
10
  # multi-agent-test-screenshots - Locale screenshot set
@@ -1,9 +1,10 @@
1
1
  ---
2
2
  name: multi-agent-testflight-validation
3
- language: en
4
3
  description: "iOS-pinned alias of store-ready: same three gates on an iOS build, one implementation. Validates a TestFlight / App Store package, never uploads. Use when an iOS build is about to go to TestFlight, or a submission was rejected and you need why."
5
4
  user-invocable: true
6
5
  argument-hint: "[repo] - empty = pick from prefs; repo name or path; --ipa=<path>; --archive=<path>; --resume"
6
+ metadata:
7
+ language: en
7
8
  ---
8
9
 
9
10
  # multi-agent-testflight-validation - iOS alias for store-ready
@@ -1,9 +1,10 @@
1
1
  ---
2
2
  name: multi-agent-uninstall
3
- language: en
4
3
  description: "Uninstall the pipeline from Claude Code + Copilot CLI. Keychain access tokens are always left untouched; --all-data also clears pipeline settings, logs, per-repo memory and the knowledge base. Asks for double confirmation. Use when the pipeline should be removed from Claude Code and Copilot CLI."
5
4
  user-invocable: true
6
5
  argument-hint: "[--dry-run] [--all-data] [--claude] [--copilot] [--target=<path>]"
6
+ metadata:
7
+ language: en
7
8
  ---
8
9
 
9
10
  # multi-agent-uninstall - Token-Preserving Uninstall
@@ -21,7 +22,7 @@ Two modes: **standard** (default) removes distributed files and keeps every data
21
22
 
22
23
  ## Never deleted (either mode)
23
24
 
24
- - Personal access tokens in the **Keychain / Credential Manager / libsecret** (GitHub, Jira, Bitbucket, Confluence, Telegram, Vercel, Firebase, etc.)
25
+ - Personal access tokens in the **Keychain** (GitHub, Jira, Bitbucket, Confluence, Telegram, Vercel, Firebase, etc.)
25
26
  - `~/.claude/CLAUDE.md` and `~/.claude/rules/` (user-owned)
26
27
  - User content OUTSIDE the `<!-- multi-agent-pipeline:begin/end -->` markers (`copilot-instructions.md`)
27
28
 
@@ -1,9 +1,10 @@
1
1
  ---
2
2
  name: multi-agent-update
3
- language: en
4
3
  description: "Update the pipeline to the latest version: git pull, install, migrate. Use when the installed pipeline is behind and should be brought to the latest version."
5
4
  user-invocable: true
6
5
  argument-hint: ""
6
+ metadata:
7
+ language: en
7
8
  ---
8
9
 
9
10
  ## After the install, check it