@mmerterden/multi-agent-pipeline 8.6.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 (817) hide show
  1. package/CHANGELOG.md +2623 -0
  2. package/LICENSE +21 -0
  3. package/README.md +852 -0
  4. package/docs/FIGMA_PIPELINE.md +138 -0
  5. package/docs/GENERICITY-REVIEW.md +277 -0
  6. package/docs/STABILITY-FIX-PLAN.md +168 -0
  7. package/docs/adr/0001-three-model-triage.md +81 -0
  8. package/docs/adr/0002-instruction-driven-flag.md +62 -0
  9. package/docs/adr/0003-unified-shared-skills.md +55 -0
  10. package/docs/adr/0004-zero-dependency-philosophy.md +60 -0
  11. package/docs/adr/0005-lazy-phase-docs.md +68 -0
  12. package/docs/adr/0006-skills-core-external-split.md +52 -0
  13. package/docs/adr/0007-multi-tool-adapter-framework.md +110 -0
  14. package/docs/adr/0008-installer-modularization-and-secret-leak-defense.md +98 -0
  15. package/docs/adr/README.md +33 -0
  16. package/docs/architecture.md +181 -0
  17. package/docs/best-practices.md +93 -0
  18. package/docs/features.md +274 -0
  19. package/docs/performance.md +116 -0
  20. package/docs/recovery-guide.md +479 -0
  21. package/index.js +76 -0
  22. package/install/_adapters.mjs +69 -0
  23. package/install/_common.mjs +150 -0
  24. package/install/_copilot-instructions.mjs +32 -0
  25. package/install/_dev-only-files.mjs +23 -0
  26. package/install/_platform-filter.mjs +132 -0
  27. package/install/_telemetry.mjs +79 -0
  28. package/install/claude.mjs +332 -0
  29. package/install/copilot.mjs +254 -0
  30. package/install/index.mjs +179 -0
  31. package/install/templates/copilot-instructions.md +319 -0
  32. package/install.js +24 -0
  33. package/package.json +78 -0
  34. package/pipeline/adapters/_base.mjs +288 -0
  35. package/pipeline/adapters/copilot-chat.mjs +158 -0
  36. package/pipeline/adapters/cursor.mjs +187 -0
  37. package/pipeline/agents/android-architect.md +42 -0
  38. package/pipeline/agents/backend-architect.md +43 -0
  39. package/pipeline/agents/code-reviewer.md +57 -0
  40. package/pipeline/agents/dev-critic.md +148 -0
  41. package/pipeline/agents/explorer.md +34 -0
  42. package/pipeline/agents/ios-architect.md +41 -0
  43. package/pipeline/agents/security-auditor.md +98 -0
  44. package/pipeline/agents/task-clarifier.md +113 -0
  45. package/pipeline/claude-md-template.md +55 -0
  46. package/pipeline/commands/archive-guard.md +45 -0
  47. package/pipeline/commands/deploy.md +54 -0
  48. package/pipeline/commands/figma-to-swiftui.md +295 -0
  49. package/pipeline/commands/multi-agent/_account-picker.md +90 -0
  50. package/pipeline/commands/multi-agent/_dev-context.md +111 -0
  51. package/pipeline/commands/multi-agent/_input-parser.md +43 -0
  52. package/pipeline/commands/multi-agent/_repo-picker.md +76 -0
  53. package/pipeline/commands/multi-agent/autopilot.md +116 -0
  54. package/pipeline/commands/multi-agent/channels.md +465 -0
  55. package/pipeline/commands/multi-agent/delete.md +66 -0
  56. package/pipeline/commands/multi-agent/dev-autopilot.md +120 -0
  57. package/pipeline/commands/multi-agent/dev-local-autopilot.md +110 -0
  58. package/pipeline/commands/multi-agent/dev-local.md +105 -0
  59. package/pipeline/commands/multi-agent/dev.md +246 -0
  60. package/pipeline/commands/multi-agent/diff-explain.md +68 -0
  61. package/pipeline/commands/multi-agent/help.md +422 -0
  62. package/pipeline/commands/multi-agent/issue.md +79 -0
  63. package/pipeline/commands/multi-agent/jira.md +132 -0
  64. package/pipeline/commands/multi-agent/kill.md +38 -0
  65. package/pipeline/commands/multi-agent/language.md +94 -0
  66. package/pipeline/commands/multi-agent/local-autopilot.md +139 -0
  67. package/pipeline/commands/multi-agent/local.md +117 -0
  68. package/pipeline/commands/multi-agent/log.md +25 -0
  69. package/pipeline/commands/multi-agent/manual-test.md +43 -0
  70. package/pipeline/commands/multi-agent/purge.md +39 -0
  71. package/pipeline/commands/multi-agent/refactor.md +188 -0
  72. package/pipeline/commands/multi-agent/refs/android-guide.md +250 -0
  73. package/pipeline/commands/multi-agent/refs/audit-guide.md +240 -0
  74. package/pipeline/commands/multi-agent/refs/backend-guide.md +135 -0
  75. package/pipeline/commands/multi-agent/refs/channels/confluence.md +153 -0
  76. package/pipeline/commands/multi-agent/refs/channels/issue-comment.md +141 -0
  77. package/pipeline/commands/multi-agent/refs/channels/jira.md +127 -0
  78. package/pipeline/commands/multi-agent/refs/channels/pr-review-actions.md +135 -0
  79. package/pipeline/commands/multi-agent/refs/channels/pr.md +139 -0
  80. package/pipeline/commands/multi-agent/refs/channels/wiki.md +66 -0
  81. package/pipeline/commands/multi-agent/refs/component-dispatch.md +92 -0
  82. package/pipeline/commands/multi-agent/refs/cross-cli-contract.md +326 -0
  83. package/pipeline/commands/multi-agent/refs/frontend-guide.md +136 -0
  84. package/pipeline/commands/multi-agent/refs/issue-jira-triad.md +104 -0
  85. package/pipeline/commands/multi-agent/refs/keychain.md +80 -0
  86. package/pipeline/commands/multi-agent/refs/knowledge.md +112 -0
  87. package/pipeline/commands/multi-agent/refs/multi-repo-integration-build.md +207 -0
  88. package/pipeline/commands/multi-agent/refs/phases/log-format.md +89 -0
  89. package/pipeline/commands/multi-agent/refs/phases/modes.md +156 -0
  90. package/pipeline/commands/multi-agent/refs/phases/operations.md +91 -0
  91. package/pipeline/commands/multi-agent/refs/phases/phase-0-init.md +481 -0
  92. package/pipeline/commands/multi-agent/refs/phases/phase-1-analysis.md +264 -0
  93. package/pipeline/commands/multi-agent/refs/phases/phase-2-planning.md +278 -0
  94. package/pipeline/commands/multi-agent/refs/phases/phase-3-dev.md +364 -0
  95. package/pipeline/commands/multi-agent/refs/phases/phase-4-review.md +378 -0
  96. package/pipeline/commands/multi-agent/refs/phases/phase-5-test.md +129 -0
  97. package/pipeline/commands/multi-agent/refs/phases/phase-6-commit.md +339 -0
  98. package/pipeline/commands/multi-agent/refs/phases/phase-7-report.md +361 -0
  99. package/pipeline/commands/multi-agent/refs/phases.md +187 -0
  100. package/pipeline/commands/multi-agent/refs/progress-contract.md +155 -0
  101. package/pipeline/commands/multi-agent/refs/rules.md +189 -0
  102. package/pipeline/commands/multi-agent/refs/swiftui-guide.md +254 -0
  103. package/pipeline/commands/multi-agent/refs/tracker-contract.md +256 -0
  104. package/pipeline/commands/multi-agent/refs/wiki-capture.md +109 -0
  105. package/pipeline/commands/multi-agent/resume.md +28 -0
  106. package/pipeline/commands/multi-agent/review.md +228 -0
  107. package/pipeline/commands/multi-agent/scan.md +74 -0
  108. package/pipeline/commands/multi-agent/search.md +97 -0
  109. package/pipeline/commands/multi-agent/setup.md +767 -0
  110. package/pipeline/commands/multi-agent/stack.md +48 -0
  111. package/pipeline/commands/multi-agent/status.md +38 -0
  112. package/pipeline/commands/multi-agent/sync.md +319 -0
  113. package/pipeline/commands/multi-agent/test.md +39 -0
  114. package/pipeline/commands/multi-agent/update.md +88 -0
  115. package/pipeline/commands/multi-agent.md +293 -0
  116. package/pipeline/commands/security-review.md +6 -0
  117. package/pipeline/commands/sim-test.md +256 -0
  118. package/pipeline/eval/golden-tasks/01-ios-bugfix-darkmode/expected/phase-1-analysis.json +25 -0
  119. package/pipeline/eval/golden-tasks/01-ios-bugfix-darkmode/expected/phase-2-plan.json +30 -0
  120. package/pipeline/eval/golden-tasks/01-ios-bugfix-darkmode/expected/phase-4-review.json +20 -0
  121. package/pipeline/eval/golden-tasks/01-ios-bugfix-darkmode/expected/phase-4-triage.json +15 -0
  122. package/pipeline/eval/golden-tasks/01-ios-bugfix-darkmode/metadata.json +14 -0
  123. package/pipeline/eval/golden-tasks/01-ios-bugfix-darkmode/task.json +12 -0
  124. package/pipeline/eval/golden-tasks/02-android-feature-compose/expected/phase-1-analysis.json +29 -0
  125. package/pipeline/eval/golden-tasks/02-android-feature-compose/expected/phase-2-plan.json +43 -0
  126. package/pipeline/eval/golden-tasks/02-android-feature-compose/expected/phase-4-review.json +35 -0
  127. package/pipeline/eval/golden-tasks/02-android-feature-compose/expected/phase-4-triage.json +35 -0
  128. package/pipeline/eval/golden-tasks/02-android-feature-compose/metadata.json +14 -0
  129. package/pipeline/eval/golden-tasks/02-android-feature-compose/task.json +12 -0
  130. package/pipeline/eval/golden-tasks/README.md +65 -0
  131. package/pipeline/eval/triage/01-empty-findings/expected.json +6 -0
  132. package/pipeline/eval/triage/01-empty-findings/input.json +5 -0
  133. package/pipeline/eval/triage/01-empty-findings/notes.md +7 -0
  134. package/pipeline/eval/triage/02-real-blocker/expected.json +15 -0
  135. package/pipeline/eval/triage/02-real-blocker/input.json +14 -0
  136. package/pipeline/eval/triage/02-real-blocker/notes.md +7 -0
  137. package/pipeline/eval/triage/03-out-of-scope-defer/expected.json +18 -0
  138. package/pipeline/eval/triage/03-out-of-scope-defer/input.json +14 -0
  139. package/pipeline/eval/triage/03-out-of-scope-defer/notes.md +10 -0
  140. package/pipeline/eval/triage/04-false-positive-reject/expected.json +18 -0
  141. package/pipeline/eval/triage/04-false-positive-reject/input.json +14 -0
  142. package/pipeline/eval/triage/04-false-positive-reject/notes.md +10 -0
  143. package/pipeline/eval/triage/05-mixed-classification/expected.json +43 -0
  144. package/pipeline/eval/triage/05-mixed-classification/input.json +38 -0
  145. package/pipeline/eval/triage/05-mixed-classification/notes.md +17 -0
  146. package/pipeline/eval/triage/06-severity-mismatch/expected.json +15 -0
  147. package/pipeline/eval/triage/06-severity-mismatch/input.json +14 -0
  148. package/pipeline/eval/triage/06-severity-mismatch/notes.md +9 -0
  149. package/pipeline/eval/triage/07-duplicate-reviewers/expected.json +27 -0
  150. package/pipeline/eval/triage/07-duplicate-reviewers/input.json +22 -0
  151. package/pipeline/eval/triage/07-duplicate-reviewers/notes.md +9 -0
  152. package/pipeline/eval/triage/08-style-misclassified/expected.json +18 -0
  153. package/pipeline/eval/triage/08-style-misclassified/input.json +14 -0
  154. package/pipeline/eval/triage/08-style-misclassified/notes.md +9 -0
  155. package/pipeline/eval/triage/09-cascading-finding/expected.json +23 -0
  156. package/pipeline/eval/triage/09-cascading-finding/input.json +22 -0
  157. package/pipeline/eval/triage/09-cascading-finding/notes.md +9 -0
  158. package/pipeline/eval/triage/10-deferred-crossref/expected.json +18 -0
  159. package/pipeline/eval/triage/10-deferred-crossref/input.json +14 -0
  160. package/pipeline/eval/triage/10-deferred-crossref/notes.md +9 -0
  161. package/pipeline/eval/triage/11-vercel-token-leak-blocker/expected.json +27 -0
  162. package/pipeline/eval/triage/11-vercel-token-leak-blocker/input.json +22 -0
  163. package/pipeline/eval/triage/11-vercel-token-leak-blocker/notes.md +14 -0
  164. package/pipeline/eval/triage/README.md +54 -0
  165. package/pipeline/lib/account-resolver.sh +204 -0
  166. package/pipeline/lib/channels-multi-repo.sh +218 -0
  167. package/pipeline/lib/context-link-extractor.sh +192 -0
  168. package/pipeline/lib/credential-store-resolver.sh +57 -0
  169. package/pipeline/lib/credential-store.sh +226 -0
  170. package/pipeline/lib/fetch-confluence.sh +358 -0
  171. package/pipeline/lib/fetch-crashlytics.sh +314 -0
  172. package/pipeline/lib/fetch-fortify.sh +321 -0
  173. package/pipeline/lib/fetch-swagger.sh +270 -0
  174. package/pipeline/lib/issue-fetcher.sh +333 -0
  175. package/pipeline/lib/multi-repo-pipeline.sh +252 -0
  176. package/pipeline/lib/plan-todos.sh +284 -0
  177. package/pipeline/lib/post-pr-review.sh +374 -0
  178. package/pipeline/lib/repo-cache.sh +231 -0
  179. package/pipeline/lib/review-watch.sh +244 -0
  180. package/pipeline/lib/shadow-git.sh +222 -0
  181. package/pipeline/lib/submodule-detector.sh +177 -0
  182. package/pipeline/lib/vercel-deploy.sh +170 -0
  183. package/pipeline/preferences-template.json +132 -0
  184. package/pipeline/rules/app-store-guidelines.md +59 -0
  185. package/pipeline/rules/code-review.md +27 -0
  186. package/pipeline/rules/code-style.md +37 -0
  187. package/pipeline/rules/debugging.md +24 -0
  188. package/pipeline/rules/figma-pipeline.md +190 -0
  189. package/pipeline/rules/git-conventions.md +29 -0
  190. package/pipeline/rules/kotlin-android.md +92 -0
  191. package/pipeline/rules/performance.md +23 -0
  192. package/pipeline/rules/security.md +39 -0
  193. package/pipeline/rules/swiftui-qa.md +32 -0
  194. package/pipeline/rules/tdd.md +25 -0
  195. package/pipeline/rules/testing.md +37 -0
  196. package/pipeline/schemas/agent-state.schema.json +273 -0
  197. package/pipeline/schemas/analysis-output.schema.json +59 -0
  198. package/pipeline/schemas/clarify-output.schema.json +74 -0
  199. package/pipeline/schemas/dev-critic-output.schema.json +104 -0
  200. package/pipeline/schemas/diff-risk.schema.json +78 -0
  201. package/pipeline/schemas/figma-project-config.schema.json +372 -0
  202. package/pipeline/schemas/migrations/README.md +73 -0
  203. package/pipeline/schemas/migrations/figma-config-1.0.0-to-2.0.0.mjs +112 -0
  204. package/pipeline/schemas/migrations/prefs-2.0.0-to-2.1.0.mjs +75 -0
  205. package/pipeline/schemas/migrations/prefs-2.1.0-to-2.2.0.mjs +64 -0
  206. package/pipeline/schemas/migrations/prefs-2.2.0-to-2.3.0.mjs +36 -0
  207. package/pipeline/schemas/migrations/state-2.0.0-to-2.1.0.mjs +34 -0
  208. package/pipeline/schemas/plan-todos.schema.json +62 -0
  209. package/pipeline/schemas/planning-output.schema.json +57 -0
  210. package/pipeline/schemas/prefs.schema.json +1137 -0
  211. package/pipeline/schemas/reviewer-output.schema.json +55 -0
  212. package/pipeline/schemas/test-gap.schema.json +64 -0
  213. package/pipeline/schemas/token-budget.json +17 -0
  214. package/pipeline/schemas/triage-corpus.schema.json +31 -0
  215. package/pipeline/schemas/triage-output.schema.json +115 -0
  216. package/pipeline/scripts/.last-figma-sync-plan.json +23 -0
  217. package/pipeline/scripts/README-figma-smokes.md +34 -0
  218. package/pipeline/scripts/README.md +104 -0
  219. package/pipeline/scripts/aggregate-metrics.mjs +310 -0
  220. package/pipeline/scripts/audit-log-rotate.sh +61 -0
  221. package/pipeline/scripts/audit-log.sh +69 -0
  222. package/pipeline/scripts/benchmark-phase-0.sh +128 -0
  223. package/pipeline/scripts/build-skills-index.mjs +139 -0
  224. package/pipeline/scripts/classify-plan-safety.mjs +177 -0
  225. package/pipeline/scripts/cost-table.json +27 -0
  226. package/pipeline/scripts/diff-explain.mjs +276 -0
  227. package/pipeline/scripts/diff-risk-score.mjs +328 -0
  228. package/pipeline/scripts/eval-golden-tasks-live.mjs +294 -0
  229. package/pipeline/scripts/eval-golden-tasks.mjs +223 -0
  230. package/pipeline/scripts/eval-triage.mjs +171 -0
  231. package/pipeline/scripts/figma-placeholder-map.json +191 -0
  232. package/pipeline/scripts/fixtures/diff-risk-android.diff +40 -0
  233. package/pipeline/scripts/fixtures/diff-risk-ios.diff +48 -0
  234. package/pipeline/scripts/fixtures/install-layout.tsv +16 -0
  235. package/pipeline/scripts/fixtures/test-gap-node.diff +30 -0
  236. package/pipeline/scripts/fixtures/test-gap-python.diff +32 -0
  237. package/pipeline/scripts/gen-mode-dispatch.mjs +170 -0
  238. package/pipeline/scripts/gen-skills-index.mjs +90 -0
  239. package/pipeline/scripts/github-ssh-setup.sh +103 -0
  240. package/pipeline/scripts/import-figma-skills.sh +253 -0
  241. package/pipeline/scripts/keychain-save.sh +74 -0
  242. package/pipeline/scripts/keychain.py +294 -0
  243. package/pipeline/scripts/log-metric.sh +98 -0
  244. package/pipeline/scripts/match-skills.mjs +167 -0
  245. package/pipeline/scripts/memory-load.sh +46 -0
  246. package/pipeline/scripts/memory-save.sh +76 -0
  247. package/pipeline/scripts/migrate-prefs.mjs +390 -0
  248. package/pipeline/scripts/migrate-state.mjs +215 -0
  249. package/pipeline/scripts/output-quality-check.sh +125 -0
  250. package/pipeline/scripts/phase-banner.sh +158 -0
  251. package/pipeline/scripts/phase-tracker.sh +548 -0
  252. package/pipeline/scripts/pre-commit-check.sh +69 -0
  253. package/pipeline/scripts/pre-push-check.sh +77 -0
  254. package/pipeline/scripts/render-agent-log-cost.sh +149 -0
  255. package/pipeline/scripts/render-cost-summary.sh +137 -0
  256. package/pipeline/scripts/render-work-summary.sh +195 -0
  257. package/pipeline/scripts/repo-map.mjs +367 -0
  258. package/pipeline/scripts/run-aggregator.mjs +298 -0
  259. package/pipeline/scripts/scan-skills.sh +332 -0
  260. package/pipeline/scripts/search-logs.sh +291 -0
  261. package/pipeline/scripts/sign-skills.sh +67 -0
  262. package/pipeline/scripts/smoke-adapters.sh +207 -0
  263. package/pipeline/scripts/smoke-add-detail.sh +137 -0
  264. package/pipeline/scripts/smoke-agent-log-cost.sh +183 -0
  265. package/pipeline/scripts/smoke-agent-model-routing.sh +87 -0
  266. package/pipeline/scripts/smoke-bitbucket-contract.sh +223 -0
  267. package/pipeline/scripts/smoke-channels-flow.sh +130 -0
  268. package/pipeline/scripts/smoke-ci-workflows.sh +88 -0
  269. package/pipeline/scripts/smoke-clarify.sh +148 -0
  270. package/pipeline/scripts/smoke-commands-skills-parity.sh +87 -0
  271. package/pipeline/scripts/smoke-compliance-skills.sh +119 -0
  272. package/pipeline/scripts/smoke-cost-summary.sh +139 -0
  273. package/pipeline/scripts/smoke-cross-cli-behavior.sh +198 -0
  274. package/pipeline/scripts/smoke-cross-phase-cohesion.sh +128 -0
  275. package/pipeline/scripts/smoke-delete-flow.sh +151 -0
  276. package/pipeline/scripts/smoke-dev-critic.sh +144 -0
  277. package/pipeline/scripts/smoke-diff-explain.sh +128 -0
  278. package/pipeline/scripts/smoke-diff-risk.sh +161 -0
  279. package/pipeline/scripts/smoke-dynamic-skill-loading.sh +160 -0
  280. package/pipeline/scripts/smoke-eval-live.sh +136 -0
  281. package/pipeline/scripts/smoke-existing-discovery-gate.sh +71 -0
  282. package/pipeline/scripts/smoke-figma-android-parity.sh +148 -0
  283. package/pipeline/scripts/smoke-figma-config-schema.sh +144 -0
  284. package/pipeline/scripts/smoke-figma-credential-store.sh +105 -0
  285. package/pipeline/scripts/smoke-figma-cross-cli-inventory.sh +177 -0
  286. package/pipeline/scripts/smoke-figma-dispatch.sh +123 -0
  287. package/pipeline/scripts/smoke-figma-skill-import.sh +174 -0
  288. package/pipeline/scripts/smoke-figma-sync.sh +149 -0
  289. package/pipeline/scripts/smoke-identity-isolation.sh +70 -0
  290. package/pipeline/scripts/smoke-install-layout.sh +241 -0
  291. package/pipeline/scripts/smoke-install-leak-gate.sh +125 -0
  292. package/pipeline/scripts/smoke-issue-comment-template.sh +86 -0
  293. package/pipeline/scripts/smoke-issue-jira-triad.sh +120 -0
  294. package/pipeline/scripts/smoke-keychain.sh +158 -0
  295. package/pipeline/scripts/smoke-language-axis.sh +109 -0
  296. package/pipeline/scripts/smoke-lib-scripts.sh +395 -0
  297. package/pipeline/scripts/smoke-migrate-state.sh +102 -0
  298. package/pipeline/scripts/smoke-mode-dispatch-drift.sh +158 -0
  299. package/pipeline/scripts/smoke-multi-repo-integration.sh +116 -0
  300. package/pipeline/scripts/smoke-multi-repo-worktree.sh +61 -0
  301. package/pipeline/scripts/smoke-no-token-prompt.sh +69 -0
  302. package/pipeline/scripts/smoke-pat-audit.sh +107 -0
  303. package/pipeline/scripts/smoke-per-repo-memory.sh +156 -0
  304. package/pipeline/scripts/smoke-personal-data.sh +82 -0
  305. package/pipeline/scripts/smoke-phase-0-multi-repo.sh +170 -0
  306. package/pipeline/scripts/smoke-phase-6-multi.sh +79 -0
  307. package/pipeline/scripts/smoke-phase-banner.sh +101 -0
  308. package/pipeline/scripts/smoke-phase-tracker.sh +255 -0
  309. package/pipeline/scripts/smoke-phase0-bridge-contract.sh +241 -0
  310. package/pipeline/scripts/smoke-phase4-triage.sh +142 -0
  311. package/pipeline/scripts/smoke-plan-approval-gate.sh +71 -0
  312. package/pipeline/scripts/smoke-plan-safety.sh +139 -0
  313. package/pipeline/scripts/smoke-plan-todos.sh +193 -0
  314. package/pipeline/scripts/smoke-pr-review-actions.sh +152 -0
  315. package/pipeline/scripts/smoke-pre-commit.sh +138 -0
  316. package/pipeline/scripts/smoke-pref-migration.sh +224 -0
  317. package/pipeline/scripts/smoke-prefs-language.sh +134 -0
  318. package/pipeline/scripts/smoke-progress-contract.sh +118 -0
  319. package/pipeline/scripts/smoke-push-retry.sh +75 -0
  320. package/pipeline/scripts/smoke-readme-counts.sh +120 -0
  321. package/pipeline/scripts/smoke-repo-map.sh +300 -0
  322. package/pipeline/scripts/smoke-review-watch.sh +134 -0
  323. package/pipeline/scripts/smoke-run-aggregator.sh +216 -0
  324. package/pipeline/scripts/smoke-schema-validation.sh +173 -0
  325. package/pipeline/scripts/smoke-search.sh +187 -0
  326. package/pipeline/scripts/smoke-shadow-git.sh +175 -0
  327. package/pipeline/scripts/smoke-skill-authoring.sh +142 -0
  328. package/pipeline/scripts/smoke-skill-language.sh +83 -0
  329. package/pipeline/scripts/smoke-skill-manifest.sh +138 -0
  330. package/pipeline/scripts/smoke-skill-scan.sh +198 -0
  331. package/pipeline/scripts/smoke-stack-swap.sh +132 -0
  332. package/pipeline/scripts/smoke-subagent-validators.sh +105 -0
  333. package/pipeline/scripts/smoke-sync-delegation.sh +74 -0
  334. package/pipeline/scripts/smoke-sync-parity.sh +92 -0
  335. package/pipeline/scripts/smoke-tasklist-ordering.sh +111 -0
  336. package/pipeline/scripts/smoke-telemetry.sh +147 -0
  337. package/pipeline/scripts/smoke-test-gap.sh +183 -0
  338. package/pipeline/scripts/smoke-token-budget.sh +67 -0
  339. package/pipeline/scripts/smoke-tracker-contract.sh +129 -0
  340. package/pipeline/scripts/smoke-tracker-tokens-invocation.sh +65 -0
  341. package/pipeline/scripts/smoke-triage-memory.sh +174 -0
  342. package/pipeline/scripts/smoke-url-enrichment.sh +70 -0
  343. package/pipeline/scripts/smoke-validator-contradiction.sh +67 -0
  344. package/pipeline/scripts/smoke-vercel-deploy-redact.sh +129 -0
  345. package/pipeline/scripts/smoke-wiki-integration.sh +146 -0
  346. package/pipeline/scripts/smoke-work-summary.sh +163 -0
  347. package/pipeline/scripts/smoke-worktree-path-convention.sh +86 -0
  348. package/pipeline/scripts/smoke-write-state.sh +115 -0
  349. package/pipeline/scripts/stack-swap.sh +182 -0
  350. package/pipeline/scripts/sync-figma-source.sh +228 -0
  351. package/pipeline/scripts/sync-parity-check.sh +135 -0
  352. package/pipeline/scripts/test-gap-rules/android.json +25 -0
  353. package/pipeline/scripts/test-gap-rules/ios.json +29 -0
  354. package/pipeline/scripts/test-gap-rules/node.json +17 -0
  355. package/pipeline/scripts/test-gap-rules/python.json +19 -0
  356. package/pipeline/scripts/test-gap-scan.mjs +343 -0
  357. package/pipeline/scripts/token-budget-report.mjs +145 -0
  358. package/pipeline/scripts/triage-memory.mjs +258 -0
  359. package/pipeline/scripts/ui-tree-dumper.swift +122 -0
  360. package/pipeline/scripts/uninstall.mjs +331 -0
  361. package/pipeline/scripts/update-issue-progress.sh +146 -0
  362. package/pipeline/scripts/validate-analysis.mjs +132 -0
  363. package/pipeline/scripts/validate-diff-risk.mjs +117 -0
  364. package/pipeline/scripts/validate-planning.mjs +180 -0
  365. package/pipeline/scripts/validate-reviewer.mjs +131 -0
  366. package/pipeline/scripts/validate-schemas.mjs +88 -0
  367. package/pipeline/scripts/validate-test-gap.mjs +90 -0
  368. package/pipeline/scripts/validate-triage.mjs +175 -0
  369. package/pipeline/scripts/verify-skills.sh +126 -0
  370. package/pipeline/scripts/write-state.mjs +175 -0
  371. package/pipeline/skills/.skill-manifest.json +779 -0
  372. package/pipeline/skills/.skills-index.json +1771 -0
  373. package/pipeline/skills/figma-android/README.md +36 -0
  374. package/pipeline/skills/figma-android/figma-component-code-connect/SKILL.md +62 -0
  375. package/pipeline/skills/figma-android/figma-component-implement/SKILL.md +158 -0
  376. package/pipeline/skills/figma-android/figma-component-test/SKILL.md +120 -0
  377. package/pipeline/skills/figma-android/figma-component-wiki/SKILL.md +35 -0
  378. package/pipeline/skills/figma-android/figma-to-component/SKILL.md +124 -0
  379. package/pipeline/skills/figma-common/README.md +57 -0
  380. package/pipeline/skills/figma-common/figma-cli-iterate/SKILL.md +277 -0
  381. package/pipeline/skills/figma-common/figma-cli-iterate-mend/SKILL.md +498 -0
  382. package/pipeline/skills/figma-common/figma-cli-lean-iterate/SKILL.md +283 -0
  383. package/pipeline/skills/figma-common/figma-cli-skip/SKILL.md +362 -0
  384. package/pipeline/skills/figma-common/figma-commit/COMMON_REBASE.md +206 -0
  385. package/pipeline/skills/figma-common/figma-commit/REVIEW.md +337 -0
  386. package/pipeline/skills/figma-common/figma-commit/SKILL.md +211 -0
  387. package/pipeline/skills/figma-common/figma-component-confluence-sync/SKILL.md +218 -0
  388. package/pipeline/skills/figma-common/figma-component-start/SKILL.md +246 -0
  389. package/pipeline/skills/figma-common/figma-component-status-update/SKILL.md +73 -0
  390. package/pipeline/skills/figma-common/figma-fix/SKILL.md +316 -0
  391. package/pipeline/skills/figma-common/figma-form-integration/SKILL.md +542 -0
  392. package/pipeline/skills/figma-common/figma-issue/SKILL.md +745 -0
  393. package/pipeline/skills/figma-common/figma-iterate/SKILL.md +203 -0
  394. package/pipeline/skills/figma-common/figma-iteration-commit/SKILL.md +1015 -0
  395. package/pipeline/skills/figma-common/figma-mend/SKILL.md +331 -0
  396. package/pipeline/skills/figma-common/figma-price-integration/SKILL.md +398 -0
  397. package/pipeline/skills/figma-common/figma-remote-mcp-auth/SKILL.md +104 -0
  398. package/pipeline/skills/figma-common/figma-review/SKILL.md +395 -0
  399. package/pipeline/skills/figma-common/figma-setup/SKILL.md +514 -0
  400. package/pipeline/skills/figma-common/figma-setup/scripts/fetch-mcp-token.py +592 -0
  401. package/pipeline/skills/figma-common/figma-skip/SKILL.md +129 -0
  402. package/pipeline/skills/figma-common/figma-ui-patterns/SKILL.md +104 -0
  403. package/pipeline/skills/figma-common/figma-utility/SKILL.md +274 -0
  404. package/pipeline/skills/figma-common/figma-utility/scripts/figma-utility.py +808 -0
  405. package/pipeline/skills/figma-common/figma-validate/SKILL.md +633 -0
  406. package/pipeline/skills/figma-common/performance-iteration-commit-all/SKILL.md +711 -0
  407. package/pipeline/skills/figma-common/performance-review-next/SKILL.md +233 -0
  408. package/pipeline/skills/figma-common/performance-start/SKILL.md +425 -0
  409. package/pipeline/skills/figma-common/performance-swiftui/SKILL.md +706 -0
  410. package/pipeline/skills/figma-common/performance-tour/SKILL.md +418 -0
  411. package/pipeline/skills/figma-ios/REVIEW_CHECKLIST.md +67 -0
  412. package/pipeline/skills/figma-ios/figma-component-code-connect/SKILL.md +178 -0
  413. package/pipeline/skills/figma-ios/figma-component-implement/SKILL.md +184 -0
  414. package/pipeline/skills/figma-ios/figma-component-test/SKILL.md +219 -0
  415. package/pipeline/skills/figma-ios/figma-component-wiki/SKILL.md +274 -0
  416. package/pipeline/skills/figma-ios/figma-to-component/SKILL.md +401 -0
  417. package/pipeline/skills/figma-ios/figma-to-component/halt-return-protocol.md +57 -0
  418. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-0-init.md +307 -0
  419. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-1-gathering.md +119 -0
  420. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-1.5-existing-discovery.md +174 -0
  421. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2-orchestrator.md +333 -0
  422. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2a-testing-identifiers.md +368 -0
  423. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2b-localization.md +393 -0
  424. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2c-accessibility.md +617 -0
  425. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2d-analytics.md +352 -0
  426. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3-orchestrator.md +337 -0
  427. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3a-location.md +206 -0
  428. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3b-tokens.md +235 -0
  429. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3c-nested.md +214 -0
  430. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3d-patterns.md +871 -0
  431. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3e-assets.md +156 -0
  432. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3f-utilities.md +175 -0
  433. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3g-property-coverage.md +176 -0
  434. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3h-variant-config.md +333 -0
  435. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4-orchestrator.md +412 -0
  436. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4a-configuration.md +336 -0
  437. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4b-view.md +695 -0
  438. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4c-documentation.md +332 -0
  439. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4d-preview.md +380 -0
  440. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4e-modifiers.md +262 -0
  441. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5-orchestrator.md +482 -0
  442. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5a-viewinspector.md +274 -0
  443. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5b-snapshot.md +636 -0
  444. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5c-unit.md +142 -0
  445. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-6-code-connect.md +547 -0
  446. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-7-wiki.md +39 -0
  447. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-7a-confluence-generate.md +659 -0
  448. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-7a-wiki-generate.md +580 -0
  449. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-8-cleanup.md +51 -0
  450. package/pipeline/skills/figma-ios/figma-to-component/reference/accessibility.md +129 -0
  451. package/pipeline/skills/figma-ios/figma-to-component/reference/analytics-events.md +64 -0
  452. package/pipeline/skills/figma-ios/figma-to-component/reference/code-connect.md +531 -0
  453. package/pipeline/skills/figma-ios/figma-to-component/reference/confluence-api.md +89 -0
  454. package/pipeline/skills/figma-ios/figma-to-component/reference/confluence-xhtml.md +155 -0
  455. package/pipeline/skills/figma-ios/figma-to-component/reference/figma-to-swiftui-effects.md +196 -0
  456. package/pipeline/skills/figma-ios/figma-to-component/reference/halt-return-protocol.md +57 -0
  457. package/pipeline/skills/figma-ios/figma-to-component/reference/localization-naming.md +89 -0
  458. package/pipeline/skills/figma-ios/figma-to-component/reference/macros.md +227 -0
  459. package/pipeline/skills/figma-ios/figma-to-component/reference/missing-tokens.md +157 -0
  460. package/pipeline/skills/figma-ios/figma-to-component/reference/orchestrator-discipline.md +90 -0
  461. package/pipeline/skills/figma-ios/figma-to-component/reference/registry.md +116 -0
  462. package/pipeline/skills/figma-ios/figma-to-component/reference/remote-mcp-script.md +153 -0
  463. package/pipeline/skills/figma-ios/figma-to-component/reference/rest-api-script.md +130 -0
  464. package/pipeline/skills/figma-ios/figma-to-component/reference/scripts-inventory.md +218 -0
  465. package/pipeline/skills/figma-ios/figma-to-component/reference/snapshot-testing.md +188 -0
  466. package/pipeline/skills/figma-ios/figma-to-component/reference/subcomponent-graph.md +93 -0
  467. package/pipeline/skills/figma-ios/figma-to-component/reference/testing-identifiers-naming.md +98 -0
  468. package/pipeline/skills/figma-ios/figma-to-component/reference/tools.md +261 -0
  469. package/pipeline/skills/figma-ios/figma-to-component/reference/viewinspector.md +147 -0
  470. package/pipeline/skills/figma-ios/figma-to-component/reference/wiki-to-confluence-mapping.md +182 -0
  471. package/pipeline/skills/figma-ios/figma-to-component/scripts/apply-author-login-map.py +185 -0
  472. package/pipeline/skills/figma-ios/figma-to-component/scripts/backfill-status.py +609 -0
  473. package/pipeline/skills/figma-ios/figma-to-component/scripts/build-author-registry.py +332 -0
  474. package/pipeline/skills/figma-ios/figma-to-component/scripts/bulk-sync-issues.py +261 -0
  475. package/pipeline/skills/figma-ios/figma-to-component/scripts/code-connect-data-gather.py +184 -0
  476. package/pipeline/skills/figma-ios/figma-to-component/scripts/code-connect-publish.sh +188 -0
  477. package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-component-status-upload.py +768 -0
  478. package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-component-status.py +191 -0
  479. package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-data-gather.py +420 -0
  480. package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-page-ids.json +94 -0
  481. package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-publish.py +336 -0
  482. package/pipeline/skills/figma-ios/figma-to-component/scripts/figma-subcomponent-graph.py +391 -0
  483. package/pipeline/skills/figma-ios/figma-to-component/scripts/figma-update.py +292 -0
  484. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/__init__.py +1 -0
  485. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/issue_sync_propagate.py +93 -0
  486. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/registry_writer.py +299 -0
  487. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_backfill_status.py +343 -0
  488. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_figma_update.py +206 -0
  489. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_figma_update_http.py +149 -0
  490. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_phase_clis.py +281 -0
  491. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_registry_writer.py +332 -0
  492. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_skill_figma_issue.py +176 -0
  493. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_skill_figma_review.py +98 -0
  494. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_update_issue.py +298 -0
  495. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_update_issue_gh.py +195 -0
  496. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase1-gather.py +1298 -0
  497. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase2-finalize.py +228 -0
  498. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase3-scripts.py +1089 -0
  499. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase4-finalize.py +141 -0
  500. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase5-finalize.py +106 -0
  501. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase6-finalize.py +162 -0
  502. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase7-finalize.py +105 -0
  503. package/pipeline/skills/figma-ios/figma-to-component/scripts/register-icons-codeconnect.py +179 -0
  504. package/pipeline/skills/figma-ios/figma-to-component/scripts/remote-mcp-fetch.py +260 -0
  505. package/pipeline/skills/figma-ios/figma-to-component/scripts/resolve-author-logins.py +260 -0
  506. package/pipeline/skills/figma-ios/figma-to-component/scripts/run-uicomponents-tests.sh +86 -0
  507. package/pipeline/skills/figma-ios/figma-to-component/scripts/sidebar-generator.py +321 -0
  508. package/pipeline/skills/figma-ios/figma-to-component/scripts/update-issue-from-registry.py +1470 -0
  509. package/pipeline/skills/figma-ios/figma-to-component/scripts/validate-phase4.sh +176 -0
  510. package/pipeline/skills/figma-ios/figma-to-component/scripts/validate-phase6.sh +147 -0
  511. package/pipeline/skills/figma-ios/figma-to-component/scripts/validate-phase7a.py +629 -0
  512. package/pipeline/skills/shared/README.md +212 -0
  513. package/pipeline/skills/shared/core/apple-archive-compliance/SKILL.md +315 -0
  514. package/pipeline/skills/shared/core/google-play-compliance/SKILL.md +348 -0
  515. package/pipeline/skills/shared/core/multi-agent/SKILL.md +944 -0
  516. package/pipeline/skills/shared/core/multi-agent-autopilot/SKILL.md +51 -0
  517. package/pipeline/skills/shared/core/multi-agent-channels/SKILL.md +300 -0
  518. package/pipeline/skills/shared/core/multi-agent-delete/SKILL.md +63 -0
  519. package/pipeline/skills/shared/core/multi-agent-dev/SKILL.md +64 -0
  520. package/pipeline/skills/shared/core/multi-agent-dev-autopilot/SKILL.md +56 -0
  521. package/pipeline/skills/shared/core/multi-agent-dev-local/SKILL.md +36 -0
  522. package/pipeline/skills/shared/core/multi-agent-dev-local-autopilot/SKILL.md +42 -0
  523. package/pipeline/skills/shared/core/multi-agent-diff-explain/SKILL.md +66 -0
  524. package/pipeline/skills/shared/core/multi-agent-help/SKILL.md +292 -0
  525. package/pipeline/skills/shared/core/multi-agent-issue/SKILL.md +35 -0
  526. package/pipeline/skills/shared/core/multi-agent-jira/SKILL.md +38 -0
  527. package/pipeline/skills/shared/core/multi-agent-kill/SKILL.md +41 -0
  528. package/pipeline/skills/shared/core/multi-agent-language/SKILL.md +87 -0
  529. package/pipeline/skills/shared/core/multi-agent-local/SKILL.md +37 -0
  530. package/pipeline/skills/shared/core/multi-agent-local-autopilot/SKILL.md +53 -0
  531. package/pipeline/skills/shared/core/multi-agent-log/SKILL.md +28 -0
  532. package/pipeline/skills/shared/core/multi-agent-manual-test/SKILL.md +47 -0
  533. package/pipeline/skills/shared/core/multi-agent-purge/SKILL.md +42 -0
  534. package/pipeline/skills/shared/core/multi-agent-refactor/SKILL.md +191 -0
  535. package/pipeline/skills/shared/core/multi-agent-resume/SKILL.md +31 -0
  536. package/pipeline/skills/shared/core/multi-agent-review/SKILL.md +61 -0
  537. package/pipeline/skills/shared/core/multi-agent-scan/SKILL.md +61 -0
  538. package/pipeline/skills/shared/core/multi-agent-search/SKILL.md +62 -0
  539. package/pipeline/skills/shared/core/multi-agent-setup/SKILL.md +309 -0
  540. package/pipeline/skills/shared/core/multi-agent-stack/SKILL.md +55 -0
  541. package/pipeline/skills/shared/core/multi-agent-status/SKILL.md +41 -0
  542. package/pipeline/skills/shared/core/multi-agent-sync/SKILL.md +184 -0
  543. package/pipeline/skills/shared/core/multi-agent-test/SKILL.md +44 -0
  544. package/pipeline/skills/shared/core/multi-agent-update/SKILL.md +34 -0
  545. package/pipeline/skills/shared/external/accessibility-compliance-accessibility-audit/SKILL.md +45 -0
  546. package/pipeline/skills/shared/external/agentflow/SKILL.md +199 -0
  547. package/pipeline/skills/shared/external/alarmkit/SKILL.md +438 -0
  548. package/pipeline/skills/shared/external/alarmkit/references/alarmkit-patterns.md +584 -0
  549. package/pipeline/skills/shared/external/android-architecture/SKILL.md +407 -0
  550. package/pipeline/skills/shared/external/android-jetpack-compose-expert/SKILL.md +153 -0
  551. package/pipeline/skills/shared/external/android-performance/SKILL.md +736 -0
  552. package/pipeline/skills/shared/external/android-security/SKILL.md +577 -0
  553. package/pipeline/skills/shared/external/android_ui_verification/SKILL.md +66 -0
  554. package/pipeline/skills/shared/external/api-patterns/SKILL.md +85 -0
  555. package/pipeline/skills/shared/external/api-security-best-practices/SKILL.md +910 -0
  556. package/pipeline/skills/shared/external/app-clips/SKILL.md +436 -0
  557. package/pipeline/skills/shared/external/app-intents/SKILL.md +489 -0
  558. package/pipeline/skills/shared/external/app-intents/references/appintents-advanced.md +1076 -0
  559. package/pipeline/skills/shared/external/app-store-changelog/SKILL.md +75 -0
  560. package/pipeline/skills/shared/external/app-store-optimization/SKILL.md +409 -0
  561. package/pipeline/skills/shared/external/app-store-review/SKILL.md +411 -0
  562. package/pipeline/skills/shared/external/app-store-review/references/code-signing.md +259 -0
  563. package/pipeline/skills/shared/external/app-store-review/references/privacy-manifest.md +90 -0
  564. package/pipeline/skills/shared/external/app-store-review/references/rejection-patterns.md +152 -0
  565. package/pipeline/skills/shared/external/app-store-review/references/review-checklists.md +118 -0
  566. package/pipeline/skills/shared/external/apple-on-device-ai/SKILL.md +500 -0
  567. package/pipeline/skills/shared/external/apple-on-device-ai/references/coreml-conversion.md +425 -0
  568. package/pipeline/skills/shared/external/apple-on-device-ai/references/coreml-optimization.md +344 -0
  569. package/pipeline/skills/shared/external/apple-on-device-ai/references/foundation-models.md +508 -0
  570. package/pipeline/skills/shared/external/apple-on-device-ai/references/mlx-swift.md +285 -0
  571. package/pipeline/skills/shared/external/architecture/SKILL.md +60 -0
  572. package/pipeline/skills/shared/external/authentication/SKILL.md +496 -0
  573. package/pipeline/skills/shared/external/authentication/references/keychain-biometric.md +211 -0
  574. package/pipeline/skills/shared/external/background-processing/SKILL.md +499 -0
  575. package/pipeline/skills/shared/external/background-processing/references/background-task-patterns.md +390 -0
  576. package/pipeline/skills/shared/external/callkit-voip/SKILL.md +461 -0
  577. package/pipeline/skills/shared/external/callkit-voip/references/callkit-patterns.md +425 -0
  578. package/pipeline/skills/shared/external/ci-cd-pipelines/SKILL.md +462 -0
  579. package/pipeline/skills/shared/external/clean-code/SKILL.md +94 -0
  580. package/pipeline/skills/shared/external/closed-loop-delivery/SKILL.md +116 -0
  581. package/pipeline/skills/shared/external/cloudkit-sync/SKILL.md +492 -0
  582. package/pipeline/skills/shared/external/cloudkit-sync/references/cloudkit-patterns.md +461 -0
  583. package/pipeline/skills/shared/external/compose-components/SKILL.md +441 -0
  584. package/pipeline/skills/shared/external/compose-navigation/SKILL.md +436 -0
  585. package/pipeline/skills/shared/external/compose-testing/SKILL.md +527 -0
  586. package/pipeline/skills/shared/external/contacts-framework/SKILL.md +425 -0
  587. package/pipeline/skills/shared/external/contacts-framework/references/contacts-patterns.md +409 -0
  588. package/pipeline/skills/shared/external/context-compression/SKILL.md +266 -0
  589. package/pipeline/skills/shared/external/core-bluetooth/SKILL.md +491 -0
  590. package/pipeline/skills/shared/external/core-bluetooth/references/ble-patterns.md +435 -0
  591. package/pipeline/skills/shared/external/core-motion/SKILL.md +388 -0
  592. package/pipeline/skills/shared/external/core-motion/references/motion-patterns.md +405 -0
  593. package/pipeline/skills/shared/external/core-nfc/SKILL.md +495 -0
  594. package/pipeline/skills/shared/external/core-nfc/references/nfc-patterns.md +420 -0
  595. package/pipeline/skills/shared/external/coreml/SKILL.md +458 -0
  596. package/pipeline/skills/shared/external/coreml/references/coreml-swift-integration.md +765 -0
  597. package/pipeline/skills/shared/external/css-modern/SKILL.md +467 -0
  598. package/pipeline/skills/shared/external/database-patterns/SKILL.md +335 -0
  599. package/pipeline/skills/shared/external/debugging-instruments/SKILL.md +422 -0
  600. package/pipeline/skills/shared/external/debugging-instruments/references/instruments-guide.md +387 -0
  601. package/pipeline/skills/shared/external/debugging-instruments/references/lldb-patterns.md +298 -0
  602. package/pipeline/skills/shared/external/debugging-strategies/SKILL.md +37 -0
  603. package/pipeline/skills/shared/external/device-integrity/SKILL.md +477 -0
  604. package/pipeline/skills/shared/external/docker-expert/SKILL.md +413 -0
  605. package/pipeline/skills/shared/external/energykit/SKILL.md +460 -0
  606. package/pipeline/skills/shared/external/energykit/references/energykit-patterns.md +541 -0
  607. package/pipeline/skills/shared/external/eventkit-calendar/SKILL.md +483 -0
  608. package/pipeline/skills/shared/external/eventkit-calendar/references/eventkit-patterns.md +326 -0
  609. package/pipeline/skills/shared/external/fastapi-pro/SKILL.md +190 -0
  610. package/pipeline/skills/shared/external/firebase/SKILL.md +61 -0
  611. package/pipeline/skills/shared/external/github-actions-templates/SKILL.md +348 -0
  612. package/pipeline/skills/shared/external/gradle-kotlin-dsl/SKILL.md +552 -0
  613. package/pipeline/skills/shared/external/healthkit/SKILL.md +498 -0
  614. package/pipeline/skills/shared/external/healthkit/references/healthkit-patterns.md +602 -0
  615. package/pipeline/skills/shared/external/help-skills/SKILL.md +166 -0
  616. package/pipeline/skills/shared/external/hig-components-content/SKILL.md +81 -0
  617. package/pipeline/skills/shared/external/hig-components-layout/SKILL.md +95 -0
  618. package/pipeline/skills/shared/external/hig-components-status/SKILL.md +82 -0
  619. package/pipeline/skills/shared/external/hig-components-system/SKILL.md +101 -0
  620. package/pipeline/skills/shared/external/hig-foundations/SKILL.md +94 -0
  621. package/pipeline/skills/shared/external/hig-inputs/SKILL.md +110 -0
  622. package/pipeline/skills/shared/external/hig-patterns/SKILL.md +99 -0
  623. package/pipeline/skills/shared/external/hig-platforms/SKILL.md +81 -0
  624. package/pipeline/skills/shared/external/hig-technologies/SKILL.md +125 -0
  625. package/pipeline/skills/shared/external/homekit-matter/SKILL.md +496 -0
  626. package/pipeline/skills/shared/external/homekit-matter/references/matter-commissioning.md +455 -0
  627. package/pipeline/skills/shared/external/html-semantic/SKILL.md +301 -0
  628. package/pipeline/skills/shared/external/humanizer/SKILL.md +118 -0
  629. package/pipeline/skills/shared/external/ios-accessibility/SKILL.md +301 -0
  630. package/pipeline/skills/shared/external/ios-accessibility/references/a11y-patterns.md +140 -0
  631. package/pipeline/skills/shared/external/ios-debugger-agent/SKILL.md +59 -0
  632. package/pipeline/skills/shared/external/ios-developer/SKILL.md +217 -0
  633. package/pipeline/skills/shared/external/ios-localization/SKILL.md +418 -0
  634. package/pipeline/skills/shared/external/ios-localization/references/formatstyle-locale.md +627 -0
  635. package/pipeline/skills/shared/external/ios-localization/references/string-catalogs.md +462 -0
  636. package/pipeline/skills/shared/external/ios-networking/SKILL.md +441 -0
  637. package/pipeline/skills/shared/external/ios-networking/references/background-websocket.md +862 -0
  638. package/pipeline/skills/shared/external/ios-networking/references/lightweight-clients.md +93 -0
  639. package/pipeline/skills/shared/external/ios-networking/references/network-framework.md +563 -0
  640. package/pipeline/skills/shared/external/ios-networking/references/urlsession-patterns.md +1116 -0
  641. package/pipeline/skills/shared/external/ios-security/SKILL.md +496 -0
  642. package/pipeline/skills/shared/external/ios-security/references/app-review-guidelines.md +174 -0
  643. package/pipeline/skills/shared/external/ios-security/references/cryptokit-advanced.md +297 -0
  644. package/pipeline/skills/shared/external/ios-security/references/file-storage-patterns.md +354 -0
  645. package/pipeline/skills/shared/external/ios-security/references/privacy-manifest.md +117 -0
  646. package/pipeline/skills/shared/external/kotlin-coroutines-expert/SKILL.md +101 -0
  647. package/pipeline/skills/shared/external/live-activities/SKILL.md +500 -0
  648. package/pipeline/skills/shared/external/live-activities/references/live-activity-patterns.md +868 -0
  649. package/pipeline/skills/shared/external/macos-menubar-tuist-app/SKILL.md +109 -0
  650. package/pipeline/skills/shared/external/macos-spm-app-packaging/SKILL.md +110 -0
  651. package/pipeline/skills/shared/external/mapkit-location/SKILL.md +485 -0
  652. package/pipeline/skills/shared/external/mapkit-location/references/corelocation-patterns.md +730 -0
  653. package/pipeline/skills/shared/external/mapkit-location/references/mapkit-patterns.md +748 -0
  654. package/pipeline/skills/shared/external/metrickit-diagnostics/SKILL.md +479 -0
  655. package/pipeline/skills/shared/external/monorepo-architect/SKILL.md +64 -0
  656. package/pipeline/skills/shared/external/musickit-audio/SKILL.md +395 -0
  657. package/pipeline/skills/shared/external/musickit-audio/references/musickit-patterns.md +363 -0
  658. package/pipeline/skills/shared/external/natural-language/SKILL.md +412 -0
  659. package/pipeline/skills/shared/external/natural-language/references/translation-patterns.md +311 -0
  660. package/pipeline/skills/shared/external/nextjs-app-router/SKILL.md +418 -0
  661. package/pipeline/skills/shared/external/nodejs-backend-patterns/SKILL.md +38 -0
  662. package/pipeline/skills/shared/external/observability-engineer/SKILL.md +235 -0
  663. package/pipeline/skills/shared/external/passkit-wallet/SKILL.md +398 -0
  664. package/pipeline/skills/shared/external/passkit-wallet/references/wallet-passes.md +254 -0
  665. package/pipeline/skills/shared/external/pencilkit-drawing/SKILL.md +387 -0
  666. package/pipeline/skills/shared/external/pencilkit-drawing/references/paperkit-integration.md +376 -0
  667. package/pipeline/skills/shared/external/pencilkit-drawing/references/pencilkit-patterns.md +302 -0
  668. package/pipeline/skills/shared/external/permissionkit/SKILL.md +446 -0
  669. package/pipeline/skills/shared/external/permissionkit/references/permissionkit-patterns.md +435 -0
  670. package/pipeline/skills/shared/external/photos-camera-media/SKILL.md +501 -0
  671. package/pipeline/skills/shared/external/photos-camera-media/references/av-playback.md +701 -0
  672. package/pipeline/skills/shared/external/photos-camera-media/references/camera-capture.md +774 -0
  673. package/pipeline/skills/shared/external/photos-camera-media/references/image-loading-caching.md +869 -0
  674. package/pipeline/skills/shared/external/photos-camera-media/references/photospicker-patterns.md +597 -0
  675. package/pipeline/skills/shared/external/play-store-review/SKILL.md +350 -0
  676. package/pipeline/skills/shared/external/push-notifications/SKILL.md +501 -0
  677. package/pipeline/skills/shared/external/push-notifications/references/notification-patterns.md +677 -0
  678. package/pipeline/skills/shared/external/push-notifications/references/rich-notifications.md +745 -0
  679. package/pipeline/skills/shared/external/python-patterns/SKILL.md +383 -0
  680. package/pipeline/skills/shared/external/react-best-practices/SKILL.md +290 -0
  681. package/pipeline/skills/shared/external/realitykit-ar/SKILL.md +479 -0
  682. package/pipeline/skills/shared/external/realitykit-ar/references/realitykit-patterns.md +480 -0
  683. package/pipeline/skills/shared/external/rest-api-design/SKILL.md +386 -0
  684. package/pipeline/skills/shared/external/retrofit-networking/SKILL.md +506 -0
  685. package/pipeline/skills/shared/external/room-database/SKILL.md +564 -0
  686. package/pipeline/skills/shared/external/shareplay-activities/SKILL.md +483 -0
  687. package/pipeline/skills/shared/external/shareplay-activities/references/shareplay-patterns.md +544 -0
  688. package/pipeline/skills/shared/external/speech-recognition/SKILL.md +485 -0
  689. package/pipeline/skills/shared/external/storekit/SKILL.md +478 -0
  690. package/pipeline/skills/shared/external/storekit/references/app-review-guidelines.md +58 -0
  691. package/pipeline/skills/shared/external/storekit/references/storekit-advanced.md +755 -0
  692. package/pipeline/skills/shared/external/swift-charts/SKILL.md +487 -0
  693. package/pipeline/skills/shared/external/swift-charts/references/charts-patterns.md +895 -0
  694. package/pipeline/skills/shared/external/swift-codable/SKILL.md +467 -0
  695. package/pipeline/skills/shared/external/swift-concurrency/SKILL.md +408 -0
  696. package/pipeline/skills/shared/external/swift-concurrency/references/approachable-concurrency.md +80 -0
  697. package/pipeline/skills/shared/external/swift-concurrency/references/swift-6-2-concurrency.md +233 -0
  698. package/pipeline/skills/shared/external/swift-concurrency/references/swiftui-concurrency.md +187 -0
  699. package/pipeline/skills/shared/external/swift-concurrency/references/synchronization-primitives.md +341 -0
  700. package/pipeline/skills/shared/external/swift-concurrency-expert/SKILL.md +113 -0
  701. package/pipeline/skills/shared/external/swift-concurrency-pro/SKILL.md +124 -0
  702. package/pipeline/skills/shared/external/swift-concurrency-pro/references/actors.md +155 -0
  703. package/pipeline/skills/shared/external/swift-concurrency-pro/references/async-streams.md +67 -0
  704. package/pipeline/skills/shared/external/swift-concurrency-pro/references/bridging.md +52 -0
  705. package/pipeline/skills/shared/external/swift-concurrency-pro/references/bug-patterns.md +100 -0
  706. package/pipeline/skills/shared/external/swift-concurrency-pro/references/cancellation.md +107 -0
  707. package/pipeline/skills/shared/external/swift-concurrency-pro/references/diagnostics.md +70 -0
  708. package/pipeline/skills/shared/external/swift-concurrency-pro/references/hotspots.md +47 -0
  709. package/pipeline/skills/shared/external/swift-concurrency-pro/references/interop.md +129 -0
  710. package/pipeline/skills/shared/external/swift-concurrency-pro/references/new-features.md +224 -0
  711. package/pipeline/skills/shared/external/swift-concurrency-pro/references/structured.md +101 -0
  712. package/pipeline/skills/shared/external/swift-concurrency-pro/references/testing.md +218 -0
  713. package/pipeline/skills/shared/external/swift-concurrency-pro/references/unstructured.md +61 -0
  714. package/pipeline/skills/shared/external/swift-language/SKILL.md +498 -0
  715. package/pipeline/skills/shared/external/swift-language/references/swift-patterns-extended.md +505 -0
  716. package/pipeline/skills/shared/external/swift-testing/SKILL.md +462 -0
  717. package/pipeline/skills/shared/external/swift-testing/references/testing-patterns.md +504 -0
  718. package/pipeline/skills/shared/external/swift-testing-pro/SKILL.md +97 -0
  719. package/pipeline/skills/shared/external/swift-testing-pro/references/async-tests.md +252 -0
  720. package/pipeline/skills/shared/external/swift-testing-pro/references/core-rules.md +52 -0
  721. package/pipeline/skills/shared/external/swift-testing-pro/references/migrating-from-xctest.md +34 -0
  722. package/pipeline/skills/shared/external/swift-testing-pro/references/new-features.md +318 -0
  723. package/pipeline/skills/shared/external/swift-testing-pro/references/writing-better-tests.md +254 -0
  724. package/pipeline/skills/shared/external/swiftdata/SKILL.md +334 -0
  725. package/pipeline/skills/shared/external/swiftdata/references/core-data-coexistence.md +504 -0
  726. package/pipeline/skills/shared/external/swiftdata/references/swiftdata-advanced.md +975 -0
  727. package/pipeline/skills/shared/external/swiftdata/references/swiftdata-queries.md +675 -0
  728. package/pipeline/skills/shared/external/swiftdata-pro/SKILL.md +102 -0
  729. package/pipeline/skills/shared/external/swiftdata-pro/references/class-inheritance.md +104 -0
  730. package/pipeline/skills/shared/external/swiftdata-pro/references/cloudkit.md +10 -0
  731. package/pipeline/skills/shared/external/swiftdata-pro/references/core-rules.md +20 -0
  732. package/pipeline/skills/shared/external/swiftdata-pro/references/indexing.md +27 -0
  733. package/pipeline/skills/shared/external/swiftdata-pro/references/predicates.md +73 -0
  734. package/pipeline/skills/shared/external/swiftui-animation/SKILL.md +503 -0
  735. package/pipeline/skills/shared/external/swiftui-animation/references/animation-advanced.md +821 -0
  736. package/pipeline/skills/shared/external/swiftui-animation/references/core-animation-bridge.md +553 -0
  737. package/pipeline/skills/shared/external/swiftui-expert-skill/SKILL.md +102 -0
  738. package/pipeline/skills/shared/external/swiftui-expert-skill/references/accessibility-patterns.md +215 -0
  739. package/pipeline/skills/shared/external/swiftui-expert-skill/references/animation-advanced.md +403 -0
  740. package/pipeline/skills/shared/external/swiftui-expert-skill/references/animation-basics.md +284 -0
  741. package/pipeline/skills/shared/external/swiftui-expert-skill/references/animation-transitions.md +326 -0
  742. package/pipeline/skills/shared/external/swiftui-expert-skill/references/charts-accessibility.md +135 -0
  743. package/pipeline/skills/shared/external/swiftui-expert-skill/references/charts.md +602 -0
  744. package/pipeline/skills/shared/external/swiftui-expert-skill/references/image-optimization.md +203 -0
  745. package/pipeline/skills/shared/external/swiftui-expert-skill/references/latest-apis.md +464 -0
  746. package/pipeline/skills/shared/external/swiftui-expert-skill/references/layout-best-practices.md +266 -0
  747. package/pipeline/skills/shared/external/swiftui-expert-skill/references/liquid-glass.md +416 -0
  748. package/pipeline/skills/shared/external/swiftui-expert-skill/references/list-patterns.md +394 -0
  749. package/pipeline/skills/shared/external/swiftui-expert-skill/references/macos-scenes.md +318 -0
  750. package/pipeline/skills/shared/external/swiftui-expert-skill/references/macos-views.md +357 -0
  751. package/pipeline/skills/shared/external/swiftui-expert-skill/references/macos-window-styling.md +303 -0
  752. package/pipeline/skills/shared/external/swiftui-expert-skill/references/performance-patterns.md +403 -0
  753. package/pipeline/skills/shared/external/swiftui-expert-skill/references/scroll-patterns.md +293 -0
  754. package/pipeline/skills/shared/external/swiftui-expert-skill/references/sheet-navigation-patterns.md +363 -0
  755. package/pipeline/skills/shared/external/swiftui-expert-skill/references/state-management.md +417 -0
  756. package/pipeline/skills/shared/external/swiftui-expert-skill/references/view-structure.md +389 -0
  757. package/pipeline/skills/shared/external/swiftui-gestures/SKILL.md +450 -0
  758. package/pipeline/skills/shared/external/swiftui-gestures/references/gesture-patterns.md +425 -0
  759. package/pipeline/skills/shared/external/swiftui-layout-components/SKILL.md +336 -0
  760. package/pipeline/skills/shared/external/swiftui-layout-components/references/form.md +97 -0
  761. package/pipeline/skills/shared/external/swiftui-layout-components/references/grids.md +69 -0
  762. package/pipeline/skills/shared/external/swiftui-layout-components/references/list.md +99 -0
  763. package/pipeline/skills/shared/external/swiftui-layout-components/references/scrollview.md +147 -0
  764. package/pipeline/skills/shared/external/swiftui-liquid-glass/SKILL.md +98 -0
  765. package/pipeline/skills/shared/external/swiftui-navigation/SKILL.md +262 -0
  766. package/pipeline/skills/shared/external/swiftui-navigation/references/deeplinks.md +207 -0
  767. package/pipeline/skills/shared/external/swiftui-navigation/references/navigationstack.md +177 -0
  768. package/pipeline/skills/shared/external/swiftui-navigation/references/sheets.md +169 -0
  769. package/pipeline/skills/shared/external/swiftui-navigation/references/tabview.md +178 -0
  770. package/pipeline/skills/shared/external/swiftui-patterns/SKILL.md +371 -0
  771. package/pipeline/skills/shared/external/swiftui-patterns/references/architecture-patterns.md +486 -0
  772. package/pipeline/skills/shared/external/swiftui-patterns/references/deprecated-migration.md +1097 -0
  773. package/pipeline/skills/shared/external/swiftui-patterns/references/design-polish.md +780 -0
  774. package/pipeline/skills/shared/external/swiftui-patterns/references/platform-and-sharing.md +696 -0
  775. package/pipeline/skills/shared/external/swiftui-performance/SKILL.md +487 -0
  776. package/pipeline/skills/shared/external/swiftui-performance/references/demystify-swiftui-performance-wwdc23.md +46 -0
  777. package/pipeline/skills/shared/external/swiftui-performance/references/optimizing-swiftui-performance-instruments.md +29 -0
  778. package/pipeline/skills/shared/external/swiftui-performance/references/understanding-hangs-in-your-app.md +33 -0
  779. package/pipeline/skills/shared/external/swiftui-performance/references/understanding-improving-swiftui-performance.md +52 -0
  780. package/pipeline/skills/shared/external/swiftui-performance-audit/SKILL.md +114 -0
  781. package/pipeline/skills/shared/external/swiftui-pro/SKILL.md +108 -0
  782. package/pipeline/skills/shared/external/swiftui-pro/references/accessibility.md +13 -0
  783. package/pipeline/skills/shared/external/swiftui-pro/references/api.md +39 -0
  784. package/pipeline/skills/shared/external/swiftui-pro/references/data.md +43 -0
  785. package/pipeline/skills/shared/external/swiftui-pro/references/design.md +31 -0
  786. package/pipeline/skills/shared/external/swiftui-pro/references/hygiene.md +9 -0
  787. package/pipeline/skills/shared/external/swiftui-pro/references/navigation.md +14 -0
  788. package/pipeline/skills/shared/external/swiftui-pro/references/performance.md +46 -0
  789. package/pipeline/skills/shared/external/swiftui-pro/references/swift.md +56 -0
  790. package/pipeline/skills/shared/external/swiftui-pro/references/views.md +35 -0
  791. package/pipeline/skills/shared/external/swiftui-ui-patterns/SKILL.md +103 -0
  792. package/pipeline/skills/shared/external/swiftui-uikit-interop/SKILL.md +428 -0
  793. package/pipeline/skills/shared/external/swiftui-uikit-interop/references/hosting-migration.md +534 -0
  794. package/pipeline/skills/shared/external/swiftui-uikit-interop/references/representable-recipes.md +948 -0
  795. package/pipeline/skills/shared/external/swiftui-view-refactor/SKILL.md +210 -0
  796. package/pipeline/skills/shared/external/swiftui-webkit/SKILL.md +273 -0
  797. package/pipeline/skills/shared/external/swiftui-webkit/references/loading-and-observation.md +151 -0
  798. package/pipeline/skills/shared/external/swiftui-webkit/references/local-content-and-custom-schemes.md +95 -0
  799. package/pipeline/skills/shared/external/swiftui-webkit/references/migration-and-fallbacks.md +51 -0
  800. package/pipeline/skills/shared/external/swiftui-webkit/references/navigation-and-javascript.md +111 -0
  801. package/pipeline/skills/shared/external/tailwind-css/SKILL.md +309 -0
  802. package/pipeline/skills/shared/external/testing-backend/SKILL.md +393 -0
  803. package/pipeline/skills/shared/external/tipkit/SKILL.md +494 -0
  804. package/pipeline/skills/shared/external/tipkit/references/tipkit-patterns.md +782 -0
  805. package/pipeline/skills/shared/external/typescript-patterns/SKILL.md +336 -0
  806. package/pipeline/skills/shared/external/vision-framework/SKILL.md +475 -0
  807. package/pipeline/skills/shared/external/vision-framework/references/vision-requests.md +736 -0
  808. package/pipeline/skills/shared/external/vision-framework/references/visionkit-scanner.md +738 -0
  809. package/pipeline/skills/shared/external/vue-composition/SKILL.md +371 -0
  810. package/pipeline/skills/shared/external/weatherkit/SKILL.md +410 -0
  811. package/pipeline/skills/shared/external/weatherkit/references/weatherkit-patterns.md +567 -0
  812. package/pipeline/skills/shared/external/web-accessibility/SKILL.md +373 -0
  813. package/pipeline/skills/shared/external/web-performance/SKILL.md +345 -0
  814. package/pipeline/skills/shared/external/web-testing/SKILL.md +385 -0
  815. package/pipeline/skills/shared/external/widgetkit/SKILL.md +497 -0
  816. package/pipeline/skills/shared/external/widgetkit/references/widgetkit-advanced.md +871 -0
  817. package/pipeline/skills/skills-index.md +205 -0
@@ -0,0 +1,944 @@
1
+ ---
2
+ name: multi-agent
3
+ language: tr
4
+ description: "Task orchestrator: runs the full pipeline from a Jira ID or GitHub Issue URL — analysis → plan → TDD development → parallel review (Opus + Sonnet on Claude Code, GPT + Opus + Sonnet on Copilot CLI) → commit → log. Every step is written to agent-log.md."
5
+ user-invocable: true
6
+ argument-hint: '"PROJ-12345" "feature/PROJ-12345-flight-filter" | "https://github.com/.../issues/316" | status | log #1 | resume #1 | kill #1 | clear-logs | purge | review'
7
+ ---
8
+
9
+ Read and follow the instructions in this file's INSTRUCTION.md section below.
10
+
11
+ ---
12
+
13
+ # Multi-Agent Task Orchestrator
14
+
15
+ ## Project Detection
16
+
17
+ Detect project from cwd FIRST, then validate input format:
18
+
19
+ | cwd contains | Project | Accepted Input | Rejected Input |
20
+ |--------------|---------|----------------|----------------|
21
+ | `/my-ios-app` | my-app | `"PROJ-XXX" "branch"` | GitHub Issue URL |
22
+ | `/my-figma-app` | figma | `"https://github.com/.../issues/N"` | Jira ID + branch |
23
+ | Other | generic | Both formats | — |
24
+
25
+ If user gives wrong format for the project, warn:
26
+ - my-ios-app + GitHub URL → "Bu proje Jira ID + branch bekliyor. Ornek: multi-agent \"PROJ-12345\" \"feature/PROJ-12345-desc\""
27
+ - my-figma-app + Jira → "Bu proje GitHub Issue URL bekliyor. Ornek: multi-agent \"https://github.com/my-org/my-figma-app/issues/316\""
28
+
29
+ ## Input Parsing
30
+
31
+ Classify user input into one of 5 types (matches the colon-form `multi-agent.md` contract; cross-CLI parity is enforced by `smoke-cross-cli-behavior.sh`):
32
+
33
+ | # | Pattern | Type | Action |
34
+ |---|---------|------|--------|
35
+ | 1 | `#N` or bare `316` | github-issue-number | Fetch via gh after project selection |
36
+ | 2 | `https://github.com/.../issues/N` | github-issue-url | Extract org/repo/N, fetch via gh |
37
+ | 3 | `https://{JIRA_HOST}/browse/{JIRA_KEY}-XXXXX` | jira-url | Extract ID, fetch via Jira API |
38
+ | 4 | `{JIRA_KEY}-XXXXX` (bare) | jira-id | Fetch via Jira API |
39
+ | 5 | Anything else | free-text | No external fetch |
40
+
41
+ All types enter the same Phase 0 flow.
42
+
43
+ ## Routing
44
+
45
+ Parse the user's input and route to the correct sub-command:
46
+
47
+ | Input Pattern | Action |
48
+ |---------------|--------|
49
+ | `"PROJ-XXX" "branch"` | **my-app only** — Jira ID + branch name → auto-assigned incremental ID |
50
+ | `"https://github.com/..."` | **figma only** — parse issue, extract Jira from title/body, auto-create branch |
51
+ | `status` | Show all tasks with ID, phase, status |
52
+ | `log [id]` | Show agent-log.md for task (latest if no id) |
53
+ | `resume [id]` | Resume paused/failed task from last successful phase |
54
+ | `kill [id]` | Stop task, delete worktree + branch + logs. Asks confirm first |
55
+ | `clear-logs` | Delete all agent-log.md and agent-state.json files, keep worktrees/branches |
56
+ | `purge` | Nuclear cleanup — delete ALL worktrees, branches, logs, state, counter. Full reset |
57
+ | `review` | Skip phases 0-3, review current diff only |
58
+ | `autopilot` flag | Add to any pipeline command — skip user confirmations except destructive ops |
59
+ | No args / `help` | Show usage guide (project-specific) |
60
+
61
+ ---
62
+
63
+ ## Autopilot Mode
64
+
65
+ Autopilot mode skips interactive confirmations and runs the pipeline end-to-end autonomously.
66
+
67
+ **Activation**: Add `autopilot` flag to any pipeline command:
68
+ ```
69
+ multi-agent "PROJ-12345" "feature/PROJ-12345-desc" autopilot
70
+ multi-agent "https://github.com/.../issues/316" autopilot
71
+ multi-agent "LoginView dark mode fix" autopilot
72
+ ```
73
+
74
+ **What changes in autopilot:**
75
+
76
+ | Phase | Normal | Autopilot |
77
+ |-------|--------|-----------|
78
+ | Phase 2 (Plan Approval Gate) | Clarification (max 2 tur) + approval loop — kullanıcı `onayla`/`iptal`/serbest metin | **Gate skip** — plan'ı logla, direkt Phase 3'e geç (autopilot sözleşmesi: zero interaction) |
79
+ | Phase 5 (User Test) | "Test etmek ister misin?" → bekle | Skip → direkt Phase 6'ya geç |
80
+ | Phase 6 (Commit) | "Commit atmak ister misin?" → bekle | Otomatik commit + push |
81
+ | Phase 6 (PR) | "PR açmak ister misin?" → bekle | Otomatik PR oluştur |
82
+
83
+ **What NEVER skips (even in autopilot):**
84
+ - Phase 4 Review → blocking bulgu varsa Phase 3'e döner, fix + rebuild otomatik (güvenlik)
85
+ - Kill/Purge confirmations → destructive operasyonlar her zaman sorar
86
+ - Build fail → fix + rebuild otomatik (max 3 retry). 3 retry sonra hala fail → pause, kullanıcıya sor
87
+
88
+ **State tracking**: `agent-state.json`'a `"autopilot": true` eklenir. Resume'da da autopilot devam eder.
89
+
90
+ ---
91
+
92
+ ## Task ID System
93
+
94
+ Every task gets an **auto-incremented short ID** for easy reference:
95
+
96
+ ```
97
+ multi-agent "PROJ-12345" "feature/PROJ-12345-flight-filter"
98
+ → ✅ Task #1 started — PROJ-12345
99
+
100
+ multi-agent "PROJ-67890" "feature/PROJ-67890-booking-flow"
101
+ → ✅ Task #2 started — PROJ-67890
102
+ ```
103
+
104
+ ID is stored in `agent-state.json` and shown in `multi-agent status`:
105
+
106
+ ```
107
+ 🤖 Multi-Agent Active Tasks
108
+
109
+ | ID | Jira | Branch | Phase | Status |
110
+ |----|------|--------|-------|--------|
111
+ | #1 | PROJ-12345 | feature/PROJ-12345-... | 3/7 Dev | ⚡ in progress |
112
+ | #2 | PROJ-67890 | feature/PROJ-67890-... | 1/7 Analysis | 📊 scanning |
113
+ ```
114
+
115
+ ID counter stored at `.worktrees/.multi-agent-counter` (persists across sessions).
116
+
117
+ ---
118
+
119
+ ## Kill Logic
120
+
121
+ When `multi-agent kill [id]` is called:
122
+
123
+ 1. **Find task**: Look up task by short ID (e.g. `#2`) or Jira ID (e.g. `PROJ-67890`)
124
+ 2. **Confirm**: Ask user: `"PROJ-67890 (Task #2) silinecek: worktree, branch, loglar. Emin misin?"`
125
+ 3. **Stop agents**: Kill any running background agents for this task
126
+ 4. **Delete worktree**: `git worktree remove .worktrees/PROJ-{id} --force`
127
+ 5. **Delete branch**: `git branch -D {branch-name}`
128
+ 6. **Delete remote branch**: ONLY if user explicitly confirms: "Remote branch'i de silmek istiyor musun?"
129
+ 7. **Archive log** (optional): Move `agent-log.md` to `.worktrees/.archive/PROJ-{id}/` before delete
130
+ - Or delete completely if user says "tamamen sil"
131
+ 8. **Update counter**: Mark ID as available (or just skip — IDs are cheap)
132
+ 9. **Confirm**: `❌ Task #2 (PROJ-67890) killed — worktree, branch, logs deleted`
133
+
134
+ ---
135
+
136
+ ## Clear Logs
137
+
138
+ When `multi-agent clear-logs` is called:
139
+
140
+ 1. **Confirm**: `"Tüm task logları silinecek (agent-log.md + agent-state.json). Worktree'ler ve branch'ler kalacak. Emin misin?"`
141
+ 2. **Scan**: Find all `.worktrees/PROJ-*/agent-log.md` and `agent-state.json` files
142
+ 3. **Delete**: Remove log and state files from each worktree
143
+ 4. **Do NOT reset counter**: `.worktrees/.multi-agent-counter` stays intact — prevents ID collision with existing worktrees
144
+ 5. **Confirm**:
145
+ ```
146
+ 🧹 Logs cleared
147
+ Deleted: {N} agent-log.md + {N} agent-state.json
148
+ Worktrees & branches: untouched
149
+ ```
150
+
151
+ ---
152
+
153
+ ## Purge (Full Reset)
154
+
155
+ When `multi-agent purge` is called:
156
+
157
+ 1. **Confirm**: `"⚠️ DIKKAT: Tüm worktree'ler, branch'ler, loglar ve state silinecek. Bu geri alınamaz. Emin misin?"`
158
+ 2. **List**: Show what will be deleted:
159
+ ```
160
+ Silinecekler:
161
+ - .worktrees/PROJ-12345/ (branch: feature/PROJ-12345-...)
162
+ - .worktrees/PROJ-67890/ (branch: feature/PROJ-67890-...)
163
+ - .worktrees/.multi-agent-counter
164
+ Toplam: 2 worktree, 2 branch, 2 log
165
+ ```
166
+ 3. **Second confirm**: `"Devam etmek için 'purge' yaz:"`
167
+ 4. **Execute** (for each worktree):
168
+ - `git worktree remove .worktrees/PROJ-{id} --force`
169
+ - `git branch -D {branch-name}`
170
+ - Remote branch delete ONLY if user explicitly confirms: "Remote branch'leri de silmek istiyor musun?"
171
+ 5. **Cleanup**: Remove `.worktrees/.multi-agent-counter` and `.worktrees/.archive/`
172
+ 6. **Confirm**:
173
+ ```
174
+ 🔥 Purge complete
175
+ Deleted: {N} worktrees, {N} branches, {N} logs
176
+ multi-agent is reset to clean state
177
+ ```
178
+
179
+ ---
180
+
181
+ ## Resume Logic
182
+
183
+ When `multi-agent resume [id]` is called:
184
+
185
+ 1. **Find state file**: Scan `.worktrees/PROJ-{id}/agent-state.json`
186
+ - If no `id` given, find the most recent worktree with `status != "done"`
187
+ 2. **Read state**: Parse `agent-state.json` → determine last completed phase
188
+ 3. **Restore context**: Read `agent-log.md` for previous findings:
189
+ - Phase 1 analysis findings → reuse in Phase 2+
190
+ - Phase 2 plan/todos → reuse in Phase 3+
191
+ - Phase 3 code changes → already on disk in worktree
192
+ - Phase 4 review findings → reuse if re-reviewing
193
+ 4. **Resume from next phase**: Skip completed phases, start from `currentPhase + 1`
194
+ 5. **Log**: `🔄 Resumed PROJ-{id} from Phase {N}`
195
+
196
+ This works across sessions because:
197
+ - `agent-state.json` → persists phase progress on disk
198
+ - `agent-log.md` → persists findings, analysis, decisions on disk
199
+ - Git worktree → persists code changes on disk
200
+ - All state is file-based, nothing depends on in-memory session
201
+
202
+ ---
203
+
204
+ ## Agent dispatch — per-persona model routing
205
+
206
+ Every agent persona under `pipeline/agents/*.md` declares a `preferredModel` frontmatter field. The orchestrator MUST honor it on every dispatch, on both Claude Code and Copilot CLI — cross-CLI parity is enforced by `smoke-cross-cli-behavior.sh`.
207
+
208
+ | Persona | `preferredModel` | Rationale (condensed) |
209
+ |---|---|---|
210
+ | `explorer` | `sonnet` | Scan/pattern work, cost-efficient without quality loss |
211
+ | `code-reviewer` | `opus` | Tier 1 reviewer; Phase 4 overrides Reviewer 3 to `sonnet` |
212
+ | `security-auditor` | `opus` | False-negative cost is high; opus reduces miss rate |
213
+ | `ios-architect` | `opus` | Deep module/protocol/migration reasoning |
214
+ | `android-architect` | `opus` | Gradle modules, Compose stability, Hilt graphs |
215
+ | `backend-architect` | `opus` | API + migration + scaling reasoning |
216
+
217
+ **Dispatch contract (pseudo-code):**
218
+
219
+ ```bash
220
+ persona_file="$HOME/.claude/agents/${persona}.md"
221
+ pref_model="$(awk '/^preferredModel:/ {print $2; exit}' "$persona_file")"
222
+ override="${PHASE_MODEL_OVERRIDE:-}" # set by orchestrator per-dispatch (e.g. Phase 4 Reviewer 3 → sonnet)
223
+ resolved_model="${override:-${pref_model:-opus}}"
224
+
225
+ export CLAUDE_CODE_SUBAGENT_MODEL="$resolved_model"
226
+ # Claude Code honors the env var; Copilot CLI reads the same env + passes as --model flag.
227
+ ```
228
+
229
+ **Precedence:** per-dispatch `PHASE_MODEL_OVERRIDE` > persona `preferredModel` > global default (`opus`).
230
+
231
+ **Observability:** emit `phase.agent.dispatch` OTel span with `{persona, resolved_model, override_source}` attributes when `MULTI_AGENT_OTEL_SPANS=1` (see `phase-tracker.sh`).
232
+
233
+ ---
234
+
235
+ ## Dynamic skill loading — trigger-based injection (v7.0.0+, opt-in)
236
+
237
+ **Gated by `prefs.global.dynamicSkillLoading` (default `false`).** When enabled, the orchestrator moves from eager-loading all 192 skills on every session to injecting only the skills that match the current task context. The match signal comes from three sources in descending weight:
238
+
239
+ 1. `trigger-paths` globs in SKILL.md frontmatter vs. Phase 1 touched files (heaviest, +30 max)
240
+ 2. `trigger-keywords` in SKILL.md frontmatter vs. task text (mid, +30 max)
241
+ 3. `description` keyword overlap with task text (lightest fallback, +15 max)
242
+ 4. Platform match vs. Phase 1 detected stack (+10)
243
+
244
+ **Runtime contract:**
245
+
246
+ ```bash
247
+ # After Phase 1 produces analysis.json with {stack.primary, touchedAreas[].path}
248
+ task_text="$(jq -r '.summary' analysis.json)"
249
+ touched=$(jq -r '.touchedAreas | map(.path) | join(",")' analysis.json)
250
+ stack=$(jq -r '.stack.primary' analysis.json)
251
+
252
+ matched_skills=$(node pipeline/scripts/match-skills.mjs \
253
+ "$task_text" \
254
+ --touched-files "$touched" \
255
+ --stack "$stack" \
256
+ --limit 12 \
257
+ --json)
258
+
259
+ # Inject only matched skills[] into subagent prompts for Phase 2–4.
260
+ # Skills not in the matched list are not loaded — saves ~10K–30K tokens
261
+ # per subagent dispatch on small tasks.
262
+ ```
263
+
264
+ **Fallback:** if `.skills-index.json` is missing (e.g. fresh checkout before `build-skills-index.mjs` runs), the orchestrator falls back to eager-load exactly as pre-v7.0 — dynamic loading never blocks the happy path.
265
+
266
+ **--index-only installs:** `node install.js --index-only` writes only the index, not the 192 SKILL.md payloads. Intended for:
267
+ - CI pipelines that fetch skill bodies on demand
268
+ - Disk-constrained users who accept the dynamic-load contract
269
+
270
+ When `dynamicSkillLoading=true` AND the target install is index-only, subagent prompts must include the matched skills' bodies inline (read from the pipeline source or a cached copy). The orchestrator resolves this by reading `{PIPELINE_SRC}/pipeline/skills/{relativePath}` — the pipeline source repo is always the source of truth; the install dir is a cache.
271
+
272
+ **Telemetry:** when `MULTI_AGENT_OTEL_SPANS=1`, emit `phase.skills.match` span with `{taskId, matchedCount, topN=[name,score]}` so post-hoc analysis can tune trigger-keywords / trigger-paths in SKILL.md frontmatter.
273
+
274
+ ---
275
+
276
+ ## Phase Pipeline
277
+
278
+ Run phases sequentially. Log every step to `agent-log.md`.
279
+ If any phase fails, mark task as `paused` and stop — user can `resume` later.
280
+
281
+ ### Canonical phase labels (TaskCreate + banner)
282
+
283
+ Every user-facing phase title — TaskCreate cards, `phase-banner.sh` headers, and any status line rendered to the terminal — MUST come from this table. Labels are always English (`promptLanguage` is locked to `en`):
284
+
285
+ | # | Label |
286
+ |---|------------------------|
287
+ | 0 | Phase 0: Init |
288
+ | 1 | Phase 1: Analysis |
289
+ | 2 | Phase 2: Planning |
290
+ | 3 | Phase 3: Dev |
291
+ | 4 | Phase 4: Review |
292
+ | 5 | Phase 5: Test |
293
+ | 6 | Phase 6: Commit & PR |
294
+ | 7 | Phase 7: Report |
295
+
296
+ **Render rule:**
297
+
298
+ 1. For TaskCreate, use the matching label as the task `subject`.
299
+ 2. For terminal banners, call `phase-banner.sh` with the `auto` sentinel and `PHASE_LANG=en` env — or pass the literal label from the table. Never invent a new label.
300
+ 3. Reviewer-count qualifiers (e.g. `(parallel + triage)`) stay English — they are technical artifacts, not user copy.
301
+
302
+ **Out of scope for localization** (always EN, per `prefs.schema.json`): reviewer/triage system prompts, commit messages, PR titles/bodies, Jira comments, wiki content, log payloads inside `agent-log.md` — these are external artifacts consumed by other tools and humans beyond this user.
303
+
304
+ #### TaskCreate ordering (strict)
305
+
306
+ All TaskCreate calls fire in strict phase-number order BEFORE any TaskUpdate is applied (Claude Code path; Copilot CLI does not have a TaskList widget so this rule is Claude-only). The native widget renders by creation order, not by phase-number metadata — out-of-order calls produce visually scrambled tile stacks (e.g. `1 ✓ · 2 ✓ · 4 ✓ · 0 ▶ · 3 ☐`) even when the underlying state file is correct. Pre-marking phases as completed/skipped before Phase 0 starts is FORBIDDEN: register the tile in order with default `pending` status, then flip via TaskUpdate when the phase actually short-circuits. Mode-specific phase sets:
307
+
308
+ - Full pipeline (`multi-agent`, `multi-agent-autopilot`, `multi-agent-local`, `multi-agent-local-autopilot`): 0 → 1 → 2 → 3 → 4 → 5 → 6 → 7
309
+ - `--dev` modes (`multi-agent-dev`, `multi-agent-dev-autopilot`, `multi-agent-dev-local`, `multi-agent-dev-local-autopilot`): 0 → 3 → 5 → 6 → 7 (phases 1/2/4 are NOT TaskCreate'd at all)
310
+
311
+ Full contract: `refs/tracker-contract.md` § "TaskCreate ordering (strict)".
312
+
313
+ ### Phase 0: Init
314
+
315
+ > **Contract (strict)** — Phase 0 has **8 sequential interactive steps** defined in `refs/phases/phase-0-init.md`. Do **NOT** short-circuit. Even when input is a Jira ID + branch, Steps 1, 4, 5, 6 (load prefs, multi-repo offer, branch picker, branch name confirm) are REQUIRED UX checkpoints — skipping them breaks component-production flows where base branch is `iteration/develop`, not `develop`, and where multiple repos must be selected.
316
+ >
317
+ > The condensed walkthrough below covers Step 1 (parse) + Step 2 (worktree), but DOES NOT replace the full contract. Read `refs/phases/phase-0-init.md` before every Phase 0 run and execute ALL 8 steps:
318
+ >
319
+ > 1. **Bootstrap tracker** — `pipeline/scripts/phase-tracker.sh init <task-id>` + 8 phase tiles (Step −1)
320
+ > 2. **Load prefs** — read `prefs.global` + `prefs.projects[{name}]`; halt with `/multi-agent:setup` prompt if no keychain mapping (Step 0)
321
+ > 3. **Parse input** — classify + fetch Jira/GitHub issue + extract Figma URL if present (Step 1)
322
+ > 4. **Select project(s) — single OR multi-repo** — present numbered list of repos from `$HOME`. Picker accepts space-separated numbers (`1 3 4`) for multi-select. Component/refactor tasks often span repos (e.g. component repo + consumer app). Surface saved `global.recentGroups` at the top of the list. **Never auto-pick a single repo when the task could touch more than one** — ask the user to confirm single vs multi. (Step 2)
323
+ > 5. **Pick base branch PER REPO** — REQUIRED INTERACTIVE STEP. If one repo selected: run `git ls-remote --heads origin` on that repo, present sorted list (develop* / release/* / main/master first), suggest top of `global.recentBranches[{projectKey}]`. **If multiple repos selected: fire the branch picker separately for each repo** (phase-0-init.md L221: "In multi-repo mode, the prompt fires per-repo"). Users reported this being silently skipped for component work where the correct base is `iteration/develop` — either per-repo prompt missing, or one branch assumed for all repos. Skip only if the user's original input explicitly specified a branch. (Step 3)
324
+ > 6. **Branch name confirm** — `feature/PROJ-{id}-{kebab}` or `bugfix/...` — user confirms or edits. In multi-repo mode the branch name is shared across all selected repos (collision check runs per-repo; any collision applies the suffix to all). (Step 4)
325
+ > 7. **Git identity — per repo** — route via `prefs.global.platformIdentityRouting`; ask if ambiguous. Multi-repo mode resolves identity **per repo independently** (phase-0-init.md L283). (Step 6)
326
+ > 8. **Instruction files + workspace creation — serially per repo** — detect `.instructions/figma/` etc. In multi-repo mode, worktree creation loops per repo serially (phase-0-init.md L308); any failure rolls back previously-created worktrees. Write `agent-state.json` with `state.projects[]` array (scalar `project`/`projectRoot`/`branch` mirror `projects[0]` for back-compat). (Steps 7-8)
327
+
328
+ **Step 1 — Project detection + input parsing:**
329
+
330
+ #### my-ios-app (Jira + branch)
331
+ 1. Input: `"PROJ-12345" "feature/PROJ-12345-flight-filter"`
332
+ 2. Parse directly: `jiraId = PROJ-12345`, `branch = feature/PROJ-12345-flight-filter`
333
+ 3. No GitHub interaction needed
334
+
335
+ #### my-figma-app (GitHub Issue URL)
336
+ 1. Input: `"https://github.com/my-org/my-figma-app/issues/316"`
337
+ 2. Parse issue via `gh issue view 316 --json title,body,labels,assignees`
338
+ 3. Extract Jira ID from issue title or body (pattern: `PROJ-XXXXX`)
339
+ 4. Auto-generate branch: `feature/PROJ-{jiraId}-GH{issueNo}-{component-kebab}`
340
+ 5. Assign issue to self: `gh issue edit 316 --add-assignee @me`
341
+ 6. Move to In Progress: `gh issue edit 316 --add-label "in progress"`
342
+
343
+ #### generic (any iOS project)
344
+ 1. Accept multiple input formats:
345
+ - **Free-text**: `"LoginView'da dark mode'da buton rengi gorunmuyor, contrast yetersiz"`
346
+ - **GitHub Issue URL**: parse via `gh issue view`
347
+ - **Jira ID + branch**: parse directly
348
+ 2. If free-text:
349
+ - Extract task summary from description
350
+ - Auto-generate branch: `fix/{short-kebab-description}` or `feature/{short-kebab-description}`
351
+ - Determine type from context: bug description → `fix/`, feature request → `feature/`
352
+ 3. No Jira integration needed — task ID is enough for tracking
353
+
354
+ **Step 2 — Worktree setup (all projects):**
355
+ 1. **Fetch latest from remote**: `git fetch origin`
356
+ 2. Determine worktree path:
357
+ - Jira ID var: `.worktrees/PROJ-{id}/`
358
+ - Jira ID yok (generic): `.worktrees/task-{shortId}/` (e.g. `.worktrees/task-3/`)
359
+ 3. Create or switch to git worktree:
360
+ - If remote branch exists: `git worktree add {worktree-path} origin/{branch} -b {branch}`
361
+ - If new branch: `git worktree add {worktree-path} -b {branch}`
362
+ - If worktree already exists: `cd {worktree-path} && git pull origin {branch}`
363
+ 4. Set git author (resolved from `prefs.global.identities[]` — routed by `platformIdentityRouting`, see `setup.md`):
364
+ ```
365
+ git config user.name "{identity.name}"
366
+ git config user.email "{identity.email}"
367
+ ```
368
+ 4. Create log file: `.worktrees/PROJ-{id}/agent-log.md` with header
369
+ 5. Create state file: `.worktrees/PROJ-{id}/agent-state.json` with:
370
+ ```json
371
+ {
372
+ "taskId": "PROJ-12345",
373
+ "branch": "feature/PROJ-12345-flight-filter",
374
+ "project": "my-ios-app",
375
+ "currentPhase": 0,
376
+ "status": "in_progress",
377
+ "startedAt": "2026-04-07T09:30:00Z",
378
+ "phases": {
379
+ "0": { "status": "done", "duration": "5s" },
380
+ "1": { "status": "pending" },
381
+ "2": { "status": "pending" },
382
+ "3": { "status": "pending", "todos": [], "retryCount": 0 },
383
+ "4": { "status": "pending", "reviewIteration": 0 },
384
+ "5": { "status": "pending" },
385
+ "6": { "status": "pending" },
386
+ "7": { "status": "pending" }
387
+ },
388
+ "analysisFindings": [],
389
+ "planTodos": [],
390
+ "reviewConsensus": null
391
+ }
392
+ ```
393
+ 6. Log: `✅ Phase 0: Init complete`
394
+
395
+ **IMPORTANT**: Update `agent-state.json` at EVERY phase transition. This file is the resume source of truth.
396
+
397
+ ### Phase 1: Analysis (claude-opus-4.6)
398
+ 1. Launch **explore agents** (parallel) to scan codebase:
399
+ - Related files to the task
400
+ - Existing patterns and conventions
401
+ - Potential impact areas
402
+ 2. Optionally launch **security-auditor** agent for pre-check
403
+ 3. Summarize findings
404
+ 4. Log: `📊 Phase 1: Analysis — {N} files identified, {summary}`
405
+
406
+ ### Phase 2: Planning (claude-opus-4.6)
407
+ 1. Create task breakdown → todos with dependencies
408
+ 2. Launch **ios-architect** agent for architecture review (if structural changes)
409
+ 3. Determine development approach per todo (new file, modify, refactor)
410
+ 4. Log: `🧠 Phase 2: Plan — {N} todos created`
411
+ 5. **Plan Approval Gate** (normal mode only — skipped for `--dev`, `autopilot`, `--dev autopilot`). Full flow in `refs/phases/phase-2-planning.md` Step 5:
412
+ - **5a — Clarification** (conditional, max 2 rounds): if the Jira/issue description is ambiguous (vague acceptance, UI task without Figma, API task without endpoint contract, `ambiguityScore >= 2`, parent-story scope drift), ask structured questions before rendering the plan. User answers → plan regenerated. 2. turda hâlâ net değilse "best-effort" banner'ı ile plan'ı bas.
413
+ - **5b — Approval loop**: render plan → user: `onayla`/`iptal`/serbest metin. Free-text düzenleme isteği → Opus plan revize eder → tekrar göster. No iteration cap; user controls exit via `onayla` or `iptal`.
414
+ - Persist `clarificationRounds`, `clarificationQuestions`, `clarificationAnswers`, `planIterations`, `planApprovedAt`, `planEditRequests` to `state.phases["2"]`.
415
+
416
+ ### Phase 3: Dev (claude-sonnet-4.6)
417
+ For each todo (respecting dependency order):
418
+ 1. Update todo status: `in_progress`
419
+ 2. **TDD cycle**:
420
+ - Write failing test → verify RED
421
+ - Write minimal code → verify GREEN
422
+ - Refactor if needed
423
+ 3. Run build: `xcodebuild` via **task agent**
424
+ 4. If build fails → fix → rebuild (max 3 attempts, track `retryCount` in `agent-state.json`)
425
+ 5. Update todo status: `done`
426
+ 6. Log: `⚡ Phase 3: {todo-id} — Test ✅ Build ✅`
427
+
428
+ ### Phase 4: Review (parallel + triage)
429
+ 0. **Diff Risk Scoring (advisory, v8.3+)** — before reviewer dispatch run `node pipeline/scripts/diff-risk-score.mjs --base "$BASE_BRANCH" --top 5` and inject the top-N risk-ranked files as a `${PRIORITY_FILES}` block into each reviewer's prompt. Heuristic, deterministic, sub-second, never gates the pipeline. Disabled when `prefs.global.diffRiskAdvisory = false`. Signals: security paths (×3), schema migrations (×4), public API surfaces (×2), no-test-change (×2.5), complexity delta (×1.5), UI-critical paths (×1.5), loc changed (×1).
430
+ 1. Launch **code-reviewer** agents in parallel. Reviewer set depends on which CLI is hosting the pipeline:
431
+ - **Claude Code** (2 reviewers): `claude-opus-4.6` (deep security + architecture) + `claude-sonnet-4.6` (quality + correctness)
432
+ - **Copilot CLI** (3 reviewers): `gpt-5.4` (edge cases, different perspective) + `claude-opus-4.6` + `claude-sonnet-4.6`
433
+ - Triage (both CLIs): single `claude-opus-4.6` pass over merged findings
434
+ 2. Collect findings, classify:
435
+ - 🔴 **Blocking** → must fix → back to Phase 3 (max 3 iterations)
436
+ - 🟡 **Important** → fix and re-review
437
+ - 🟢 **Suggestion** → apply if reasonable
438
+ 3. Log: `🔍 Phase 4: Review — {consensus}`
439
+
440
+ ### Phase 5: Test
441
+ Lets the user physically test the code before opening a PR. The prompt MUST make it explicit that saying yes **removes the worktree and checks the branch out locally** — otherwise the user is hit with an implicit side effect.
442
+
443
+ 0. **Test Gap Report (advisory, v8.3+)** — before the local-checkout prompt run `node pipeline/scripts/test-gap-scan.mjs --base "$BASE_BRANCH" --stack <ios|android|python|node>` to surface public symbols added in this branch that have no paired test. Heuristic, deterministic, sub-second, never gates by default. iOS `*View.swift` / Android `@Composable` symbols default to `important` severity; other public API additions to `suggestion`. Optional gating via `prefs.testGap.blockingThreshold` (loops back to Phase 4 rework when the important+blocking count exceeds the threshold). Disabled when `prefs.testGap.enabled = false`.
444
+ 1. **Ask** (in English; `promptLanguage` is locked to `en`):
445
+ - `Want to check out locally to test? (y/N)`
446
+ `(yes → worktree is removed and branch is checked out locally for Xcode/manual test · no → stay in worktree and go to Phase 6)`
447
+ - **No** → go to Phase 6
448
+ - **Yes** → continue:
449
+ 2. **Worktree'yi kaldır ve branch'e geç** (otomatik):
450
+ ```bash
451
+ cd {project-root}
452
+ git worktree remove .worktrees/PROJ-{id}
453
+ git checkout {branch-name}
454
+ ```
455
+ 3. **Test talimatı ver**:
456
+ ```
457
+ 🧪 Branch'e geçildi: {branch-name}
458
+
459
+ Test için:
460
+ • SourceTree → commit'leri ve diff'i kontrol et
461
+ • Xcode → THY.xcworkspace aç → Cmd+B → Cmd+U
462
+ • Simulatör'de manual test
463
+
464
+ ✅ "tamam" → Phase 6'ya geçer
465
+ ❌ "fix: ..." → worktree tekrar oluşturulur, Phase 3'e döner
466
+ ```
467
+ 4. **Pause and wait**: Kullanıcının yanıtını bekle
468
+ 5. **Eğer fix gerekiyorsa**:
469
+ - Worktree'yi tekrar oluştur: `git worktree add .worktrees/PROJ-{id} {branch-name}`
470
+ - Phase 3'e dön
471
+ 6. Log: `🧪 Phase 5: Test — {result}`
472
+
473
+ > ⚠️ Commit'ler branch'te yaşar — worktree silmek commit'leri SILMEZ.
474
+
475
+ ### Phase 6: Commit & PR
476
+
477
+ **Project-specific commit strategy:**
478
+
479
+ #### my-figma-app
480
+ 1. **Sor**: "Commit atmak ister misin?"
481
+ - **Hayır** → Pause, kullanıcı hazır olunca `resume` ile devam eder
482
+ - **Evet** → devam et:
483
+ 2. `/figma-iteration-commit {ComponentName}` çalıştır
484
+ - Build doğrulama, test, key sync, code review, submodule commit'leri `iteration/develop`'a, push with rebase-retry, issue housekeeping, auto-unblock dependents — hepsini skill halleder
485
+ - Manuel commit YAPMA — skill her şeyi yönetir
486
+ 3. Log: `📦 Phase 6: figma-iteration-commit — {ComponentName}`
487
+
488
+ #### my-app / generic
489
+ 1. **Sor**: "Commit atmak ister misin?"
490
+ - **Hayır** → Pause, kullanıcı hazır olunca `resume` ile devam eder
491
+ - **Evet** → devam et:
492
+ 2. Stage changes: `git add` with specific files (NOT `git add -A` — avoid committing .env, credentials, or other sensitive files)
493
+ 3. Commit with convention: `{type}({scope}): {description} [PROJ-{id}]`
494
+ - Author: resolved from `prefs.global.identities[]` (e.g. `Ada Lovelace <ada@example.com>`) — NEVER hardcode.
495
+ 4. Push to remote
496
+ 5. **Sor**: "Pull Request açmak ister misin?"
497
+ - **Hayır** → Phase 7'ye geç (sadece commit + push yapılmış olur)
498
+ - **Evet** → PR oluştur (target: source branch)
499
+ 6. **Issue body update** (if GitHub Issue exists):
500
+ - Fill PR links in issue body: `- **common:** {PR URL}`, `- **uicomponents:** {PR URL}`
501
+ - Update Progress flags: `Implementation 🟢`, `Testing 🟢`, `Code Connect 🟢`
502
+ - Use `gh issue edit {issueNo} --body "{updated body}"` — preserve all existing sections
503
+ 7. Log: `📦 Phase 6: Commit {sha} — PR #{number}`
504
+
505
+ ### Phase 7 Report Step 2: WIKI + Figma Screenshots (for component tasks with GitHub Issue)
506
+
507
+ Skip this sub-step if the task is NOT a component implementation (e.g., bug fix, refactor).
508
+
509
+ **Wiki submodule location**: `~/my-figma-app/TurkishAirlinesPackages/Packages/my-ui-components-wiki`
510
+
511
+ 1. **Determine wiki path** from component location:
512
+ - `DesignSystemCore/SeatMap/SeatMapAircraftDetails/` → `{wikiRoot}/DesignSystemCore/SeatMap/SeatMapAircraftDetails/`
513
+ - Pattern: `{wikiRoot}/{category}/{ComponentName}/`
514
+ 2. **Create directory**: `mkdir -p {wikiComponentPath}/assets`
515
+ 3. **Fetch Figma screenshot** via REST API:
516
+ ```bash
517
+ FIGMA_TOKEN=$(~/.copilot/lib/credential-store.sh get "Figma_Access_Token")
518
+ curl -s "https://api.figma.com/v1/images/{fileKey}?ids={nodeId}&format=png&scale=2" \
519
+ -H "X-Figma-Token: $FIGMA_TOKEN"
520
+ # Download the image URL to {wikiComponentPath}/assets/screenshot.png
521
+ ```
522
+ 4. **Generate main wiki page** (`{ComponentName}.md`):
523
+ - Follow existing wiki convention (see Tooltip.md, FileUploadFileDescription.md as references)
524
+ - Sections: title, screenshot embed, Figma link, Screen/Section/Size, Overview, Testing Identifiers, Localization Keys, Accessibility, Analytics Events, Sub-Components, Platform Implementations, Changelog
525
+ - Screenshot embed: `[[/{wikiCategory}/{ComponentName}/assets/screenshot.png|{ComponentName}]]`
526
+ 5. **Generate iOS wiki page** (`{ComponentName}-iOS.md`):
527
+ - Sections: Initializer (with code), Parameters table, Modifiers, Usage examples, Design Tokens table, Testing Identifiers iOS, Code Connect status, Snapshot Tests (with image embeds), Test Coverage, Changelog
528
+ - Snapshot image embeds use `[[/{wikiCategory}/{ComponentName}/assets/ios_{variant}.png]]` format
529
+ - Note: actual snapshot images are generated when tests run in CI/locally
530
+ 6. **Commit and push wiki**:
531
+ ```bash
532
+ cd {wikiRoot}
533
+ git add {wikiCategory}/{ComponentName}/
534
+ git commit -m "docs({scope}): add {ComponentName} wiki pages [PROJ-{id}]"
535
+ git fetch origin && git rebase origin/master
536
+ git push origin HEAD:master
537
+ ```
538
+ 7. **Update issue Wiki flag**: Set `Wiki` → `🟢` in issue body
539
+ 8. Log: `📖 Phase 7 Step 2: Wiki — {ComponentName}.md + {ComponentName}-iOS.md + screenshot`
540
+
541
+ ### Phase 7: Report
542
+ 1. Finalize `agent-log.md` with ALL sections:
543
+ - **Timeline table**: phase, agent, model, duration, status, detail
544
+ - **Agent Activity Report**: per-agent call count, total duration, models used, skill count
545
+ - **Token Tahmini**: estimated token usage per agent + total
546
+ - **Faz Bazlı Süre Dağılımı**: ASCII bar chart showing time per phase
547
+ - **Review İterasyonları**: blocking/important/suggestion counts per iteration
548
+ - **Files Changed**: `git diff --stat` output
549
+ - **Review Consensus**: final 🔴/🟡/🟢 status
550
+ - **Test Scenarios**: Turkish, for Jira (Ön koşul → Adımlar → Beklenen sonuç)
551
+ 2. Print compact summary to terminal:
552
+ ```
553
+ ✅ PROJ-{id} complete
554
+ ⏱️ Total: 3m 18s | Agents: 12 calls | Files: 4 changed
555
+ 📦 Commit: abc1234 | PR: #87
556
+ 📖 Wiki: {ComponentName}.md pushed to wiki master
557
+ 📋 Full report: .worktrees/PROJ-{id}/agent-log.md
558
+ ```
559
+ 3. Log: `📋 Phase 7: Report complete`
560
+
561
+ ---
562
+
563
+ ## Log File Format
564
+
565
+ Create at `.worktrees/PROJ-{id}/agent-log.md`:
566
+
567
+ ```markdown
568
+ # PROJ-{id} — {Task Title}
569
+ **Branch**: {branch-name}
570
+ **Project**: {my-ios-app | my-figma-app}
571
+ **Started**: {YYYY-MM-DD HH:mm}
572
+ **Finished**: {YYYY-MM-DD HH:mm}
573
+ **Total Duration**: {Xm Ys}
574
+ **Status**: 🔄 In Progress | ✅ Complete | ⏸️ Paused | ❌ Failed
575
+
576
+ ## Timeline
577
+
578
+ | # | Phase | Agent | Model | Duration | Tokens (in/out) | Status | Detail |
579
+ |---|-------|-------|-------|----------|-----------------|--------|--------|
580
+
581
+ > `Tokens (in/out)` her satır için `phase-tracker.sh tokens` accumulator'ından beslenir. Token telemetrisi yoksa hücre `—` olarak basılır.
582
+
583
+ ## Agent Activity Report
584
+
585
+ ### Agent Kullanımı
586
+ | Agent | Çağrı Sayısı | Toplam Süre | Model(ler) | Skill Sayısı |
587
+ |-------|-------------|-------------|------------|-------------|
588
+ | explore | 3 | 12s | haiku | 0 |
589
+ | ios-architect | 1 | 8s | opus | 6 |
590
+ | code-reviewer | 3 | 37s | opus, gpt-5.4, sonnet | 5 each |
591
+ | security-auditor | 1 | 6s | sonnet | 4 |
592
+ | task (build) | 4 | 2m 15s | haiku | 0 |
593
+ | **TOPLAM** | **12** | **3m 18s** | | |
594
+
595
+ ### Token Tahmini
596
+ | Kategori | Miktar |
597
+ |----------|--------|
598
+ | Ana agent (orchestrator) | ~{N}K tokens |
599
+ | Alt agent'lar (toplam) | ~{N}K tokens |
600
+ | **Toplam tahmini** | **~{N}K tokens** |
601
+ | Premium request sayısı | ~{N} |
602
+
603
+ > Token miktarları tahmindir. Kesin kullanım için `/usage` komutunu çalıştırın.
604
+
605
+ ### Faz Bazlı Süre Dağılımı
606
+ ```
607
+ Phase 0: Init ████░░░░░░░░░░░░ 5s
608
+ Phase 1: Analysis ██████░░░░░░░░░░ 12s
609
+ Phase 2: Planning █████░░░░░░░░░░░ 8s
610
+ Phase 3: Dev ████████████████ 2m 35s ← en uzun
611
+ Phase 4: Review ████████░░░░░░░░ 37s
612
+ Phase 5: Test ██░░░░░░░░░░░░░░ (kullanıcı bekleme)
613
+ Phase 6: Commit ██░░░░░░░░░░░░░░ 3s
614
+ Phase 7: Report ███░░░░░░░░░░░░░ 17s ← Jira + Wiki + Confluence + Log + Knowledge
615
+ ```
616
+
617
+ ### Review İterasyonları
618
+ | Iterasyon | Blocking | Important | Suggestion | Karar |
619
+ |-----------|----------|-----------|------------|-------|
620
+ | R1 | 0 | 1 | 2 | 🟡 fix + re-review |
621
+ | R2 | 0 | 0 | 1 | 🟢 pass |
622
+
623
+ ## Files Changed
624
+
625
+ ## Review Consensus
626
+
627
+ ## Cost Breakdown
628
+
629
+ (Phase 7'de `pipeline/scripts/render-agent-log-cost.sh <task-id>` ile basılır. Tracker'da token verisi yoksa renderer exit 2 döner ve bu bölüm sessizce atlanır.)
630
+
631
+ | Phase | Model | Tokens in | Tokens out | Est. USD |
632
+ |-------|-------|-----------|------------|----------|
633
+
634
+ ## Test Scenarios (Jira)
635
+ ```
636
+
637
+ ### Cost Breakdown — emit kontratı
638
+
639
+ Phase 7 agent-log compose adımı bu render'ı her zaman dener:
640
+
641
+ ```bash
642
+ COST_BLOCK=$(bash pipeline/scripts/render-agent-log-cost.sh "$TASK_ID" 2>/dev/null) && \
643
+ printf '\n%s\n' "$COST_BLOCK" >> "$AGENT_LOG"
644
+ ```
645
+
646
+ `reportContent.costSummary` ile bağımsız — agent-log her zaman taşır, PR/Jira gövdeleri opt-in. Renderer `cost-table.json`'u kullanır; fiyat güncellemesi tek noktadan iki yüzeye birden akar.
647
+
648
+ ---
649
+
650
+ ## SwiftUI Component Generation Guide (Generic)
651
+
652
+ When the task involves creating a SwiftUI component (any project, not just figma), follow this architecture:
653
+
654
+ ### Component Architecture: Configuration / View / Modifiers
655
+
656
+ Every component produces up to 5 files:
657
+
658
+ | File | When | Content |
659
+ |------|------|---------|
660
+ | `{Name}Configuration.swift` | Complex (>3 props) | Pure value type, all declarative properties |
661
+ | `{Name}View.swift` | Always | SwiftUI view, renders Configuration |
662
+ | `{Name}+Modifiers.swift` | Complex | Fluent modifier API chain |
663
+ | `{Name}Preview.swift` | Always | All meaningful variant previews |
664
+ | `{Name}Tests.swift` | Always | ViewInspector + Unit tests |
665
+
666
+ ### Configuration Purity Rule
667
+
668
+ Configuration structs hold ONLY declarative, value-type properties:
669
+
670
+ ```swift
671
+ // ✅ CORRECT — pure value type
672
+ struct ButtonConfiguration {
673
+ var title: String = ""
674
+ var style: ButtonStyle = .primary
675
+ var isEnabled: Bool = true
676
+ var icon: Image? = nil
677
+ }
678
+
679
+ // ❌ WRONG — these do NOT belong in Configuration
680
+ // Closures → View property
681
+ // @Binding → View property
682
+ // @State → View property
683
+ // AnyView / @ViewBuilder → View generic parameter
684
+ ```
685
+
686
+ ### View Implementation
687
+
688
+ ```swift
689
+ struct ButtonView: View {
690
+ let configuration: ButtonConfiguration
691
+ private var action: (() -> Void)? // closure lives in View, not Config
692
+
693
+ var body: some View {
694
+ Button(action: { action?() }) {
695
+ HStack(spacing: .Spacing.spacing8) {
696
+ if let icon = configuration.icon { icon }
697
+ Text(configuration.title)
698
+ .typographyStyle(.body1)
699
+ }
700
+ }
701
+ .disabled(!configuration.isEnabled)
702
+ }
703
+ }
704
+ ```
705
+
706
+ ### Modifier Pattern
707
+
708
+ ```swift
709
+ extension ButtonView {
710
+ func title(_ value: String) -> ButtonView {
711
+ var config = configuration
712
+ config.title = value
713
+ return ButtonView(configuration: config)
714
+ }
715
+ func style(_ value: ButtonStyle) -> ButtonView {
716
+ var config = configuration
717
+ config.style = value
718
+ return ButtonView(configuration: config)
719
+ }
720
+ func onTap(_ action: @escaping () -> Void) -> ButtonView {
721
+ var view = self
722
+ view.action = action
723
+ return view
724
+ }
725
+ }
726
+ ```
727
+
728
+ ### Simple vs Complex Decision
729
+
730
+ | Criteria | Simple | Complex |
731
+ |----------|--------|---------|
732
+ | Properties | ≤3 | >3 |
733
+ | Configuration file | No — props in View directly | Yes — separate struct |
734
+ | +Modifiers file | No | Yes |
735
+ | View file | All-in-one | Renders Configuration |
736
+
737
+ ### 3-Layer Test Strategy
738
+
739
+ | Layer | Tool | What It Validates |
740
+ |-------|------|-------------------|
741
+ | Structural | ViewInspector | Hierarchy, subview existence, applied modifiers |
742
+ | Visual | Snapshot Tests | Pixel-correct render: light/dark, RTL/LTR |
743
+ | Behavioral | Unit Tests | State changes, closures, configuration mutations |
744
+
745
+ ### Component Checklist (Commit Öncesi)
746
+
747
+ 1. Magic number yok — tüm değerler design token veya named constant
748
+ 2. Configuration purity — Config'te side-effect veya view mantığı yok
749
+ 3. Modifier doğruluğu — fluent API geçerli, paired modifier'lar View'da
750
+ 4. Accessibility — her interaktif element'te accessibility label/trait
751
+ 5. Preview — tüm anlamlı varyantlar preview'da
752
+ 6. Test — structural + unit testler yazıldı
753
+ 7. Dark mode — her iki renk şemasında doğru render
754
+ 8. Dynamic Type — metin büyük boyutlarda layout kırılmadan ölçekleniyor
755
+
756
+ ### Figma URL Verildiğinde
757
+
758
+ Eğer kullanıcı bir Figma URL verirse:
759
+ 1. Figma MCP tools ile tasarım verisini çek (get_design_context, get_screenshot)
760
+ 2. Design'daki renkleri, spacing'leri, typography'yi projenin token sistemine map et
761
+ 3. Yukarıdaki Configuration/View/Modifiers pattern'ini uygula
762
+ 4. Screenshot'u referans olarak kullan, kopyalama — projenin mevcut component'lerine adapte et
763
+
764
+ ---
765
+
766
+ ## Rules
767
+
768
+ - ❌ NEVER put "Copilot", "AI", "generated by" in code or commits
769
+ - ❌ NEVER commit without passing build
770
+ - ❌ NEVER commit without passing review
771
+ - ✅ Follow existing code style and conventions
772
+ - ✅ Use design tokens, no magic numbers
773
+ - ✅ Every public method must have tests
774
+ - ✅ Xcode header on new Swift files
775
+ - ✅ Commit message format:
776
+ - Jira var: `{type}({scope}): description [PROJ-{id}]`
777
+ - Jira yok (generic): `{type}({scope}): description [#{shortId}]`
778
+ - ✅ Git author: resolved from `prefs.global.identities[]` (e.g. `{identity.name} <{identity.email}>`) — NEVER hardcoded
779
+
780
+ ---
781
+
782
+ ## Skill Injection Strategy
783
+
784
+ Sub-agents have embedded skills in their `.agent.md` files. Each agent is pre-loaded with domain-specific knowledge:
785
+
786
+ ### Agent ↔ Skill Matrix
787
+
788
+ | Agent | Embedded Skills | When Activated |
789
+ |-------|----------------|----------------|
790
+ | **code-reviewer** | Code Review Excellence, Security Audit, Performance Review, TDD Verification, Error Detective | Phase 4: Review |
791
+ | **ios-architect** | Spec-Driven Architecture, Context Management, Multi-Agent Coordination, API Design, Performance Architecture, Design System Governance | Phase 2: Planning |
792
+ | **security-auditor** | iOS Security Deep Dive, App Store Review Gates, Third-Party SDK Risk, Error Detective (Security) | Phase 1: Analysis (pre-check) + Phase 4: Review |
793
+
794
+ ### Phase → Agent → Skills Flow
795
+
796
+ ```
797
+ Phase 1: Analysis
798
+ ├─ explore agents (no skills needed — pure file reading)
799
+ └─ security-auditor agent
800
+ └─ Skills: iOS Security Deep Dive, App Store Review Gates, SDK Risk
801
+
802
+ Phase 2: Planning
803
+ └─ ios-architect agent
804
+ └─ Skills: Spec-Driven Architecture, API Design, Performance Architecture
805
+
806
+ Phase 3: Dev
807
+ └─ Ana agent (reads copilot-instructions.md directly)
808
+ └─ TDD, token rules, code style — from global instructions
809
+
810
+ Phase 4: Review (parallel + triage)
811
+ Claude Code (2 parallel):
812
+ ├─ code-reviewer (claude-opus) → all 5 review skills
813
+ └─ code-reviewer (claude-sonnet) → all 5 review skills
814
+ Copilot CLI (3 parallel):
815
+ ├─ code-reviewer (gpt-5.4) → all 5 review skills
816
+ ├─ code-reviewer (claude-opus) → all 5 review skills
817
+ └─ code-reviewer (claude-sonnet) → all 5 review skills
818
+ Triage (both): claude-opus over merged findings
819
+ ```
820
+
821
+ ### Context-Aware Skill Injection
822
+
823
+ When calling sub-agents, the ana agent SHOULD add task-specific context to the prompt:
824
+
825
+ ```
826
+ For code-reviewer in Phase 4:
827
+ "Review this diff for PROJ-{id}. Focus areas based on analysis:
828
+ - {files changed summary from Phase 1}
829
+ - {architecture decisions from Phase 2}
830
+ - {specific risk areas identified}"
831
+
832
+ For ios-architect in Phase 2:
833
+ "Evaluate architecture for PROJ-{id}. Context:
834
+ - {task description from Jira/GitHub}
835
+ - {affected modules from Phase 1 analysis}
836
+ - {existing patterns found by explore agents}"
837
+ ```
838
+
839
+ This ensures sub-agents get both their embedded skills AND task-specific context.
840
+
841
+ ---
842
+
843
+ ## Status Display Format
844
+
845
+ When `multi-agent status` is called, show:
846
+
847
+ ```
848
+ 🤖 Multi-Agent Tasks
849
+
850
+ | ID | Jira | Branch | Phase | Status | Duration |
851
+ |----|------|--------|-------|--------|----------|
852
+ | #1 | PROJ-12345 | feature/PROJ-12345-... | 3/7 Dev | ⚡ todo-2 in progress | 4m |
853
+ | #2 | PROJ-67890 | feature/PROJ-67890-... | 4/7 Review | 🔍 Waiting consensus | 7m |
854
+ | #3 | PROJ-11111 | feature/PROJ-11111-... | 7/7 DONE | ✅ Complete | 12m |
855
+
856
+ 💡 kill #2 | log #1 | resume #3
857
+ ```
858
+
859
+ ---
860
+
861
+ ## Help Display
862
+
863
+ When called with no args or `help`, detect project and show relevant usage with pipeline explanation:
864
+
865
+ First show how it works:
866
+ ```
867
+ 🤖 How it works (8 phases):
868
+ 0. Init — Proje tespiti, worktree oluşturma, state dosyası
869
+ 1. Analysis — Codebase tarama (paralel explore agent'lar, Opus)
870
+ 2. Planning — Task breakdown, mimari review, kullanıcı onayı
871
+ 3. Dev — TDD döngüsü: test yaz → kod yaz → build (Sonnet)
872
+ 4. Review — Paralel review + Opus triage. Reviewer seti CLI'a göre:
873
+ • Claude Code → Opus + Sonnet (2 paralel)
874
+ • Copilot CLI → GPT-5.4 + Opus + Sonnet (3 paralel)
875
+ 5. Test — Opsiyonel: branch'e geç, Xcode'da manual test
876
+ 6. Commit — Commit + push + PR + issue body update (PR links + progress flags)
877
+ 7. Report — Tek mantıksal faz (5 adım):
878
+ 1) Jira comment (humanizer'dan geçmiş analiz + test senaryoları)
879
+ 2) Component wiki + Figma screenshot + wiki push (component task'larda)
880
+ 3) Opsiyonel Confluence sayfa güncellemesi
881
+ 4) agent-log.md'ye detaylı rapor + Quality & Metrics + telemetri
882
+ 5) Knowledge capture (architecture, patterns, gotchas) + memory
883
+
884
+ Her adım agent-log.md'ye loglanır. Herhangi bir fazda hata → pause.
885
+ resume ile kaldığı yerden devam eder.
886
+ ```
887
+
888
+ Then show project-specific usage:
889
+
890
+ **my-ios-app:**
891
+ ```
892
+ 🤖 Multi-Agent Task Orchestrator (my-ios-app)
893
+
894
+ Usage:
895
+ multi-agent "PROJ-XXX" "branch-name" → Full pipeline → assigns #ID
896
+ multi-agent status → All tasks with #ID, phase, status
897
+ multi-agent log [#id] → View task log
898
+ multi-agent resume [#id] → Resume paused task
899
+ multi-agent kill [#id] → Stop + delete worktree/branch/logs
900
+ multi-agent clear-logs → Delete all logs, keep worktrees
901
+ multi-agent purge → ⚠️ Full reset: delete everything
902
+ multi-agent review → Review current diff only
903
+
904
+ Example: multi-agent "PROJ-12345" "feature/PROJ-12345-flight-filter"
905
+ ```
906
+
907
+ **my-figma-app:**
908
+ ```
909
+ 🤖 Multi-Agent Task Orchestrator (figma)
910
+
911
+ Usage:
912
+ multi-agent "github-issue-url" → Full pipeline from issue
913
+ multi-agent status → All tasks with #ID, phase, status
914
+ multi-agent log [#id] → View task log
915
+ multi-agent resume [#id] → Resume paused task
916
+ multi-agent kill [#id] → Stop + delete worktree/branch/logs
917
+ multi-agent clear-logs → Delete all logs, keep worktrees
918
+ multi-agent purge → ⚠️ Full reset: delete everything
919
+ multi-agent review → Review current diff only
920
+
921
+ Example: multi-agent "https://github.com/my-org/my-figma-app/issues/316"
922
+ ```
923
+
924
+ **generic (any iOS project):**
925
+ ```
926
+ 🤖 Multi-Agent Task Orchestrator (generic)
927
+
928
+ Usage:
929
+ multi-agent "bug/feature description" → Full pipeline from free-text
930
+ multi-agent "github-issue-url" → Full pipeline from issue
931
+ multi-agent "PROJ-XXX" "branch-name" → Full pipeline with Jira
932
+ multi-agent status → All tasks with #ID, phase, status
933
+ multi-agent log [#id] → View task log
934
+ multi-agent resume [#id] → Resume paused task
935
+ multi-agent kill [#id] → Stop + delete worktree/branch/logs
936
+ multi-agent clear-logs → Delete all logs, keep worktrees
937
+ multi-agent purge → ⚠️ Full reset: delete everything
938
+ multi-agent review → Review current diff only
939
+
940
+ Example: multi-agent "LoginView'da dark mode'da buton rengi gorunmuyor"
941
+ ```
942
+
943
+ Pipeline: Init → Analysis → Planning → Development → Review → User Test → Commit → Wiki → Report
944
+ Each step logged to: .worktrees/{task-id}/agent-log.md