@mmerterden/multi-agent-pipeline 20.2.0 → 20.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (621) hide show
  1. package/CHANGELOG.md +923 -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 +616 -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/user-facing.mjs +82 -0
  148. package/pipeline/lib/user-facing.sh +58 -0
  149. package/pipeline/multi-agent-refs/_dev-context.md +1 -1
  150. package/pipeline/multi-agent-refs/analysis/evidence.md +4 -0
  151. package/pipeline/multi-agent-refs/analysis/locked.md +2 -2
  152. package/pipeline/multi-agent-refs/analysis/render.md +4 -3
  153. package/pipeline/multi-agent-refs/analysis/resolve.md +3 -1
  154. package/pipeline/multi-agent-refs/analysis/synthesis.md +4 -5
  155. package/pipeline/multi-agent-refs/analysis-template.md +10 -17
  156. package/pipeline/multi-agent-refs/channels/jira.md +1 -1
  157. package/pipeline/multi-agent-refs/component-dispatch.md +3 -3
  158. package/pipeline/multi-agent-refs/conventions-defaults.md +32 -32
  159. package/pipeline/multi-agent-refs/cross-cli-contract.md +10 -17
  160. package/pipeline/multi-agent-refs/features/autopilot-circuit-breaker.md +37 -9
  161. package/pipeline/multi-agent-refs/features/autopilot-operations.md +277 -0
  162. package/pipeline/multi-agent-refs/features/constitution.md +196 -0
  163. package/pipeline/multi-agent-refs/features/doctor.md +6 -3
  164. package/pipeline/multi-agent-refs/features/external-context-injection.md +6 -1
  165. package/pipeline/multi-agent-refs/features/jira-context.md +1 -1
  166. package/pipeline/multi-agent-refs/features/maturity-followup.md +43 -23
  167. package/pipeline/multi-agent-refs/features/model-fallback.md +9 -0
  168. package/pipeline/multi-agent-refs/features/phone-api.md +306 -0
  169. package/pipeline/multi-agent-refs/features/plan-critic.md +159 -0
  170. package/pipeline/multi-agent-refs/features/research.md +150 -0
  171. package/pipeline/multi-agent-refs/features/review-decision.md +185 -0
  172. package/pipeline/multi-agent-refs/features/scaffold.md +160 -0
  173. package/pipeline/multi-agent-refs/features/security-audit.md +6 -2
  174. package/pipeline/multi-agent-refs/features/skill-conformance.md +4 -1
  175. package/pipeline/multi-agent-refs/features/stack-adapters.md +116 -0
  176. package/pipeline/multi-agent-refs/features/unattended-gates.md +316 -0
  177. package/pipeline/multi-agent-refs/features/unattended-security.md +731 -0
  178. package/pipeline/multi-agent-refs/features/url-enrichment.md +2 -2
  179. package/pipeline/multi-agent-refs/features/usage-reporting.md +127 -31
  180. package/pipeline/multi-agent-refs/features/verify-by-test.md +1 -1
  181. package/pipeline/multi-agent-refs/features/visual-evidence.md +7 -7
  182. package/pipeline/multi-agent-refs/keychain.md +6 -11
  183. package/pipeline/multi-agent-refs/payload-contracts.md +2 -2
  184. package/pipeline/multi-agent-refs/phases/log-format.md +2 -3
  185. package/pipeline/multi-agent-refs/phases/modes.md +10 -12
  186. package/pipeline/multi-agent-refs/phases/operations.md +11 -5
  187. package/pipeline/multi-agent-refs/phases/phase-0-init.md +73 -81
  188. package/pipeline/multi-agent-refs/phases/phase-1-plan.md +22 -22
  189. package/pipeline/multi-agent-refs/phases/phase-2-dev.md +42 -66
  190. package/pipeline/multi-agent-refs/phases/phase-3-review.md +45 -79
  191. package/pipeline/multi-agent-refs/phases/phase-4-commit.md +28 -38
  192. package/pipeline/multi-agent-refs/phases/phase-5-report.md +27 -25
  193. package/pipeline/multi-agent-refs/phases.md +1 -1
  194. package/pipeline/multi-agent-refs/picker-contract.md +1 -1
  195. package/pipeline/multi-agent-refs/progress-contract.md +13 -16
  196. package/pipeline/multi-agent-refs/readiness-review.md +1 -1
  197. package/pipeline/multi-agent-refs/research/engine.md +91 -0
  198. package/pipeline/multi-agent-refs/rules.md +6 -4
  199. package/pipeline/multi-agent-refs/setup/repo-discovery.md +2 -2
  200. package/pipeline/multi-agent-refs/tracker-contract.md +2 -2
  201. package/pipeline/multi-agent-refs/unattended-contract.md +68 -16
  202. package/pipeline/rules/figma-pipeline.md +12 -12
  203. package/pipeline/schemas/agent-state.schema.json +480 -18
  204. package/pipeline/schemas/analysis-spec.schema.json +4 -4
  205. package/pipeline/schemas/answer-request.schema.json +24 -0
  206. package/pipeline/schemas/answer-result.schema.json +28 -0
  207. package/pipeline/schemas/autopilot-config.schema.json +111 -13
  208. package/pipeline/schemas/command-parameters.schema.json +99 -0
  209. package/pipeline/schemas/constitution.schema.json +56 -0
  210. package/pipeline/schemas/contract-error.schema.json +52 -0
  211. package/pipeline/schemas/design-check-config.schema.json +5 -1
  212. package/pipeline/schemas/issues.schema.json +61 -0
  213. package/pipeline/schemas/launch-plan.schema.json +46 -0
  214. package/pipeline/schemas/launch-request.schema.json +45 -0
  215. package/pipeline/schemas/launch.json +61 -0
  216. package/pipeline/schemas/launch.schema.json +84 -0
  217. package/pipeline/schemas/phases.json +2 -2
  218. package/pipeline/schemas/phases.schema.json +68 -0
  219. package/pipeline/schemas/phone-devices.schema.json +61 -0
  220. package/pipeline/schemas/phone-signed-request.schema.json +67 -0
  221. package/pipeline/schemas/plan-critique.schema.json +99 -0
  222. package/pipeline/schemas/plan-todos.schema.json +7 -7
  223. package/pipeline/schemas/planning-output.schema.json +5 -0
  224. package/pipeline/schemas/pr-request.schema.json +46 -0
  225. package/pipeline/schemas/prefs.schema.json +82 -7
  226. package/pipeline/schemas/research-output.schema.json +118 -0
  227. package/pipeline/schemas/review-file-exclusions.schema.json +25 -0
  228. package/pipeline/schemas/reviewer-output.schema.json +40 -4
  229. package/pipeline/schemas/run-questions.json +392 -0
  230. package/pipeline/schemas/run-questions.schema.json +118 -0
  231. package/pipeline/schemas/runs-index.schema.json +189 -0
  232. package/pipeline/schemas/scaffold-manifest.schema.json +43 -0
  233. package/pipeline/schemas/secret-patterns.schema.json +28 -0
  234. package/pipeline/schemas/stack-adapters.json +527 -0
  235. package/pipeline/schemas/stack-adapters.schema.json +184 -0
  236. package/pipeline/schemas/token-budget.json +1 -1
  237. package/pipeline/schemas/token-budget.schema.json +26 -0
  238. package/pipeline/schemas/triage-output.schema.json +64 -3
  239. package/pipeline/schemas/unattended-policy.json +139 -0
  240. package/pipeline/schemas/unattended-policy.schema.json +73 -0
  241. package/pipeline/schemas/unattended-profile.json +248 -0
  242. package/pipeline/schemas/unattended-profile.schema.json +198 -0
  243. package/pipeline/schemas/worktrees.schema.json +51 -0
  244. package/pipeline/scripts/README.md +1 -0
  245. package/pipeline/scripts/_autopilot-config.mjs +130 -0
  246. package/pipeline/scripts/_autopilot-ops.mjs +567 -0
  247. package/pipeline/scripts/_autopilot-outcomes.mjs +174 -0
  248. package/pipeline/scripts/_command-contract.mjs +384 -0
  249. package/pipeline/scripts/_cost.mjs +40 -0
  250. package/pipeline/scripts/_notices.mjs +160 -0
  251. package/pipeline/scripts/_phone-auth.mjs +485 -0
  252. package/pipeline/scripts/_pre-existing.mjs +294 -0
  253. package/pipeline/scripts/_redact.mjs +77 -0
  254. package/pipeline/scripts/_run-paths.mjs +4 -2
  255. package/pipeline/scripts/_stack-adapter.mjs +678 -0
  256. package/pipeline/scripts/_stack-routing.mjs +1 -1
  257. package/pipeline/scripts/agent-guard.py +348 -37
  258. package/pipeline/scripts/agent-guard.sh +41 -13
  259. package/pipeline/scripts/analysis-story-tree.mjs +79 -3
  260. package/pipeline/scripts/answer-question.mjs +181 -0
  261. package/pipeline/scripts/audit-log-rotate.sh +1 -4
  262. package/pipeline/scripts/audit-log.sh +4 -4
  263. package/pipeline/scripts/autopilot-arming.mjs +389 -21
  264. package/pipeline/scripts/autopilot-awake.mjs +255 -0
  265. package/pipeline/scripts/autopilot-intake.mjs +137 -36
  266. package/pipeline/scripts/autopilot-menubar.swift +156 -44
  267. package/pipeline/scripts/autopilot-publish.mjs +1625 -0
  268. package/pipeline/scripts/autopilot-runner.mjs +1678 -222
  269. package/pipeline/scripts/autopilot-status.sh +198 -33
  270. package/pipeline/scripts/build-lock.sh +120 -0
  271. package/pipeline/scripts/build-references.mjs +4 -1
  272. package/pipeline/scripts/build-stack-plugins.mjs +59 -22
  273. package/pipeline/scripts/capture-flush.sh +1 -1
  274. package/pipeline/scripts/capture-resume.sh +13 -9
  275. package/pipeline/scripts/check-derived-drift.mjs +52 -11
  276. package/pipeline/scripts/commands.mjs +88 -0
  277. package/pipeline/scripts/constitution.mjs +362 -0
  278. package/pipeline/scripts/contract-server.mjs +776 -0
  279. package/pipeline/scripts/cost-analyze.mjs +89 -39
  280. package/pipeline/scripts/diff-explain.mjs +12 -1
  281. package/pipeline/scripts/doctor.mjs +77 -28
  282. package/pipeline/scripts/evidence-gate.mjs +192 -12
  283. package/pipeline/scripts/feedback-send.mjs +4 -2
  284. package/pipeline/scripts/gate-ledger.mjs +449 -0
  285. package/pipeline/scripts/gc-abandoned.sh +132 -13
  286. package/pipeline/scripts/gen-facts.mjs +31 -15
  287. package/pipeline/scripts/gen-mode-dispatch.mjs +3 -3
  288. package/pipeline/scripts/github-ssh-setup.sh +140 -29
  289. package/pipeline/scripts/graph-mermaid.mjs +4 -1
  290. package/pipeline/scripts/issues.mjs +236 -0
  291. package/pipeline/scripts/jira-attach.sh +6 -2
  292. package/pipeline/scripts/jira-search.sh +4 -3
  293. package/pipeline/scripts/keychain-save.sh +125 -24
  294. package/pipeline/scripts/keychain.py +63 -93
  295. package/pipeline/scripts/launch-request.mjs +747 -0
  296. package/pipeline/scripts/localize-commands.mjs +4 -10
  297. package/pipeline/scripts/log-metric.sh +6 -5
  298. package/pipeline/scripts/maturity-followup.mjs +13 -4
  299. package/pipeline/scripts/memory-save.sh +25 -0
  300. package/pipeline/scripts/migrate-prefs.mjs +4 -3
  301. package/pipeline/scripts/open-questions-gate.mjs +276 -0
  302. package/pipeline/scripts/phase-tracker.sh +41 -27
  303. package/pipeline/scripts/phase0-exit-gate.mjs +22 -4
  304. package/pipeline/scripts/phone-devices.mjs +224 -0
  305. package/pipeline/scripts/plan-coverage-gate.mjs +200 -66
  306. package/pipeline/scripts/plan-critique-gate.mjs +591 -0
  307. package/pipeline/scripts/pr-request.mjs +188 -0
  308. package/pipeline/scripts/pre-commit-check.sh +115 -4
  309. package/pipeline/scripts/probe-evidence-capability.sh +44 -5
  310. package/pipeline/scripts/record-phase.mjs +71 -0
  311. package/pipeline/scripts/render-agent-log-cost.sh +17 -2
  312. package/pipeline/scripts/render-cost-summary.sh +1 -1
  313. package/pipeline/scripts/render-work-summary.sh +1 -1
  314. package/pipeline/scripts/require-supported-version.sh +4 -1
  315. package/pipeline/scripts/research-gate.mjs +704 -0
  316. package/pipeline/scripts/review-decision-gate.mjs +403 -0
  317. package/pipeline/scripts/routine-registry.mjs +5 -2
  318. package/pipeline/scripts/runs-index.mjs +135 -27
  319. package/pipeline/scripts/scaffold-gate.mjs +393 -0
  320. package/pipeline/scripts/skill-conformance.mjs +25 -8
  321. package/pipeline/scripts/skill-siblings.mjs +2 -1
  322. package/pipeline/scripts/smoke-cross-cli-behavior.sh +32 -6
  323. package/pipeline/scripts/smoke-schema-validation.sh +6 -2
  324. package/pipeline/scripts/spec-consistency-gate.mjs +469 -0
  325. package/pipeline/scripts/symbol-existence-gate.mjs +450 -0
  326. package/pipeline/scripts/test-gap-scan.mjs +40 -2
  327. package/pipeline/scripts/test-integrity-gate.mjs +20 -4
  328. package/pipeline/scripts/test-strength.mjs +484 -0
  329. package/pipeline/scripts/test-summary.mjs +651 -0
  330. package/pipeline/scripts/triage-memory.mjs +49 -9
  331. package/pipeline/scripts/unattended_policy.py +2786 -0
  332. package/pipeline/scripts/uninstall.mjs +10 -10
  333. package/pipeline/scripts/update-issue-progress.sh +1 -1
  334. package/pipeline/scripts/usage-identity.mjs +288 -0
  335. package/pipeline/scripts/usage-register.mjs +185 -63
  336. package/pipeline/scripts/usage-report.mjs +230 -66
  337. package/pipeline/scripts/validate-complaint-doc.mjs +28 -10
  338. package/pipeline/scripts/validate-planning.mjs +6 -0
  339. package/pipeline/scripts/verify-citations.mjs +151 -38
  340. package/pipeline/scripts/verify.mjs +58 -18
  341. package/pipeline/scripts/worktree-prepare.sh +126 -0
  342. package/pipeline/scripts/worktrees.mjs +124 -0
  343. package/pipeline/scripts/write-state.mjs +48 -17
  344. package/pipeline/skills/.skill-manifest.json +222 -226
  345. package/pipeline/skills/.skills-index.json +77 -88
  346. package/pipeline/skills/shared/README.md +44 -45
  347. package/pipeline/skills/shared/core/apple-archive-compliance/SKILL.md +3 -2
  348. package/pipeline/skills/shared/core/google-play-compliance/SKILL.md +3 -2
  349. package/pipeline/skills/shared/core/multi-agent/SKILL.md +10 -9
  350. package/pipeline/skills/shared/core/multi-agent-analysis/SKILL.md +6 -5
  351. package/pipeline/skills/shared/core/multi-agent-analysis-jira/SKILL.md +11 -3
  352. package/pipeline/skills/shared/core/multi-agent-analysis-resolve/SKILL.md +2 -1
  353. package/pipeline/skills/shared/core/multi-agent-autopilot/SKILL.md +4 -3
  354. package/pipeline/skills/shared/core/multi-agent-autopilot-off/SKILL.md +32 -6
  355. package/pipeline/skills/shared/core/multi-agent-autopilot-on/SKILL.md +66 -8
  356. package/pipeline/skills/shared/core/multi-agent-autopilot-status/SKILL.md +27 -9
  357. package/pipeline/skills/shared/core/multi-agent-build-optimize/SKILL.md +2 -1
  358. package/pipeline/skills/shared/core/multi-agent-channels/SKILL.md +7 -4
  359. package/pipeline/skills/shared/core/multi-agent-complaint-analysis/SKILL.md +3 -2
  360. package/pipeline/skills/shared/core/multi-agent-create-jira/SKILL.md +2 -1
  361. package/pipeline/skills/shared/core/multi-agent-design-check/SKILL.md +7 -5
  362. package/pipeline/skills/shared/core/multi-agent-diff-explain/SKILL.md +2 -1
  363. package/pipeline/skills/shared/core/multi-agent-doctor/SKILL.md +3 -2
  364. package/pipeline/skills/shared/core/multi-agent-feedback/SKILL.md +2 -1
  365. package/pipeline/skills/shared/core/multi-agent-forget/SKILL.md +2 -1
  366. package/pipeline/skills/shared/core/multi-agent-garbage-collect/SKILL.md +2 -1
  367. package/pipeline/skills/shared/core/multi-agent-graph/SKILL.md +2 -1
  368. package/pipeline/skills/shared/core/multi-agent-help/SKILL.md +2 -1
  369. package/pipeline/skills/shared/core/multi-agent-ios-coding-standard/SKILL.md +2 -1
  370. package/pipeline/skills/shared/core/multi-agent-issue/SKILL.md +3 -2
  371. package/pipeline/skills/shared/core/multi-agent-jira/SKILL.md +2 -1
  372. package/pipeline/skills/shared/core/multi-agent-kill/SKILL.md +7 -4
  373. package/pipeline/skills/shared/core/multi-agent-language/SKILL.md +2 -1
  374. package/pipeline/skills/shared/core/multi-agent-log/SKILL.md +2 -1
  375. package/pipeline/skills/shared/core/multi-agent-manual-test/SKILL.md +2 -1
  376. package/pipeline/skills/shared/core/multi-agent-model/SKILL.md +2 -1
  377. package/pipeline/skills/shared/core/multi-agent-prune-logs/SKILL.md +2 -1
  378. package/pipeline/skills/shared/core/multi-agent-prune-prompts/SKILL.md +2 -1
  379. package/pipeline/skills/shared/core/multi-agent-purge/SKILL.md +2 -1
  380. package/pipeline/skills/shared/core/multi-agent-refactor/SKILL.md +2 -1
  381. package/pipeline/skills/shared/core/multi-agent-research/SKILL.md +35 -0
  382. package/pipeline/skills/shared/core/multi-agent-resume/SKILL.md +7 -3
  383. package/pipeline/skills/shared/core/multi-agent-review/SKILL.md +7 -5
  384. package/pipeline/skills/shared/core/multi-agent-review-analysis/SKILL.md +2 -1
  385. package/pipeline/skills/shared/core/multi-agent-review-issue/SKILL.md +3 -2
  386. package/pipeline/skills/shared/core/multi-agent-review-jira/SKILL.md +2 -1
  387. package/pipeline/skills/shared/core/multi-agent-route-off/SKILL.md +2 -1
  388. package/pipeline/skills/shared/core/multi-agent-route-on/SKILL.md +2 -1
  389. package/pipeline/skills/shared/core/multi-agent-route-status/SKILL.md +2 -1
  390. package/pipeline/skills/shared/core/multi-agent-routines/SKILL.md +2 -1
  391. package/pipeline/skills/shared/core/multi-agent-save/SKILL.md +3 -2
  392. package/pipeline/skills/shared/core/multi-agent-scaffold/SKILL.md +30 -0
  393. package/pipeline/skills/shared/core/multi-agent-scan/SKILL.md +2 -1
  394. package/pipeline/skills/shared/core/multi-agent-search/SKILL.md +4 -3
  395. package/pipeline/skills/shared/core/multi-agent-security-review/SKILL.md +2 -1
  396. package/pipeline/skills/shared/core/multi-agent-serve/SKILL.md +60 -0
  397. package/pipeline/skills/shared/core/multi-agent-setup/SKILL.md +8 -8
  398. package/pipeline/skills/shared/core/multi-agent-stack/SKILL.md +2 -1
  399. package/pipeline/skills/shared/core/multi-agent-status/SKILL.md +7 -8
  400. package/pipeline/skills/shared/core/multi-agent-steer/SKILL.md +2 -1
  401. package/pipeline/skills/shared/core/multi-agent-store-ready/SKILL.md +2 -1
  402. package/pipeline/skills/shared/core/multi-agent-sync/SKILL.md +10 -10
  403. package/pipeline/skills/shared/core/multi-agent-test/SKILL.md +2 -1
  404. package/pipeline/skills/shared/core/multi-agent-test-accessibility/SKILL.md +2 -1
  405. package/pipeline/skills/shared/core/multi-agent-test-dark-mode/SKILL.md +2 -1
  406. package/pipeline/skills/shared/core/multi-agent-test-dynamic-type/SKILL.md +2 -1
  407. package/pipeline/skills/shared/core/multi-agent-test-screenshots/SKILL.md +2 -1
  408. package/pipeline/skills/shared/core/multi-agent-testflight-validation/SKILL.md +2 -1
  409. package/pipeline/skills/shared/core/multi-agent-uninstall/SKILL.md +3 -2
  410. package/pipeline/skills/shared/core/multi-agent-update/SKILL.md +2 -1
  411. package/pipeline/skills/shared/external/NOTICE-avdlee-swiftui-agent-skill.md +46 -0
  412. package/pipeline/skills/shared/external/NOTICE-dimillian-skills.md +9 -3
  413. package/pipeline/skills/shared/external/NOTICE-paul-hudson-skills.md +54 -0
  414. package/pipeline/skills/shared/external/NOTICE-swift-ios-skills.md +9 -11
  415. package/pipeline/skills/shared/external/NOTICE-vibeship-spawner-skills.md +203 -0
  416. package/pipeline/skills/shared/external/NOTICE-xcode-build-skills.md +10 -3
  417. package/pipeline/skills/shared/external/accessibility-compliance-accessibility-audit/SKILL.md +131 -25
  418. package/pipeline/skills/shared/external/agent-introspection-debugging/SKILL.md +4 -3
  419. package/pipeline/skills/shared/external/alarmkit/SKILL.md +2 -1
  420. package/pipeline/skills/shared/external/android-architecture/SKILL.md +85 -76
  421. package/pipeline/skills/shared/external/android-build-quality-gates/SKILL.md +51 -3
  422. package/pipeline/skills/shared/external/android-build-quality-gates/references/patterns.md +9 -0
  423. package/pipeline/skills/shared/external/android-datastore/SKILL.md +4 -3
  424. package/pipeline/skills/shared/external/android-design-tokens-codegen/SKILL.md +4 -3
  425. package/pipeline/skills/shared/external/android-jetpack-compose-expert/SKILL.md +106 -181
  426. package/pipeline/skills/shared/external/android-jetpack-compose-expert/references/patterns.md +147 -0
  427. package/pipeline/skills/shared/external/android-mvi-viewmodel/SKILL.md +45 -4
  428. package/pipeline/skills/shared/external/android-performance/SKILL.md +27 -2
  429. package/pipeline/skills/shared/external/android-performance/references/patterns.md +37 -37
  430. package/pipeline/skills/shared/external/api-patterns/SKILL.md +111 -67
  431. package/pipeline/skills/shared/external/api-patterns/references/contract-details.md +128 -0
  432. package/pipeline/skills/shared/external/api-security-best-practices/SKILL.md +136 -186
  433. package/pipeline/skills/shared/external/api-security-best-practices/references/abuse-controls.md +140 -0
  434. package/pipeline/skills/shared/external/api-security-best-practices/references/identity-and-access.md +207 -0
  435. package/pipeline/skills/shared/external/api-security-best-practices/references/operations.md +66 -0
  436. package/pipeline/skills/shared/external/api-security-best-practices/references/request-handling.md +175 -0
  437. package/pipeline/skills/shared/external/app-clips/SKILL.md +2 -0
  438. package/pipeline/skills/shared/external/app-intents/SKILL.md +2 -0
  439. package/pipeline/skills/shared/external/app-store-changelog/SKILL.md +4 -3
  440. package/pipeline/skills/shared/external/app-store-optimization/SKILL.md +2 -0
  441. package/pipeline/skills/shared/external/app-store-review/SKILL.md +2 -0
  442. package/pipeline/skills/shared/external/apple-on-device-ai/SKILL.md +2 -0
  443. package/pipeline/skills/shared/external/architecture/SKILL.md +106 -39
  444. package/pipeline/skills/shared/external/architecture/references/adr-and-review.md +76 -0
  445. package/pipeline/skills/shared/external/authentication/SKILL.md +2 -0
  446. package/pipeline/skills/shared/external/avkit/SKILL.md +2 -0
  447. package/pipeline/skills/shared/external/background-processing/SKILL.md +2 -1
  448. package/pipeline/skills/shared/external/backlog/SKILL.md +3 -2
  449. package/pipeline/skills/shared/external/callkit-voip/SKILL.md +2 -0
  450. package/pipeline/skills/shared/external/callkit-voip/evals/evals.json +1 -1
  451. package/pipeline/skills/shared/external/ci-cd-pipelines/SKILL.md +3 -2
  452. package/pipeline/skills/shared/external/clean-code/SKILL.md +192 -90
  453. package/pipeline/skills/shared/external/cloudkit-sync/SKILL.md +2 -1
  454. package/pipeline/skills/shared/external/cloudkit-sync/evals/evals.json +1 -1
  455. package/pipeline/skills/shared/external/compose-components/SKILL.md +4 -4
  456. package/pipeline/skills/shared/external/compose-navigation/SKILL.md +22 -22
  457. package/pipeline/skills/shared/external/compose-navigation/references/patterns.md +10 -10
  458. package/pipeline/skills/shared/external/compose-testing/SKILL.md +13 -6
  459. package/pipeline/skills/shared/external/compose-testing/references/patterns.md +59 -59
  460. package/pipeline/skills/shared/external/contacts-framework/SKILL.md +2 -0
  461. package/pipeline/skills/shared/external/context-compression/SKILL.md +118 -250
  462. package/pipeline/skills/shared/external/core-bluetooth/SKILL.md +2 -0
  463. package/pipeline/skills/shared/external/core-data/SKILL.md +2 -0
  464. package/pipeline/skills/shared/external/core-motion/SKILL.md +2 -0
  465. package/pipeline/skills/shared/external/core-nfc/SKILL.md +2 -0
  466. package/pipeline/skills/shared/external/coreml/SKILL.md +2 -1
  467. package/pipeline/skills/shared/external/council/SKILL.md +2 -1
  468. package/pipeline/skills/shared/external/cryptokit/SKILL.md +2 -0
  469. package/pipeline/skills/shared/external/css-modern/SKILL.md +3 -2
  470. package/pipeline/skills/shared/external/database-patterns/SKILL.md +3 -2
  471. package/pipeline/skills/shared/external/debugging-instruments/SKILL.md +2 -0
  472. package/pipeline/skills/shared/external/debugging-strategies/SKILL.md +130 -20
  473. package/pipeline/skills/shared/external/debugging-strategies/references/hard-cases.md +54 -0
  474. package/pipeline/skills/shared/external/device-integrity/SKILL.md +2 -0
  475. package/pipeline/skills/shared/external/docker-expert/SKILL.md +137 -381
  476. package/pipeline/skills/shared/external/docker-expert/references/patterns.md +98 -0
  477. package/pipeline/skills/shared/external/energykit/SKILL.md +2 -1
  478. package/pipeline/skills/shared/external/eventkit-calendar/SKILL.md +3 -1
  479. package/pipeline/skills/shared/external/eventkit-calendar/evals/evals.json +2 -2
  480. package/pipeline/skills/shared/external/fastapi-pro/SKILL.md +116 -185
  481. package/pipeline/skills/shared/external/fastapi-pro/references/app-structure.md +235 -0
  482. package/pipeline/skills/shared/external/fastapi-pro/references/testing-and-deployment.md +69 -0
  483. package/pipeline/skills/shared/external/firebase/SKILL.md +4 -3
  484. package/pipeline/skills/shared/external/github-actions-templates/SKILL.md +151 -293
  485. package/pipeline/skills/shared/external/github-actions-templates/references/patterns.md +96 -0
  486. package/pipeline/skills/shared/external/healthkit/SKILL.md +2 -0
  487. package/pipeline/skills/shared/external/hig-components-content/SKILL.md +69 -72
  488. package/pipeline/skills/shared/external/hig-components-content/references/content-views.md +111 -0
  489. package/pipeline/skills/shared/external/hig-components-layout/SKILL.md +77 -86
  490. package/pipeline/skills/shared/external/hig-components-layout/references/containers.md +98 -0
  491. package/pipeline/skills/shared/external/hig-components-status/SKILL.md +150 -78
  492. package/pipeline/skills/shared/external/hig-components-system/SKILL.md +76 -97
  493. package/pipeline/skills/shared/external/hig-components-system/references/surfaces.md +98 -0
  494. package/pipeline/skills/shared/external/hig-foundations/SKILL.md +48 -76
  495. package/pipeline/skills/shared/external/hig-foundations/references/foundations-detail.md +132 -0
  496. package/pipeline/skills/shared/external/hig-inputs/SKILL.md +147 -106
  497. package/pipeline/skills/shared/external/hig-patterns/SKILL.md +61 -77
  498. package/pipeline/skills/shared/external/hig-patterns/references/patterns.md +92 -0
  499. package/pipeline/skills/shared/external/hig-platforms/SKILL.md +147 -77
  500. package/pipeline/skills/shared/external/hig-technologies/SKILL.md +61 -121
  501. package/pipeline/skills/shared/external/hig-technologies/references/technologies.md +108 -0
  502. package/pipeline/skills/shared/external/homekit-matter/SKILL.md +2 -0
  503. package/pipeline/skills/shared/external/homekit-matter/evals/evals.json +1 -1
  504. package/pipeline/skills/shared/external/html-semantic/SKILL.md +3 -2
  505. package/pipeline/skills/shared/external/humanizer/SKILL.md +2 -1
  506. package/pipeline/skills/shared/external/ios-accessibility/SKILL.md +2 -0
  507. package/pipeline/skills/shared/external/ios-coding-standard/SKILL.md +2 -1
  508. package/pipeline/skills/shared/external/ios-coding-standard/references/STANDARD.md +14 -2
  509. package/pipeline/skills/shared/external/ios-coding-standard/references/rules.yml +2 -2
  510. package/pipeline/skills/shared/external/ios-debugger-agent/SKILL.md +4 -3
  511. package/pipeline/skills/shared/external/ios-localization/SKILL.md +8 -6
  512. package/pipeline/skills/shared/external/ios-localization/evals/evals.json +2 -2
  513. package/pipeline/skills/shared/external/ios-localization/references/string-catalogs.md +11 -11
  514. package/pipeline/skills/shared/external/ios-module-structure/SKILL.md +2 -1
  515. package/pipeline/skills/shared/external/ios-networking/SKILL.md +2 -0
  516. package/pipeline/skills/shared/external/ios-simulator/SKILL.md +2 -0
  517. package/pipeline/skills/shared/external/kotlin-coroutines-expert/SKILL.md +102 -193
  518. package/pipeline/skills/shared/external/kotlin-coroutines-expert/references/patterns.md +103 -0
  519. package/pipeline/skills/shared/external/live-activities/SKILL.md +4 -2
  520. package/pipeline/skills/shared/external/live-activities/evals/evals.json +2 -2
  521. package/pipeline/skills/shared/external/localization-reuse-map/SKILL.md +7 -9
  522. package/pipeline/skills/shared/external/localization-reuse-map/reference/sources-and-recipes.md +3 -3
  523. package/pipeline/skills/shared/external/localization-reuse-map/scripts/resolve-new-values.py +2 -2
  524. package/pipeline/skills/shared/external/macos-menubar-tuist-app/SKILL.md +4 -3
  525. package/pipeline/skills/shared/external/macos-spm-app-packaging/SKILL.md +5 -3
  526. package/pipeline/skills/shared/external/mapkit-location/SKILL.md +2 -0
  527. package/pipeline/skills/shared/external/mapkit-location/evals/evals.json +1 -1
  528. package/pipeline/skills/shared/external/metrickit-diagnostics/SKILL.md +2 -0
  529. package/pipeline/skills/shared/external/metrickit-diagnostics/evals/evals.json +1 -1
  530. package/pipeline/skills/shared/external/monorepo-architect/SKILL.md +149 -46
  531. package/pipeline/skills/shared/external/monorepo-architect/references/patterns.md +70 -0
  532. package/pipeline/skills/shared/external/musickit-audio/SKILL.md +2 -0
  533. package/pipeline/skills/shared/external/musickit-audio/evals/evals.json +1 -1
  534. package/pipeline/skills/shared/external/natural-language/SKILL.md +2 -0
  535. package/pipeline/skills/shared/external/nextjs-app-router/SKILL.md +3 -2
  536. package/pipeline/skills/shared/external/nodejs-backend-patterns/SKILL.md +91 -21
  537. package/pipeline/skills/shared/external/nodejs-backend-patterns/references/runtime-patterns.md +247 -0
  538. package/pipeline/skills/shared/external/nodejs-backend-patterns/references/testing-and-frameworks.md +57 -0
  539. package/pipeline/skills/shared/external/observability-engineer/SKILL.md +155 -232
  540. package/pipeline/skills/shared/external/observability-engineer/references/patterns.md +75 -0
  541. package/pipeline/skills/shared/external/passkit-wallet/SKILL.md +2 -0
  542. package/pipeline/skills/shared/external/passkit-wallet/evals/evals.json +2 -2
  543. package/pipeline/skills/shared/external/passkit-wallet/references/wallet-passes.md +18 -18
  544. package/pipeline/skills/shared/external/pdfkit/SKILL.md +2 -1
  545. package/pipeline/skills/shared/external/pencilkit-drawing/SKILL.md +2 -0
  546. package/pipeline/skills/shared/external/pencilkit-drawing/evals/evals.json +1 -1
  547. package/pipeline/skills/shared/external/permissionkit/SKILL.md +2 -0
  548. package/pipeline/skills/shared/external/photos-camera-media/SKILL.md +2 -1
  549. package/pipeline/skills/shared/external/push-notifications/SKILL.md +2 -0
  550. package/pipeline/skills/shared/external/python-patterns/SKILL.md +3 -2
  551. package/pipeline/skills/shared/external/react-best-practices/SKILL.md +3 -2
  552. package/pipeline/skills/shared/external/realitykit-ar/SKILL.md +2 -2
  553. package/pipeline/skills/shared/external/realitykit-ar/evals/evals.json +1 -1
  554. package/pipeline/skills/shared/external/rest-api-design/SKILL.md +3 -2
  555. package/pipeline/skills/shared/external/retrofit-networking/SKILL.md +7 -7
  556. package/pipeline/skills/shared/external/retrofit-networking/references/patterns.md +69 -69
  557. package/pipeline/skills/shared/external/room-database/references/patterns.md +126 -126
  558. package/pipeline/skills/shared/external/search-first/SKILL.md +2 -1
  559. package/pipeline/skills/shared/external/security-review/SKILL.md +4 -3
  560. package/pipeline/skills/shared/external/shareplay-activities/SKILL.md +2 -2
  561. package/pipeline/skills/shared/external/signal-community/SKILL.md +1 -1
  562. package/pipeline/skills/shared/external/skill-creator/SKILL.md +2 -1
  563. package/pipeline/skills/shared/external/speech-recognition/SKILL.md +2 -1
  564. package/pipeline/skills/shared/external/spm-build-analysis/SKILL.md +2 -0
  565. package/pipeline/skills/shared/external/storekit/SKILL.md +2 -0
  566. package/pipeline/skills/shared/external/swift-api-design-guidelines/SKILL.md +2 -0
  567. package/pipeline/skills/shared/external/swift-architecture/SKILL.md +2 -1
  568. package/pipeline/skills/shared/external/swift-charts/SKILL.md +2 -1
  569. package/pipeline/skills/shared/external/swift-codable/SKILL.md +2 -0
  570. package/pipeline/skills/shared/external/swift-concurrency/SKILL.md +3 -1
  571. package/pipeline/skills/shared/external/swift-concurrency-expert/SKILL.md +5 -4
  572. package/pipeline/skills/shared/external/swift-concurrency-pro/SKILL.md +2 -1
  573. package/pipeline/skills/shared/external/swift-formatstyle/SKILL.md +2 -0
  574. package/pipeline/skills/shared/external/swift-language/SKILL.md +3 -1
  575. package/pipeline/skills/shared/external/swift-security/SKILL.md +2 -1
  576. package/pipeline/skills/shared/external/swift-testing/SKILL.md +2 -0
  577. package/pipeline/skills/shared/external/swift-testing-pro/SKILL.md +2 -1
  578. package/pipeline/skills/shared/external/swift-testing-pro/references/new-features.md +10 -0
  579. package/pipeline/skills/shared/external/swiftdata/SKILL.md +2 -0
  580. package/pipeline/skills/shared/external/swiftdata-pro/SKILL.md +2 -1
  581. package/pipeline/skills/shared/external/swiftlint/SKILL.md +2 -0
  582. package/pipeline/skills/shared/external/swiftui-animation/SKILL.md +2 -0
  583. package/pipeline/skills/shared/external/swiftui-expert-skill/SKILL.md +3 -1
  584. package/pipeline/skills/shared/external/swiftui-gestures/SKILL.md +2 -0
  585. package/pipeline/skills/shared/external/swiftui-layout-components/SKILL.md +2 -0
  586. package/pipeline/skills/shared/external/swiftui-liquid-glass/SKILL.md +2 -0
  587. package/pipeline/skills/shared/external/swiftui-navigation/SKILL.md +2 -0
  588. package/pipeline/skills/shared/external/swiftui-patterns/SKILL.md +3 -1
  589. package/pipeline/skills/shared/external/swiftui-performance/SKILL.md +3 -1
  590. package/pipeline/skills/shared/external/swiftui-performance-audit/SKILL.md +5 -4
  591. package/pipeline/skills/shared/external/swiftui-pro/SKILL.md +2 -1
  592. package/pipeline/skills/shared/external/swiftui-ui-patterns/SKILL.md +5 -4
  593. package/pipeline/skills/shared/external/swiftui-uikit-interop/SKILL.md +2 -0
  594. package/pipeline/skills/shared/external/swiftui-view-refactor/SKILL.md +4 -3
  595. package/pipeline/skills/shared/external/swiftui-webkit/SKILL.md +2 -0
  596. package/pipeline/skills/shared/external/tailwind-css/SKILL.md +3 -2
  597. package/pipeline/skills/shared/external/testing-backend/SKILL.md +3 -2
  598. package/pipeline/skills/shared/external/tipkit/SKILL.md +2 -0
  599. package/pipeline/skills/shared/external/typescript-patterns/SKILL.md +3 -2
  600. package/pipeline/skills/shared/external/vision-framework/SKILL.md +2 -0
  601. package/pipeline/skills/shared/external/vue-composition/SKILL.md +3 -2
  602. package/pipeline/skills/shared/external/weatherkit/SKILL.md +2 -0
  603. package/pipeline/skills/shared/external/web-accessibility/SKILL.md +3 -2
  604. package/pipeline/skills/shared/external/web-performance/SKILL.md +3 -2
  605. package/pipeline/skills/shared/external/web-testing/SKILL.md +3 -2
  606. package/pipeline/skills/shared/external/widgetkit/SKILL.md +2 -0
  607. package/pipeline/skills/shared/external/widgetkit/references/widgetkit-advanced.md +1 -1
  608. package/pipeline/skills/shared/external/xcode-build-benchmark/SKILL.md +2 -0
  609. package/pipeline/skills/shared/external/xcode-build-fixer/SKILL.md +2 -0
  610. package/pipeline/skills/shared/external/xcode-build-orchestrator/SKILL.md +2 -0
  611. package/pipeline/skills/shared/external/xcode-compilation-analyzer/SKILL.md +2 -0
  612. package/pipeline/skills/shared/external/xcode-project-analyzer/SKILL.md +2 -0
  613. package/pipeline/skills/skills-index.md +40 -41
  614. package/docs/token-budget-history.md +0 -24
  615. package/pipeline/skills/shared/external/agentflow/SKILL.md +0 -199
  616. package/pipeline/skills/shared/external/android-ui-verification/SKILL.md +0 -66
  617. package/pipeline/skills/shared/external/api-security-best-practices/references/auth.md +0 -299
  618. package/pipeline/skills/shared/external/api-security-best-practices/references/input-validation.md +0 -255
  619. package/pipeline/skills/shared/external/api-security-best-practices/references/rate-limiting.md +0 -167
  620. package/pipeline/skills/shared/external/closed-loop-delivery/SKILL.md +0 -116
  621. package/pipeline/skills/shared/external/ios-developer/SKILL.md +0 -216
package/README.tr.md CHANGED
@@ -17,7 +17,7 @@ Claude Code, Copilot CLI ve Codex CLI üzerinde native çalışır. Yalnızca ma
17
17
  ### Önkoşullar
18
18
 
19
19
  - **Node.js >= 20.11** - zorunlu; pipeline'ın kendi araçları bunun üzerinde koşuyor.
20
- - **`jq`** - opsiyonel ama önerilir. On üç kabuk yardımcısı ona başvuruyor ve yokken sessizce atlıyor: maliyet özetleri, faz izleyicisinin JSON okumaları, konvansiyon çıkarımı, skill imzalama. Kurulum, eksikse bir not basıyor.
20
+ - **`jq`** - dokuz yol için zorunlu, geri kalanı için opsiyonel. 89 kabuk dosyası ona başvuruyor. Yayınlayan ya da karar veren dokuzu - autopilot kuyruğu, Jira yorumları, PR review'ları, issue güncellemeleri, plan dosyası, iki Figma fetcher'ı, log araması ve Jira auth - `jq` yokken çalışmak yerine exit 3 ile reddediyor, çünkü eksik bir `jq` boş VERİ olarak görünür ve iş onunla devam eder. Diğer yerlerde `jq` olmadan da çalışıyor, yalnızca daha az şey yapıyor. Kurulum, eksikse bir not basıyor.
21
21
  - **`gh`** - GitHub issue ve PR işleri için. Kendi dahili `--jq`'su, `jq` ikilisinden bağımsız.
22
22
 
23
23
  ## Hızlı Başlangıç
@@ -95,36 +95,38 @@ tüm kümeyi taşır; Faz 0'ın şekil hakkında sorduğu tek soru branch'in ner
95
95
  yaşayacağı: worktree mi, mevcut checkout'un mu.
96
96
 
97
97
  - **0 · Init** - girdiyi ayrıştır (Jira id / GitHub URL / serbest metin), hesap + repo(lar) seç, issue'yu çek, maturity kontrolü yap.
98
- - **1 · Plan** - stack'i tespit et, codebase'i tara ve analiz dokümanını yaz; sonra onu dosya seviyesinde hedefleri olan görevlere böl ve koda dokunmadan önce **onayın için dur**. Analiz ve planlama 19.0.0'a kadar iki ayrı fazdı; tek bir karar oldukları için tek faz. Codebase taraması explorer persona'sı üzerinde koşar (Sonnet).
99
- - **2 · Dev** - TDD: başarısız test → kod → yeşil, repo'nun stiline + aktif stack skill'lerine uyarak. Faz kendi kapısında biter: build, lint, test ve sır taraması, **bir kez** koşar. Review eskiden ikinci kez build ediyordu ve aradaki farkı kimse okumuyordu.
100
- - **3 · Review** - Dev'in ürettiği log'lara karşı **CLI-farkında paralel review** - Claude Code 3 model çalıştırır (Fable + Opus + Sonnet), Copilot CLI 3 (GPT-5.4 + Opus + Sonnet) - ve bir **Fable triage** sadece aksiyon alınabilir bulguları tutar; blocker'lar Phase 2'ye geri döner. Opsiyonel kullanıcı testi burada, bekleme durumunu koruyarak.
101
- - **4 · Commit/PR** - conventional commit, push (başarılı olmalı), bir PR aç (`Ref: #N`, asla otomatik kapatma).
102
- - **5 · Report** - teknik özet + test senaryolarıyla bir Jira yorumu, channels katmanından gönderilir. Autopilot'un her modda hâlâ durduğu tek adım bu.
98
+ - **1 · Plan** - stack'i tespit et, codebase'i tara ve analiz dokümanını yaz; sonra onu dosya seviyesinde hedefleri olan görevlere böl ve koda dokunmadan önce **onayın için dur**. Analiz ve planlama tek bir karar, bu yüzden tek faz ([ADR-0014](./docs/adr/0014-six-phase-consolidation.md)). Codebase taraması explorer persona'sı üzerinde koşar (Sonnet).
99
+ - **2 · Dev** - TDD: başarısız test → kod → yeşil, repo'nun stiline + aktif stack skill'lerine uyarak. Faz kendi kapısında biter: build, lint, test ve sır taraması, **bir kez** koşar; Review yeniden build etmek yerine o log'u okur.
100
+ - **3 · Review** - Dev'in ürettiği log'lara karşı **CLI-farkında paralel review** - Claude Code 3 model çalıştırır (Fable + Opus + Sonnet; fable basamağı kapalıyken Opus + Sonnet), Copilot CLI 3 (GPT-5.4 + Opus + Sonnet) - ve bir **Fable triage** sadece aksiyon alınabilir bulguları tutar; blocker'lar Phase 2'ye geri döner. Opsiyonel kullanıcı testi burada, bekleme durumunu koruyarak.
101
+ - **4 · Commit/PR** - conventional commit, push (başarılı olmalı), bir PR aç (`Ref: #N`, asla otomatik kapatma). Gözetimsiz bir koşu commit'te durur ve bir PR isteğini autopilot koşucusuna bırakır; koşucu isteği doğrular ve taslak bir PR açar.
102
+ - **5 · Report** - teknik özet + test senaryolarıyla bir Jira yorumu, channels katmanından gönderilir. Terminalden başlatılan bir autopilot koşusunun hâlâ durduğu tek adım bu; gözetimsiz bir koşu Faz 4 devrinde biter ve koşucu, PR açıldıktan sonra yapılandırdığın raporları gönderir.
103
103
 
104
- `/multi-agent:analysis` kendi kısa zincirini koşar ve v16.12.0'dan beri yazdığını yayınlamadan önce review ediyor: taslak, bir kod diff'iyle aynı üç-reviewer setinden ve triyajdan geçiyor, bloklayıcı bulgu dokümanı sentez fazına geri gönderip dispatch'i kapatıyor, hayatta kalan boşluklar ya aranıyor ya sana soruluyor ya da sahibiyle birlikte kayda giriyor. Önceden yalnızca yapısal bir validator'ın arkasından yayınlıyordu.
104
+ Faz listesi `pipeline/schemas/phases.json`'da duruyor; `smoke-phase-contract.sh` onun diğer her kopyasını - üreticinin çıktısını, token bütçesini, state-şema sınırlarını, örnek çıktılardaki ilerleme kesirlerini - bu tek dosyaya bağlı tutuyor.
105
105
 
106
- ### 18.0.0: tek bir durum dizini, ve kurulumun gerçekten o kurulum olup olmadığını sorma yolu
106
+ `/multi-agent:analysis` kendi kısa zincirini koşar ve yazdığını yayınlamadan önce review eder: taslak, bir kod diff'iyle aynı üç-reviewer setinden ve triyajdan geçer, bloklayıcı bulgu dokümanı sentez fazına geri gönderip dispatch'i kapatır, hayatta kalan boşluklar ya aranır ya sana sorulur ya da sahibiyle birlikte kayda girer.
107
+
108
+ ### Kurulum doğrulama, maliyet ve tek bir durum dizini
107
109
 
108
110
  - **`multi-agent-pipeline verify`.** Kurulum bir kopyadır ve yazıldığı andan itibaren iki taraf birbirinden bağımsız kayar: kurulu ağaçtaki bir düzenleme kaynağı olmayan bir davranıştır, kurulumun atladığı dosya ise dokümanın anlattığı ama kimsede olmayan bir script. `verify` ikisini de paketleme anında üretilen bir manifest'e karşı karşılaştırır. Yeşil sonucun ne kanıtladığı açıkça yazılıdır: baytlar yayıncının kaydettiğiyle aynıdır, kimin yayınladığı değil.
109
111
  - **Maliyet, tek koşunun ötesinde.** Görev başına tavan, bütçeyi gerçekten bitiren iki şeyi göremez: hiçbir koşuyu aşmayan kayma, ve her koşu tavanın altında kalırken bir saatte bir haftayı yakan tek oturum. `cost-analyze` projeksiyon yapar, medyan mutlak sapmayla aileden ayrılan günü bulur ve ivmeyi raporlar - liste fiyatından tahmin olarak, ve bunu dipnotta değil her koşuda söyler.
110
112
  - **Bir koşunun durumu tek yerde.** `{project}/{taskId}/` kanonik, düz yerleşim hâlâ okunuyor, ve iki yerde birden duran koşu bir kez sayılıyor.
111
- - **Sunucu hazırlığı, tamamen opt-in.** `doctor --profile=server` yalnızca klavyede kimse yokken anlamı olan dört kontrol ekler, `install --unattended` izin profilini yazmadan önce gösterir, autopilot runner artık bir ay gözetimsiz ayakta kalır. Varsayılan kurulum hiçbir izin yazmaz ve varsayılan doctor koşusu değişmez: sunucu kontrolünden kaldığı söylenen bir dizüstü, doctor'ı görmezden gelmeyi öğrenir.
113
+ - **Sunucu hazırlığı, tamamen opt-in.** `doctor --profile=server` yalnızca klavyede kimse yokken anlamı olan dört kontrol ekler, `install --unattended` izin profilini yazmadan önce gösterir. Varsayılan kurulum hiçbir izin yazmaz ve varsayılan doctor koşusu sunucu kontrollerini dışarıda bırakır: sunucu kontrolünden kaldığı söylenen bir dizüstü, doctor'ı görmezden gelmeyi öğrenir.
112
114
 
113
115
  ### Paket yöneticisi, hook'lar ve MCP yüzeyi
114
116
 
115
- 17.6.0'da üç küçük iş; üçü de pipeline'ın bakmak yerine varsaydığı bir yeri kapatıyor:
117
+ Pipeline'ın varsaymak yerine baktığı üç yer:
116
118
 
117
- - **Faz 3 artık `npm` yazmıyor.** pnpm, yarn ya da bun kullanan bir repo geliştirme fazında, worktree ve branch zaten açılmışken patlıyordu. Yönetici artık reponun kendisinden çözülüyor: önce ortam değişkeni, sonra `package.json#packageManager`, sonra lock dosyası, sonra kanıt değil varsayılan olarak bildirilen npm. iOS ve Android'e dokunulmadı.
118
- - **Compaction bir fazın öğrendiğini artık yemiyor.** Yakalama hook'u oturum sonunda koşuyordu; otomatik compaction ise uzun bir review ya da geliştirme fazını tam koşarken özetliyor ve henüz yazılmamış olan her şey oturum sonu hiç gelmeden kayboluyordu. Hook şablonu artık `PreCompact`'te de yazıyor.
119
- - **`doctor` MCP sunucularını sayıyor.** Kayıtlı her sunucu her turda araç listesini gönderiyor ve sunucular teker teker ekleniyor, yani toplamı kimse görmüyor. Sadece sayıyı bildiriyor: uyarı yok, engelleme yok, kapatma yok.
119
+ - **Faz 2 reponun paket yöneticisini kullanır.** Yönetici reponun kendisinden çözülür: önce ortam değişkeni, sonra `package.json#packageManager`, sonra lock dosyası, sonra kanıt değil varsayılan olarak bildirilen npm - böylece pnpm, yarn ya da bun kullanan bir repo worktree ve branch açıldıktan sonra patlamaz. iOS ve Android'e dokunulmaz.
120
+ - **Compaction bir fazın öğrendiğini korur.** Hook şablonu yakalamaları oturum sonunun yanında `PreCompact`'te de yazar, çünkü otomatik compaction uzun bir review ya da geliştirme fazını tam koşarken özetler.
121
+ - **`doctor` MCP sunucularını sayar.** Kayıtlı her sunucu her turda araç listesini gönderir ve sunucular teker teker eklenir, yani toplamı kimse görmez. Sadece sayıyı bildirir: uyarı yok, engelleme yok, kapatma yok.
120
122
 
121
- ### Olgunluk: kontrolün artık bir sonucu var
123
+ ### Olgunluk: kontrolün bir sonucu var
122
124
 
123
- Faz 0 hiçbir şey inşa edilmeden önce maddenin ne kadar hazır olduğunu puanlıyor, ve 17.6.0'a kadar puanlayıp duruyordu: bir blocker koşuyu durduruyor, autopilot sırası bir sonraki maddeye geçiyor, madde bulunduğu kadar olgunlaşmamış kalıyordu. Kimseye söylenmediği için hiçbir şey değişmiyor, bir sonraki tarama aynı maddede aynı sebeple duruyordu.
125
+ Faz 0 hiçbir şey inşa edilmeden önce maddenin ne kadar hazır olduğunu puanlar. Yalnızca duran bir puan maddeyi bulunduğu kadar olgunlaşmamış bırakır ve bir sonraki tarama aynı maddede aynı sebeple durur; bu yüzden sonuç bir sonraki adımı belirler.
124
126
 
125
- İnteraktif koşu artık **o adımda soruyor** - maddeyi açıp düzelt, onsuz devam et, ya da iptal - ve yalnızca devam ettiğini değil, hangi eksiği görmezden geldiğini kaydediyor. Autopilot koşusuna ise **maddenin kendisine sorması** söylenebiliyor (`prefs.global.maturityFollowup.autopilotCommentsOnIssue`, varsayılan kapalı): eksiği adıyla söyleyen tek bir yorum, sonra durup bekliyor. Durum değişmiyor, atanan kişi değişmiyor, kapatma yok; `Ref:` var, `Closes:` yok.
127
+ İnteraktif koşu **o adımda sorar** - maddeyi açıp düzelt, onsuz devam et, ya da iptal - ve yalnızca devam ettiğini değil, hangi eksiği görmezden geldiğini kaydeder. Autopilot koşusu maddeyi park eder ve ona **maddenin kendisine sorması** söylenebilir (`prefs.global.maturityFollowup.autopilotCommentsOnIssue`, varsayılan kapalı): eksiği adıyla söyleyen tek bir yorum. Durum değişmez, atanan kişi değişmez, kapatma yok; `Ref:` var, `Closes:` yok.
126
128
 
127
- Maddeyi düzenlediğinde bir sonraki tarama yeniden kontrol ediyor; eksik kapandıysa geliştirme kendiliğinden başlıyor. Düzenleme yalnızca yeniden bakma sebebi - "sonra yaparım" diyen bir yorum da damgayı ilerletir ve hiçbir şeyi düzeltmez, o yüzden kontrol yeni içerik üzerinde yeniden koşup karar veriyor. Aynı soru iki kez sorulmuyor.
129
+ `resume`, maddeyi yeniden çekerek olgunluk adımına geri girer ve kararı kontrol verir. Düzenleme yalnızca yeniden bakma sebebidir - "sonra yaparım" diyen bir yorum da damgayı ilerletir ve hiçbir şeyi düzeltmez. Aynı soru iki kez sorulmaz.
128
130
 
129
131
  ### Temel branch: önce kanıt, sonra soru
130
132
 
@@ -132,7 +134,7 @@ Faz 0 Adım 3 sormadan önce adayları **her birinin arkasındaki kanıtla** top
132
134
 
133
135
  Hiçbir şey gömülü değil: şeması `version`'a çözülen her Jira alanı, board ona ne ad verirse versin okunuyor; release dalı konvansiyonu da tablodan değil, var olan ref'lerden çıkarılıyor - aynı koddan bir repoda `<prefix>/develop_<version>`, başkasında `release-<version>` çıkıyor. Dalı henüz açılmamış bir sürüm not olarak bildiriliyor, checkout edemeyeceğin bir seçenek olarak sunulmuyor.
134
136
 
135
- Başarısız bir `git fetch` sessizce değil, yüksek sesle bozuluyor: liste lokal ref'lere düşüyor, soru bunu söylüyor, bir yeniden dene satırı kazanıyor, ve bozuk bir koşu listesini uzaktakinin cevabı diye kaydederse exit gate Faz 0'ı kapatmıyor. Tamamını kapatmak için `prefs.global.baseBranchEvidence.enabled: false` - Adım 3 eskisi gibi soruyor.
137
+ Başarısız bir `git fetch` sessizce değil, yüksek sesle bozuluyor: liste lokal ref'lere düşüyor, soru bunu söylüyor, bir yeniden dene satırı kazanıyor, ve bozuk bir koşu listesini uzaktakinin cevabı diye kaydederse exit gate Faz 0'ı kapatmıyor. Tamamını kapatmak için `prefs.global.baseBranchEvidence.enabled: false` - Adım 3 düz branch listesiyle sorar.
136
138
 
137
139
  ### Çalışma alanı: worktree mi lokal mi
138
140
 
@@ -155,7 +157,7 @@ Koşunun kendisinde ayarlanabilen tek şey autopilot; geri kalan her şey kendi
155
157
 
156
158
  ## Komutlar
157
159
 
158
- `/multi-agent` ve 58 alt komut. `/multi-agent:help` aynı katalogu terminalde, `outputLanguage` ayarına göre gösterir.
160
+ `/multi-agent` ve 61 alt komut. `/multi-agent:help` aynı katalogu terminalde, `outputLanguage` ayarına göre gösterir.
159
161
 
160
162
  ### Pipeline girişleri
161
163
 
@@ -192,6 +194,7 @@ Koşunun kendisinde ayarlanabilen tek şey autopilot; geri kalan her şey kendi
192
194
  | `/multi-agent:scan` | Yerel skill dizinlerini kademeli desen kataloğuna göre güvenlik taraması |
193
195
  | `/multi-agent:prune-prompts` | Sürekli yüklü talimat yükünün sıfır-tabanlı incelemesi; kural başına tut / dene / sil |
194
196
  | `/multi-agent:ios-coding-standard` | Bir iOS modülünü 99 kurallık registry'ye göre denetler, düzeltme planı çıkarır |
197
+ | `/multi-agent:security-review` | Diff, branch ya da repo üzerinde bağımsız statik güvenlik incelemesi: tehdit modeli, CVSS puanlı OWASP + CWE bulguları, çevrimdışı bağımlılık envanteri |
195
198
 
196
199
  ### Analiz
197
200
 
@@ -199,6 +202,9 @@ Koşunun kendisinde ayarlanabilen tek şey autopilot; geri kalan her şey kendi
199
202
  | --------------------------------- | ---------------------------------------------------------------------------------------------- |
200
203
  | `/multi-agent:analysis` | Bağımsız özellik spesifikasyonu: global (23 bölümlük doküman) veya kurumsal (IG/UC/FG) profili |
201
204
  | `/multi-agent:analysis-resolve` | Analiz dokümanının Bölüm 20 açık sorularını satır satır cevaplar |
205
+ | `/multi-agent:analysis-jira` | Son hâlindeki analiz dokümanını Jira story ağacına çevirir: kural kimliklerinden story, iki yönlü kapsam, tam önizleme, yalnız eksik olanı açar |
206
+ | `/multi-agent:graph` | Repo'nun kod grafiğini kurar ve sorgular: semboller, import'lar, referanslar; deterministik, API maliyeti yok |
207
+ | `/multi-agent:research <id>` | Maddenin boşluklarını kimseye sormadan tracker, bağlı doküman ve repodan cevaplar |
202
208
  | `/multi-agent:complaint-analysis` | Graylog kanıtıyla şikayet triyajı: client / bff kök neden ya da core'a yönlendirme |
203
209
 
204
210
  ### Cihaz üstü test
@@ -245,15 +251,18 @@ Koşunun kendisinde ayarlanabilen tek şey autopilot; geri kalan her şey kendi
245
251
  | -------------------------------- | ---------------------------------------------------------------------------------- |
246
252
  | `/multi-agent:setup` | İlk kurulum sihirbazı: keychain token keşfi, git identity, pipeline hazırlığı |
247
253
  | `/multi-agent:stack [id]` | Bu repo için marketplace plugin'lerini etkinleştirir. Çoklu seçim |
254
+ | `/multi-agent:scaffold <stack> <ad>` | Toolkit'in scaffold skill'i ile yeni proje iskeleti; ilk commit'ten önce yeşil |
248
255
  | `/multi-agent:language [en\|tr]` | `outputLanguage`'i gösterir veya değiştirir; `promptLanguage` İngilizce kalır |
249
256
  | `/multi-agent:sync` | Tek atımlık senkron: Claude Code, Copilot CLI, pipeline repo, website, toolkit MCP |
250
257
  | `/multi-agent:update` | npm'deki son yayına günceller ve migration'ları koşar |
258
+ | `/multi-agent:doctor` | Kurulumun sağlık kontrolü: yerleşim, tercihler, kimlik bilgileri, hook'lar, host yetenekleri; çıkış kodu verdiktin kendisi |
251
259
  | `/multi-agent:uninstall` | Pipeline'ı her CLI'dan kaldırır. Keychain token'larına hiç dokunmaz |
260
+ | `/multi-agent:serve` | İstemci için yerel sözleşme sunucusu: yalnızca 127.0.0.1, token, boşta durur |
252
261
  | `/multi-agent:help` | Bu katalog, terminalde, `outputLanguage`'ine göre |
253
262
 
254
263
  ### Alt agent'lar
255
264
 
256
- Komutlarla birlikte sekiz agent kurulur ve fazlar bunları çağırır: `explorer` ve `task-clarifier` (Faz 0-1), `ios-architect` / `android-architect` / `backend-architect` (Faz 2), `dev-critic` (Faz 3), `code-reviewer` ve `security-auditor` (Faz 4).
265
+ Komutlarla birlikte on agent kurulur: `explorer` ve `task-clarifier` (Faz 0-1), `ios-architect` / `android-architect` / `backend-architect` ve `plan-critic` (Faz 1, critic yalnız kalite kapıları açıkken), `dev-critic` (Faz 2'nin sonu), `code-reviewer` ve `security-auditor` (Faz 3), ve tam dosya okuması engellendiğinde `bulk-read.sh`'ın tek bir büyük dosyayı özetlemek için çağırdığı `bulk-reader`.
257
266
 
258
267
  ### Komut olmayan skill'ler
259
268
 
@@ -267,35 +276,30 @@ alması.
267
276
 
268
277
  | Komut | Ne yapar |
269
278
  | ------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
270
- | `/multi-agent:autopilot-on` | Bu makinenin izleyeceği repoları seçersin. Etiketli GitHub issue'ları ve sana atanmış + etiketli Jira maddeleri worktree'de koşar, açık PR'da durur. Listeyi değiştirmek için tekrar çalıştır |
279
+ | `/multi-agent:autopilot-on` | Bu makinenin izleyeceği repoları seçersin. Etiketli GitHub issue'ları ve sana atanmış + etiketli Jira maddeleri worktree'de koşar, taslak (draft) PR'da durur. Listeyi değiştirmek için tekrar çalıştır |
271
280
  | `/multi-agent:autopilot-status` | Ne koşuyor hangi fazda, sırada ne var, ne cevap bekliyor, son bir günün PR'ları ve yuvarlanan harcama |
272
- | `/multi-agent:autopilot-off` | Zamanlamayı kaldırır. Koşan iş biter; repo seçimi saklanır |
281
+ | `/multi-agent:autopilot-off` | Zamanlamayı kaldırır. Koşan iş biter; repo seçimi saklanır. `--now` o an koşan maddeyi de durdurur, önce adını söyleyip sorar |
273
282
 
274
- ## Hangi model cevaplıyor
283
+ ### Autopilot (gözetimsiz)
275
284
 
276
- Merdiven `fable -> opus -> sonnet -> haiku`; koşu başarısızlıkta merdiveni iner.
277
- Yönlendirme basamağı çağrı yeri başına bir politikaya seçtirir ve sen açana
278
- kadar kapalıdır.
285
+ Koşucu bir launchd tick'idir. Her tick kuyruğun başındaki maddeyi alır, tüm
286
+ pipeline'ı bir worktree'de `MULTI_AGENT_UNATTENDED=1` ile koşturur ve bir
287
+ **taslak** pull request'te biter. PR'ı bir insan inceler ve merge eder;
288
+ pipeline'daki hiçbir şey merge etmez.
279
289
 
280
- | Komut | Ne yapar |
281
- | --------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
282
- | `/multi-agent:route-on` | Strateji, kapsam ve hangi çağrının hangi basamağa düşeceğini söyleyen kuralları sorar. Hiçbir şey yazılmadan önce `route-config.schema.json`'a karşı doğrulanır |
283
- | `/multi-agent:route-off` | Kapatır. Kurallar SAKLANIR, tekrar açıldığında aynı yapılandırma yeniden sorulmaz |
284
- | `/multi-agent:route-status` | Açık mı, hangi kural nerede geçerli, son çağrılar hangi basamağa gitti, bu koşu ne tuttu |
285
- | `/multi-agent:model` | Üst basamağı açıp kapatır ve maliyet defterinin fiyatlamasını aynı adımda onunla taşır |
290
+ - **Sormadan önce araştırır.** Maturity blocker'ında ya da açık bir analiz sorusunda park eden koşu, bir insana bırakılmadan önce bir araştırma turundan geçer. `/multi-agent:research <id> --autonomous` tracker thread'ini, bağlı maddeleri ve dokümanları, benzer kapanmış maddeleri ve repoyu okur; `research-gate.mjs` yalnızca alıntılanmış bir kaynağın ya da çözümlenen bir `file:line`'ın desteklediği boşluğu kapatır, maturity kontrolü ya da açık-sorular kapısı sonuç üzerinde yeniden koşup karar verir. Hâlâ açık kalan varsa koşu, bulunan adaylarla birlikte park eder. [Research](./pipeline/multi-agent-refs/features/research.md)
291
+ - **Dışarıya tek yazan.** Oturum asla push etmez. Faz 4 bir PR isteği yazar; koşucu da oturumun dışında stack'in build ve testlerini kendisi yeniden koşturur, gate ledger'ı, commit aralığı üzerindeki sır taramasını ve outbound kapısını yeniden kontrol eder, koşunun kaydettiği branch'i temiz bir staging reposundan push eder ve PR'ı `gh pr create --draft` ile açar. Başarısız bir kontrol maddeyi, kararı diskte olmak üzere `verification-failed` bırakır. Bitbucket'ta taslak PR olmadığı için branch push edilir ve bir özet yazılır. [Gözetimsiz güvenlik](./pipeline/multi-agent-refs/features/unattended-security.md)
292
+ - **Koşunun etrafındaki operasyonlar.** Mod açıkken ikinci bir launchd ajanı Mac'i uyanık tutar (`caffeinate -s -i`; `autopilot-on`'daki ekran sorusuna evet dersen `-d` de eklenir), her koşu da tick'i bitene kadar bir uyku kilidi tutar. Yapılandırılmış bir reponun ihtiyaç duyduğu her credential zamanlama önerilmeden önce ve her tick'te yeniden yoklanır; kilitlenmiş bir keychain, anahtarın adı ve çözümüyle reddedilir. Üst üste hiçbir şey üretmeyen denemelerden sonra bir devre kesici yeni başlatmayı durdurur, `costCeilingUsd` harcamayı 24 saatlik yuvarlanan pencerede sınırlar, `maxParallelAgents` aynı anda çalışan oturum sayısını sınırlar, koşucu günde bir kez bir temizlik raporu ve açıksa bir özet (digest) yazar. [Autopilot operasyonları](./pipeline/multi-agent-refs/features/autopilot-operations.md)
293
+ - **Kapalı başarısız olan (fail-closed) bir guard.** Değişken açıkken Bash guard bir komutu yalnızca `;`, `&&`, `||` ve düz pipe'larla birleşen basit komutlara indirgeyebildiğinde değerlendirir, gerisini ayrıştırmadan reddeder. Ayrıştırabildiklerinde: push, PR, issue ya da tracker yazımı yok, Keychain okuması yok, ağ izin listesi dışına istek yok, paket kurulumu ya da manifest düzenlemesi yok, korunan bir yola yazma yok. Ticket, sayfa ve PR metni modele güvenilmeyen-veri sınırlayıcıları içinde ulaşır. İzin profili (`install --unattended`) ikinci hattır; sınırın kendisi ayrı, admin olmayan bir macOS kullanıcısı ve varsayılan ile release branch'lerindeki GitHub ruleset'leridir, bunları operatör uygular. [Gözetimsiz güvenlik](./pipeline/multi-agent-refs/features/unattended-security.md)
294
+ - **İddialar güvenilmez, kontrol edilir.** Kalite kapıları açıkken koşunun repo hakkındaki iddiaları commit'ten önce kontrol edilir: değişikliğin referans verdiği lokalizasyon anahtarı ya da endpoint gerçekten var, açık analiz soruları cevaplanmış ya da koşuyu park ediyor, bir triyaj alıntısı andığı satırı birebir alıntılıyor, "önceden vardı" denen bulgu diff'in dokunmadığı bir satırı gösteriyor, planın adımları karşılanmış, ve bir test başarısı stack'in kendi işaretleriyle okunan pozitif bir çalıştırılmış test sayısı gösteriyor (8 stack: `ios`, `android`, `web`, `backend-node`, `python`, `go`, `rust`, `jvm`), yanında da değişiklik olmadan kırmızıya dönen yeni bir test. Her karar bir gate ledger'a yazılır ve commit hook'u, zorunlu kapıları HEAD için geçmemiş bir commit'i reddeder. [Gözetimsiz kapılar](./pipeline/multi-agent-refs/features/unattended-gates.md), [stack adaptörleri](./pipeline/multi-agent-refs/features/stack-adapters.md)
295
+ - **Spec, plan ve review disiplini.** `/multi-agent:analysis` bir proje anayasası yazar (güvenlik, erişilebilirlik, mimari ve lisans kuralları, her biri bir kaynağa bağlı); spec-consistency kapısı id üzerinden her gereksinimin bir görevi ve bir testi olduğunu, hiçbir şeyin bağlayıcı bir kuralı askıya almadığını kontrol eder. Faz 1 dört mercekle (kapsam, uygulanabilirlik, güvenlik, daha ucuz bir alternatif) tek bir plan-critic turuyla biter; itirazlar bir kez cevaplanır ve bir script karar verir. Review'da `blocking` bir bulgu koşuyu ancak iki bağımsız reviewer aynı bulguyu taşıdığında ya da başarısız bir test onu gösterdiğinde durdurur; aksi halde `important`'a düşürülür, asla silinmez. [Anayasa](./pipeline/multi-agent-refs/features/constitution.md), [plan critic](./pipeline/multi-agent-refs/features/plan-critic.md), [review kararı](./pipeline/multi-agent-refs/features/review-decision.md)
296
+ - **Bir istemci sözleşmesi.** Komutlar ve koşu soruları veri olarak beyan edilir. `/multi-agent:serve`, CLI'ın bastığı aynı JSON üzerinde localhost'ta bir HTTP sunucusu başlatır; `pipeline/contract/` bir istemcinin üzerine kurulacağı manifest'i, TypeScript tiplerini ve fixture'ları taşır. Dört telefon route'u redakte edilmiş koşuları okur, park etmiş bir soruyu sunulan seçeneklerden biriyle cevaplar ve yalnızca açıldığında bir başlatmayı kuyruğa alır; her istek kayıtlı bir cihazın Ed25519 imzasını taşır. Telefon uygulaması ayrı bir proje. [İstemci kiti](./pipeline/contract/README.md), [telefon API'si](./pipeline/multi-agent-refs/features/phone-api.md)
286
297
 
287
- **Kapsam oturumun tamamı olamaz.** `scope` yalnız `subagent`, `bulk-read` ve
288
- `research` kabul eder; `host-session` diye bir değer yoktur ve bu bir teamül
289
- değil, şema kapısıdır. Host'un base URL'ini sahiplenmek, bu pipeline'la ilgisi
290
- olmayan işler dahil yaptığın her çağrıyı üçüncü bir katmandan geçirirdi.
291
-
292
- **Dürüst sınır, ve `route-status` bunu gizlemek yerine yazar.** Anthropic
293
- dışı bir sağlayıcıdaki basamak dağıtımda reddedilir. Hiçbir çağrı yeri model
294
- isteğini kendisi atmıyor: yönlendirilen tek yer olan `bulk-read.sh` işi `claude`
295
- CLI'ına devrediyor, o da yalnız bu merdiveni konuşuyor. Bir okumayı üçüncü bir
296
- sağlayıcıya göndermek ayrıca dosyanın tam metnini onu sahiplenen hesabın dışına
297
- çıkarırdı; bu yüzden varsayılan değil, kullanıcının verdiği bir karardır.
298
- Yönlendirme merdivenin içinde seçim yapar.
298
+ **Elle kullanım değişmedi.** Yukarıdaki her davranış `MULTI_AGENT_UNATTENDED=1`
299
+ değişkenine ya da autopilot moduna bağlı. İkisi de yoksa hiçbir kapı ledger'a
300
+ yazmaz ya da koşuyu park etmez, guard da önceden verdiği cevabı verir; her iki
301
+ yönü bir smoke suite tutar. Giriş noktası giriş noktası tam sözleşme:
302
+ [unattended-contract.md](./pipeline/multi-agent-refs/unattended-contract.md).
299
303
 
300
304
  **Varsayılan olarak hiçbir şey açık değil ve hiçbir repo kendiliğinden eklenmez.**
301
305
  Paketi kurmak ne durum yazar ne zamanlama kurar; bu bir gün değişirse
@@ -307,18 +311,21 @@ En büyük kazanç paralellik değil. Ölçüm: medyan koşu 44 dakika, ama 14:0
307
311
  biten bir madde sen masaya oturana kadar bekler; gece boyunca bu 40 dakikaya
308
312
  karşı **16 saat**. Sürekli mod işi değil, beklemeyi kaldırıyor.
309
313
 
310
- **Yapmayacakları.** Merge etmez - koşucu açık PR'da durur, karar sende kalır.
314
+ **Yapmayacakları.** Merge etmez - koşucu taslak PR'da durur, karar sende kalır.
311
315
  Senin elle koşturduğun bir işe dokunmaz: repo başına eşzamanlılık her zaman 1,
312
316
  yani kuyruk senin çalıştığın repoyu `.git/index.lock` için yarışmak yerine atlar.
313
- PR sayısına tavan yok; sınırlar 24 saatlik yuvarlanan `costCeilingUsd` ve
314
- makinenin kapasitesi.
317
+ PR sayısına tavan yok; sınırlar 24 saatlik yuvarlanan `costCeilingUsd`,
318
+ ayarladıysan `maxParallelAgents` ve makinenin kapasitesi.
315
319
 
316
320
  **`swiftc` varsa menü çubuğu göstergesi** aynı `status.json`'ı sağ üstte çizer ve
317
321
  kendi kendine tazelenir: madde başına tek satır - id, kesir
318
322
  olarak faz, geçen süre, stack. Madde biter bitmez satır kaybolur ve PR'ıyla
319
323
  Raporlar altında görünür. Yalnızca **çizer**; bir koşuyu başlatamaz, durduramaz,
320
- değiştiremez. ActivityKit macOS'ta yok, o yüzden bu bir `NSStatusItem` ve
321
- imzalanması gerekecek bir ikili olarak değil, yerinde kaynaktan derleniyor.
324
+ değiştiremez ve andığı tek komutu senin CLI'ının yazdığı gibi yazar. Göstergenin
325
+ etiketleri, terminalin okuduğu aynı tablodan, `prefs.global.outputLanguage`
326
+ diline göre çizilir.
327
+ ActivityKit macOS'ta yok, o yüzden bu bir `NSStatusItem` ve imzalanması
328
+ gerekecek bir ikili olarak değil, yerinde kaynaktan derleniyor.
322
329
 
323
330
  **Yeniden başlatmadan sonra çalıştırman gereken komut yok.** launchd işi
324
331
  **girişte** yükler, boot'ta değil - ve bu bir eksiklik değil doğrusu: token'ları
@@ -327,9 +334,11 @@ Jira'ya ne GitHub'a bağlanabilirdi. `autopilot-resume` diye bir komut yok -
327
334
  hatırlanması gereken komut, unutulduğunda sessizce duran kuyruk demektir.
328
335
  Bunun yerine `doctor` gerçek arızayı söyler: kurulu, ama launchd'de iş yok.
329
336
 
330
- Uyku **yalnızca prizdeyken** engellenir. Prizde olmayan bir laptop'u boşaltan
331
- kuyruk hatadır; bataryada assertion bırakılır ve prize takınca kaldığı yerden
332
- devam eder.
337
+ **Uyku.** launchd'nin aralığı uyuyan bir Mac'i uyandırmaz; bu yüzden mod açıkken
338
+ uyanık tutma ajanı prizdeyken sistem uykusunu, bataryada da boşta uykuyu
339
+ engeller. Mod açıkken prizden çekilmiş bir laptop, prize takılana ya da mod
340
+ kapatılana kadar uyanık kalır; `awake.enabled: false` ajanı kaldırır ve yalnızca
341
+ koşu başına kilidi bırakır, macOS o kilidi yalnızca prizdeyken uygular.
333
342
 
334
343
  **Üç komut da üç CLI'a birden kurulur ve hepsinde aynı şekilde çalışır**, çünkü
335
344
  kontrol ettikleri şey bir CLI özelliği değil: tick'i `claude --bg` çocuğu doğuran
@@ -338,6 +347,38 @@ Dolayısıyla sürekli mod her hostta `claude` binary'sinin `PATH`'te olmasını
338
347
  istiyor. Kuyruk ve repo seçimi her hostta `~/.claude/autopilot/` altında durur;
339
348
  bu bilinçli - bir makinedeki iki CLI tek kuyruk okumalı, iki değil.
340
349
 
350
+ ## Hangi model cevaplıyor
351
+
352
+ Merdiven `fable -> opus -> sonnet -> haiku`; koşu başarısızlıkta merdiveni iner.
353
+ Yönlendirme basamağı çağrı yeri başına bir politikaya seçtirir ve sen açana
354
+ kadar kapalıdır.
355
+
356
+ | Komut | Ne yapar |
357
+ | --------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
358
+ | `/multi-agent:route-on` | Strateji, kapsam ve hangi çağrının hangi basamağa düşeceğini söyleyen kuralları sorar. Hiçbir şey yazılmadan önce `route-config.schema.json`'a karşı doğrulanır |
359
+ | `/multi-agent:route-off` | Kapatır. Kurallar SAKLANIR, tekrar açıldığında aynı yapılandırma yeniden sorulmaz |
360
+ | `/multi-agent:route-status` | Açık mı, hangi kural nerede geçerli, son çağrılar hangi basamağa gitti, bu koşu ne tuttu |
361
+ | `/multi-agent:model` | Üst basamağı açıp kapatır ve maliyet defterinin fiyatlamasını aynı adımda onunla taşır |
362
+
363
+ **Kapsam oturumun tamamı olamaz.** `scope` yalnız `subagent`, `bulk-read` ve
364
+ `research` kabul eder; `host-session` diye bir değer yoktur ve bu bir teamül
365
+ değil, şema kapısıdır. Host'un base URL'ini sahiplenmek, bu pipeline'la ilgisi
366
+ olmayan işler dahil yaptığın her çağrıyı üçüncü bir katmandan geçirirdi.
367
+
368
+ **Dürüst sınır, ve `route-status` bunu gizlemek yerine yazar.** Anthropic
369
+ dışı bir sağlayıcıdaki basamak dağıtımda reddedilir. Hiçbir çağrı yeri model
370
+ isteğini kendisi atmıyor: yönlendirilen tek yer olan `bulk-read.sh` işi `claude`
371
+ CLI'ına devrediyor, o da yalnız bu merdiveni konuşuyor. Bir okumayı üçüncü bir
372
+ sağlayıcıya göndermek ayrıca dosyanın tam metnini onu sahiplenen hesabın dışına
373
+ çıkarırdı; bu yüzden varsayılan değil, kullanıcının verdiği bir karardır.
374
+ Yönlendirme merdivenin içinde seçim yapar.
375
+
376
+ **Üst basamak bir anahtar.** `/multi-agent:model` `fable`'ı açar ya da kapatır
377
+ (`prefs.global.modelFallback.fableEnabled`, kapalı gelir). Review komutları,
378
+ triyaj ve plan critic kendi yuvalarını bu anahtar üzerinden çözer: Claude
379
+ Code'da `/multi-agent:review` anahtar açıkken Fable + Opus + Sonnet, kapalıyken
380
+ Opus + Sonnet çalıştırır.
381
+
341
382
  ## Stack'ler
342
383
 
343
384
  Stack skill'leri [`mmerterden/multi-agent-plugins`](https://github.com/mmerterden/multi-agent-plugins) marketplace'inde versiyonlu plugin'ler olarak gönderilir. Repo başına bir stack seç:
@@ -350,17 +391,17 @@ Bu, ilgili plugin'i (+ ortak `ai-common` plugin'ini) repo'nun `.claude/settings.
350
391
 
351
392
  ## Araç desteği
352
393
 
353
- Pipeline **Claude Code**, **Copilot CLI** ve **Codex CLI** üzerinde native çalışır - üçü de aynı `pipeline/` kaynağından kurulur ve aynı 58 komutu alır.
394
+ Pipeline **Claude Code**, **Copilot CLI** ve **Codex CLI** üzerinde native çalışır - üçü de aynı `pipeline/` kaynağından kurulur ve aynı 61 komutu alır.
354
395
 
355
396
  | Araç | Bayrak | Ne kurar |
356
397
  | ----------- | ----------------------- | ---------------------------------------------------------------------------------------------------------------- |
357
398
  | Claude Code | `--claude` (varsayılan) | slash komutları + skill'ler + agent'lar + üç `PreToolUse` hook'u (secret scan, agent-guard, okuma-boyutu geçidi) |
358
- | Copilot CLI | `--copilot` | talimatlar + 58 alt-komut skill'i + script'ler |
359
- | Codex CLI | `--codex` | bir router skill + ref olarak 58 spec + 9 agent TOML + `AGENTS.md` bloğu + `codex mcp add` |
399
+ | Copilot CLI | `--copilot` | talimatlar + 61 alt-komut skill'i + script'ler |
400
+ | Codex CLI | `--codex` | bir router skill + ref olarak 61 spec + 10 agent TOML + `AGENTS.md` bloğu + `codex mcp add` |
360
401
 
361
402
  Skill'leri stack'e göre filtrele: `--platform=ios\|android\|all`.
362
403
 
363
- **Codex neden 58 değil de tek bir skill alıyor.** Codex, keşfettiği her skill'in adını
404
+ **Codex neden 61 değil de tek bir skill alıyor.** Codex, keşfettiği her skill'in adını
364
405
  ve açıklamasını tek bir prompt bloğuna toplar ve blok taştığında girdileri hatasızca
365
406
  düşürür. 0.145 üzerinde ölçüldü: 142 skill deklare eden bir plugin kurulduğunda sadece
366
407
  75'i yüzeye çıktı ve alakasız bir kullanıcı skill'i tahliye edildi. Bu yüzden Codex'te
@@ -369,7 +410,7 @@ hiçbir maliyeti olmayan referans dosyaları olarak tutar - aynı komutlar, ayn
369
410
  host'un gerçekten tutabildiği bir düzen.
370
411
 
371
412
  Reviewer setleri farklı çünkü mevcut modeller farklı: Claude Code 3 reviewer çalıştırır
372
- (Fable + Opus + Sonnet), Copilot CLI 3 (Opus + GPT-5.4 + Sonnet), Codex CLI 3 (xhigh'da
413
+ (Fable + Opus + Sonnet; fable basamağı kapalıyken 2), Copilot CLI 3 (Opus + GPT-5.4 + Sonnet), Codex CLI 3 (xhigh'da
373
414
  gpt-5.6, gpt-5.4, medium'da gpt-5.6). Codex tek-vendor olduğu için üçü arasındaki
374
415
  konsensüs, iki-vendor'lu bir host'taki aynı konsensüsten daha zayıf bir kanıttır ve
375
416
  triage notu bunu belirtir.
@@ -380,12 +421,12 @@ triage notu bunu belirtir.
380
421
 
381
422
  | Token | Ne için kullanılır | Faz |
382
423
  | --------------------- | ------------------------------------------------------------------ | ----------------------- |
383
- | `jira` | issue'yu çek · rapor yorumunu gönder | 0, 7 |
384
- | `github` | issue'lar · PR'lar · `gh` auth | 0, 6 |
385
- | `bitbucket` | PR create/update (reviewer koruyarak) · diff | 6 |
386
- | `confluence` | analiz / wiki sayfaları yayınla | 7 |
424
+ | `jira` | issue'yu çek · rapor yorumunu gönder | 0, 5 |
425
+ | `github` | issue'lar · PR'lar · `gh` auth | 0, 4 |
426
+ | `bitbucket` | PR create/update (reviewer koruyarak) · diff | 4 |
427
+ | `confluence` | analiz / wiki sayfaları yayınla | 5 |
387
428
  | `figma` + `figma_mcp` | design context çek | yalnızca analiz |
388
- | `fortify` | security-scan bulgu kapısı | 4 |
429
+ | `fortify` | security-scan bulgu kapısı | 2 |
389
430
  | `firebase` | Firebase projeleri için servis hesabı JSON'ı | gerektiğinde |
390
431
  | `jenkins` | CI tetikleme / durum | build / deploy |
391
432
  | `npm` | paket publish (çoğunlukla CI) | release |
@@ -2,45 +2,45 @@
2
2
 
3
3
  End-to-end guide for generating production-ready UI components from Figma designs through the multi-agent pipeline. Covers iOS (SwiftUI) and Android (Jetpack Compose) with the same workflow shape.
4
4
 
5
- > Note: Component and Figma-to-code skills are no longer bundled in this repo. Phase 3 dispatches component work to the per-stack marketplace plugins (`ai-ios-toolkit` / `ai-android-toolkit` in the `multi-agent-plugins` marketplace) via the Skill tool. The workflow, subphases, and skill names described below are what those plugin skills run internally, not pipeline-bundled code. The 3-tier Figma design-access fallback still governs the analysis phase in this repo.
5
+ > Note: Component and Figma-to-code skills are no longer bundled in this repo. Phase 2 dispatches component work to the per-stack marketplace plugins (`ai-ios-toolkit` / `ai-android-toolkit` in the `multi-agent-plugins` marketplace) via the Skill tool. The workflow, subphases, and skill names described below are what those plugin skills run internally, not pipeline-bundled code. The 3-tier Figma design-access fallback still governs the analysis phase in this repo.
6
6
 
7
7
  ## What you get
8
8
 
9
9
  - **One command** - `/multi-agent <figma-url-or-issue>` - produces a complete component: Configuration + View + Modifiers + Preview + README + three layers of tests + Code Connect + wiki doc.
10
10
  - **Platform-agnostic orchestration** - classification happens once in Phase 0; the orchestrator picks the right code generator for iOS or Android based on `figmaConfig.project.platform`.
11
11
  - **Multi-repo aware** - components span multiple repos (tokens in `common`, view in `components`, docs in `wiki`). The orchestrator sequences writes correctly.
12
- - **Non-blocking side effects** - wiki generation + Jira sync run as augmentations; failures log and Phase 7 continues.
13
- - **Cross-cutting integration skills** - Phase 3D detects content patterns (`figma-form-integration`, `figma-price-integration`, `figma-ui-patterns`) and interaction patterns (`figma-navigation`, `figma-overlays`, `figma-bottom-sheets`) and dispatches the matching skill. All are **native-SwiftUI-first**; a project's own navigation/overlay/sheet system is used only when `figmaConfig.ui.{navigationSystem,overlaySystem,sheetSystem}` declares one (absent → stock SwiftUI: `NavigationStack`, `.alert`/`.sheet(item:)`, `.presentationDetents`). Generic across SwiftUI codebases.
12
+ - **Non-blocking side effects** - wiki generation + Jira sync run as augmentations; failures log and Phase 5 continues.
13
+ - **Cross-cutting integration skills** - Phase 2 detects content patterns (`figma-form-integration`, `figma-price-integration`, `figma-ui-patterns`) and interaction patterns (`figma-navigation`, `figma-overlays`, `figma-bottom-sheets`) and dispatches the matching skill. All are **native-SwiftUI-first**; a project's own navigation/overlay/sheet system is used only when `figmaConfig.ui.{navigationSystem,overlaySystem,sheetSystem}` declares one (absent → stock SwiftUI: `NavigationStack`, `.alert`/`.sheet(item:)`, `.presentationDetents`). Generic across SwiftUI codebases.
14
14
  - **Evolve an existing component** - `figma-evolve-component` reconciles a shipped component against current Figma (drift-heal) and additively extends it for a new need, behind a mandatory human gate - distinct from a fresh build, `figma-mend` (rebuild), and `figma-fix` (review bug).
15
15
 
16
16
  ## How it runs
17
17
 
18
- When multi-agent Phase 0 classifies a task as `component` (Figma URL in description, or figma-driven instruction path), Phase 3 delegates the entire phase to the enabled `ai-<platform>-toolkit` marketplace plugin's component skill (`create-component`, fallback `create-ui-component`) via the Skill tool. Component skills live in the plugin marketplace, not the pipeline. The dispatch layer records a coarse component-build row in `state.phases["3"].subphases[]` - multi-agent's phase-tracker reads that array with no special case. The subphase list below describes the flow the plugin skill runs internally.
18
+ When multi-agent Phase 0 classifies a task as `component` (Figma URL in description, or figma-driven instruction path), Phase 2 delegates the entire phase to the enabled `ai-<platform>-toolkit` marketplace plugin's component skill (`create-component`, fallback `create-ui-component`) via the Skill tool. Component skills live in the plugin marketplace, not the pipeline. The dispatch layer records a coarse component-build row in `state.phases["3"].subphases[]` - multi-agent's phase-tracker reads that array with no special case. The subphase list below describes the flow the plugin skill runs internally.
19
19
 
20
20
  ### Internal phase order
21
21
 
22
22
  ```
23
- 3.0 init - node-id parse, registry lookup, worktree confirm
24
- 3.1 gather - Figma API / MCP fetch, variant properties, token extraction
25
- 3.2a testing identifiers - semantic tags (platform-agnostic)
26
- 3.2b localisation - string keys → common repo
27
- 3.2c accessibility - a11y metadata; platform-aware output
28
- 3.2d analytics - event keys
29
- 3.3 token mapping - Figma values → design token symbols
30
- 3.4a Configuration - pure value type (SwiftUI struct / Compose @Immutable data class)
31
- 3.4b View - SwiftUI body / @Composable fun
32
- 3.4c Docs - FIGMA.md (iOS) / README.md (Android)
33
- 3.4d Preview - variant grid
34
- 3.4e Modifiers - fluent API
35
- 3.5a structural tests - ViewInspector / Compose Testing
36
- 3.5b snapshot tests - SnapshotTesting / Paparazzi
37
- 3.5c unit tests - configuration semantics + behavioural
38
- 3.6 Code Connect - .figma.swift / .figma.kt registration
39
- 3.7 wiki - 4-adapter dispatch (submodule / in-repo / github-wiki / separate-repo)
40
- 3.8 cleanup - artifact pruning, state finalize
23
+ 2.0 init - node-id parse, registry lookup, worktree confirm
24
+ 2.1 gather - Figma API / MCP fetch, variant properties, token extraction
25
+ 2.2a testing identifiers - semantic tags (platform-agnostic)
26
+ 2.2b localisation - string keys → common repo
27
+ 2.2c accessibility - a11y metadata; platform-aware output
28
+ 2.2d analytics - event keys
29
+ 2.3 token mapping - Figma values → design token symbols
30
+ 2.4a Configuration - pure value type (SwiftUI struct / Compose @Immutable data class)
31
+ 2.4b View - SwiftUI body / @Composable fun
32
+ 2.4c Docs - FIGMA.md (iOS) / README.md (Android)
33
+ 2.4d Preview - variant grid
34
+ 2.4e Modifiers - fluent API
35
+ 2.5a structural tests - ViewInspector / Compose Testing
36
+ 2.5b snapshot tests - SnapshotTesting / Paparazzi
37
+ 2.5c unit tests - configuration semantics + behavioural
38
+ 2.6 Code Connect - .figma.swift / .figma.kt registration
39
+ 2.7 wiki - 4-adapter dispatch (submodule / in-repo / github-wiki / separate-repo)
40
+ 2.8 cleanup - artifact pruning, state finalize
41
41
  ```
42
42
 
43
- Each subphase emits a `→ <verb> <object>` progress line per `refs/progress-contract.md`; multi-agent's phase-tracker renders them inline under the Phase 3 row.
43
+ Each subphase emits a `→ <verb> <object>` progress line per `refs/progress-contract.md`; multi-agent's phase-tracker renders them inline under the Phase 2 row.
44
44
 
45
45
  ## Configuration
46
46
 
@@ -71,7 +71,7 @@ Minimum viable config:
71
71
 
72
72
  Android projects swap the `build` section to `{ "gradleModule": ":components:button", "variant": "debug" }` and set `project.platform` to `"android"`.
73
73
 
74
- **Optional `ui` block - UI interaction systems.** Consumed by the enabled stack plugin's `navigation` / `overlays` / `bottom-sheets` skills (`ai-ios-toolkit:*` / `ai-android-toolkit:*`) and Phase 4 review. Omit it (or set `mode: "native"`) and the pipeline generates stock SwiftUI (`NavigationStack`, `.alert`/`.sheet(item:)`, `.sheet`+`presentationDetents`). Set `mode: "custom"` to route to a project-supplied system by type name:
74
+ **Optional `ui` block - UI interaction systems.** Consumed by the enabled stack plugin's `navigation` / `overlays` / `bottom-sheets` skills (`ai-ios-toolkit:*` / `ai-android-toolkit:*`) and Phase 3 review. Omit it (or set `mode: "native"`) and the pipeline generates stock SwiftUI (`NavigationStack`, `.alert`/`.sheet(item:)`, `.sheet`+`presentationDetents`). Set `mode: "custom"` to route to a project-supplied system by type name:
75
75
 
76
76
  ```json
77
77
  "ui": {
@@ -87,8 +87,8 @@ When a GitHub issue triggers the pipeline and has no Jira link:
87
87
 
88
88
  1. Phase 0 Step 1 applies the `autoJiraFromGithubIssue` policy (`ask` | `always` | `never`, default `ask`). Autopilot forces `ask` to `always`.
89
89
  2. If create path: Jira ticket inherits title/body/labels; GitHub issue body gets a `Jira: [KEY](url)` link patch.
90
- 3. Phase 7 Step 3.5 runs component wiki capture.
91
- 4. Phase 7 posts a humanizer'd wiki summary back to the linked Jira (`wikiToJiraComment`, default `true`).
90
+ 3. Phase 5 runs component wiki capture (`multi-agent-refs/wiki-capture.md`).
91
+ 4. Phase 5 posts a humanizer'd wiki summary back to the linked Jira (`wikiToJiraComment`, default `true`).
92
92
 
93
93
  Full contract: [`pipeline/multi-agent-refs/issue-jira-triad.md`](../pipeline/multi-agent-refs/issue-jira-triad.md).
94
94
 
@@ -97,7 +97,7 @@ Full contract: [`pipeline/multi-agent-refs/issue-jira-triad.md`](../pipeline/mul
97
97
  | Mode | Path layout | Push semantics |
98
98
  |---|---|---|
99
99
  | `submodule` | `{repos.wiki.path}/FigmaComponents/{Category}/{Name}/{Name}.md` | Commit into submodule's branch, push, update parent repo's pointer |
100
- | `in-repo` | `{repos.components.path}/.wiki/components/{Category}/{Name}.md` | No push - ships with the component commit in Phase 6 |
100
+ | `in-repo` | `{repos.components.path}/.wiki/components/{Category}/{Name}.md` | No push - ships with the component commit in Phase 4 |
101
101
  | `github-wiki` | `{owner}/{repo}.wiki.git/{Category}/{Name}.md` | Clone the `.wiki.git`, commit, push |
102
102
  | `separate-repo` | Remote repo's configured branch | Clone to cache, commit, push |
103
103
 
@@ -109,29 +109,29 @@ Global settings that affect the figma pipeline:
109
109
 
110
110
  | key | type | default | controls |
111
111
  |---|---|---|---|
112
- | `promptLanguage` | `en` / `tr` | `en` | Interactive prompt language (pickers, Phase 5/6 confirmations) |
112
+ | `promptLanguage` | `en` / `tr` | `en` | Interactive prompt language (pickers, Phase 3/4 confirmations) |
113
113
  | `outputLanguage` | `en` / `tr` | `en` | Assistant's explanations / status / reports (independent of `promptLanguage`; external payloads stay English) |
114
114
  | `progressVerbosity` | `quiet` / `normal` / `verbose` | `normal` | Progress-line emission level |
115
- | `wikiDefault` | bool | `true` | Phase 7 wiki auto-yes under autopilot |
115
+ | `wikiDefault` | bool | `true` | Phase 5 wiki auto-yes under autopilot |
116
116
  | `autoJiraFromGithubIssue` | `ask` / `always` / `never` | `ask` | Phase 0 Jira auto-create policy |
117
117
  | `wikiToJiraComment` | bool | `true` | Post wiki summary to linked Jira issue |
118
- | `confluenceDefault` | bool | `false` | Phase 7 Confluence auto-yes |
119
- | `jiraCommentDefault` | bool | `true` | Phase 7 test-scenarios Jira comment auto-yes |
118
+ | `confluenceDefault` | bool | `false` | Phase 5 Confluence auto-yes |
119
+ | `jiraCommentDefault` | bool | `true` | Phase 5 test-scenarios Jira comment auto-yes |
120
120
 
121
121
  ## Troubleshooting
122
122
 
123
123
  | Symptom | Likely cause | Fix |
124
124
  |---|---|---|
125
- | Phase 3 halts with "plugin not enabled" | The `ai-<platform>-toolkit` plugin is not enabled in this repo | Enable it in the repo's `.claude/settings.local.json` (`"ai-ios-toolkit@<marketplace>": true`) and reload the session |
125
+ | Phase 2 halts with "plugin not enabled" | The `ai-<platform>-toolkit` plugin is not enabled in this repo | Enable it in the repo's `.claude/settings.local.json` (`"ai-ios-toolkit@<marketplace>": true`) and reload the session |
126
126
  | `multi-agent:create-component` not found | Marketplace not installed / plugin disabled | Install the marketplace and enable the platform toolkit; dispatch tries `create-component` then `create-ui-component` |
127
- | Wiki adapter failure | Remote unreachable (separate-repo mode) | Adapter caches pending output; next run retries. Non-blocking - Phase 7 continues. |
127
+ | Wiki adapter failure | Remote unreachable (separate-repo mode) | Adapter caches pending output; next run retries. Non-blocking - Phase 5 continues. |
128
128
  | Jira auto-create hits 5xx | Transient Jira outage | Non-blocking - pipeline continues without link. User can run `/multi-agent:channels` post-hoc to add it. |
129
129
  | Android gradle unresolved | `figmaConfig.build.gradleModule` not set | Populate the config; halt is intentional (no guessing) |
130
130
 
131
131
  ## Further reading
132
132
 
133
- - [`pipeline/multi-agent-refs/component-dispatch.md`](../pipeline/multi-agent-refs/component-dispatch.md) - Phase 3 delegation contract.
134
- - [`pipeline/multi-agent-refs/wiki-capture.md`](../pipeline/multi-agent-refs/wiki-capture.md) - Phase 7 wiki contract.
133
+ - [`pipeline/multi-agent-refs/component-dispatch.md`](../pipeline/multi-agent-refs/component-dispatch.md) - Phase 2 delegation contract.
134
+ - [`pipeline/multi-agent-refs/wiki-capture.md`](../pipeline/multi-agent-refs/wiki-capture.md) - Phase 5 wiki contract.
135
135
  - [`pipeline/multi-agent-refs/issue-jira-triad.md`](../pipeline/multi-agent-refs/issue-jira-triad.md) - issue → jira → wiki triad contract.
136
136
  - [`pipeline/multi-agent-refs/progress-contract.md`](../pipeline/multi-agent-refs/progress-contract.md) - live progress-line emission contract.
137
137
  - [`pipeline/multi-agent-refs/cross-cli-contract.md`](../pipeline/multi-agent-refs/cross-cli-contract.md) - Claude ↔ Copilot CLI parity.
@@ -9,7 +9,7 @@ ADR-0003 (v3.5.0) collapsed the split `skills/claude/` + `skills/copilot/` into
9
9
  By v5.3.x the maintenance burden of the flat tree became visible in everyday work:
10
10
 
11
11
  - **Source navigation.** Browsing `pipeline/skills/shared/` on GitHub shows 148 sibling directories with no hint which ones are load-bearing for the pipeline vs. which ones are third-party imports.
12
- - **Code review cost.** Changes under `shared/` have very different risk profiles depending on which kind of skill changed. `multi-agent-sync/SKILL.md` is pipeline-critical - any drift breaks cross-CLI parity. `ios-developer/SKILL.md` is a reference guide imported from upstream - edits almost never affect pipeline behavior.
12
+ - **Code review cost.** Changes under `shared/` have very different risk profiles depending on which kind of skill changed. `multi-agent-sync/SKILL.md` is pipeline-critical - any drift breaks cross-CLI parity. `swiftui-pro/SKILL.md` is a reference guide imported from upstream - edits almost never affect pipeline behavior.
13
13
  - **Grep noise.** `grep -r skills/shared/` produces 148× the noise it should when searching for pipeline code.
14
14
  - **Audit findings.** The v5.3.0 audit flagged this as technical debt worth addressing once the pipeline stabilized.
15
15
 
@@ -2,6 +2,12 @@
2
2
 
3
3
  **Status:** Superseded · 2026-07-02 (v10.7.0 removed all non-native adapters - the pipeline targets Claude Code + Copilot CLI only; Codex CLI was later added as a third NATIVE target in v13.0.0, not through this adapter framework). Original acceptance: 2026-04-27 (v7.7.0 / v7.9.0). Kept as the historical record of why the adapter framework existed; install flags documented below no longer exist.
4
4
 
5
+ > **Amendment, 2026-09-13 ([ADR-0012](./0012-macos-only.md), macOS only).** Linux
6
+ > and Windows support was removed. `package.json` declares `os: ["darwin"]` and
7
+ > `lib/credential-store.sh` keeps only the macOS Keychain backend, so where the
8
+ > body below names Windows Credential Manager or Linux libsecret, read it as
9
+ > the record of what was decided then, not as a supported path.
10
+
5
11
  ## Context
6
12
 
7
13
  Through v7.6, the pipeline shipped to two CLIs only: Claude Code and Copilot CLI. Both expose **subagent dispatch** - the ability for the orchestrator to fan out work to parallel sub-agents with their own model, prompt, and context. This is a hard prerequisite for the 8-phase pipeline (Phase 1 parallel exploration, Phase 4 multi-reviewer review, Phase 7 multi-channel reporting).
@@ -6,6 +6,13 @@
6
6
 
7
7
  > **Amended v10.7.0:** the `_adapters.mjs` module and its third-party adapter dispatch were removed when the pipeline narrowed to Claude Code + Copilot CLI (see ADR 0007). `install/` now ships **8** modules, not 9; the module list below records the v8.0.0 decision as it shipped at the time.
8
8
 
9
+ > **Amendment, 2026-09-13 ([ADR-0012](./0012-macos-only.md), macOS only).** Linux
10
+ > and Windows support was removed. `package.json` declares `os: ["darwin"]`,
11
+ > every workflow runs on a macOS runner, and `test.yml`'s matrix is macOS ×
12
+ > Node 20/22 with no Ubuntu leg and no Windows job. Where the body below
13
+ > describes an Ubuntu/macOS/Windows matrix or an Ubuntu `act` lane, read it as
14
+ > the record of what was decided then.
15
+
9
16
  ## Context
10
17
 
11
18
  Two pressures collided during the v7.x line: