@mmerterden/multi-agent-pipeline 11.1.0 → 11.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (342) hide show
  1. package/CHANGELOG.md +58 -0
  2. package/README.md +2 -2
  3. package/docs/FIGMA_PIPELINE.md +12 -25
  4. package/docs/architecture.md +3 -5
  5. package/docs/features.md +8 -8
  6. package/install/_common.mjs +9 -1
  7. package/install/_dev-only-files.mjs +0 -6
  8. package/install/claude.mjs +45 -18
  9. package/install/copilot.mjs +16 -14
  10. package/install/templates/copilot-instructions.md +3 -3
  11. package/package.json +1 -1
  12. package/pipeline/commands/{multi-agent.md → multi-agent/SKILL.md} +39 -39
  13. package/pipeline/commands/multi-agent/{analysis.md → analysis/SKILL.md} +18 -18
  14. package/pipeline/commands/multi-agent/{analysis-resolve.md → analysis-resolve/SKILL.md} +4 -4
  15. package/pipeline/commands/multi-agent/{autopilot.md → autopilot/SKILL.md} +4 -4
  16. package/pipeline/commands/multi-agent/{build-optimize.md → build-optimize/SKILL.md} +1 -1
  17. package/pipeline/commands/multi-agent/{channels.md → channels/SKILL.md} +12 -12
  18. package/pipeline/commands/multi-agent/{dev.md → dev/SKILL.md} +4 -4
  19. package/pipeline/commands/multi-agent/{dev-autopilot.md → dev-autopilot/SKILL.md} +4 -4
  20. package/pipeline/commands/multi-agent/{dev-local.md → dev-local/SKILL.md} +5 -5
  21. package/pipeline/commands/multi-agent/{dev-local-autopilot.md → dev-local-autopilot/SKILL.md} +4 -4
  22. package/pipeline/commands/multi-agent/{finish.md → finish/SKILL.md} +6 -6
  23. package/pipeline/commands/multi-agent/{generate.md → generate/SKILL.md} +3 -3
  24. package/pipeline/commands/multi-agent/{help.md → help/SKILL.md} +4 -4
  25. package/pipeline/commands/multi-agent/{local.md → local/SKILL.md} +5 -5
  26. package/pipeline/commands/multi-agent/{local-autopilot.md → local-autopilot/SKILL.md} +5 -5
  27. package/pipeline/commands/multi-agent/{manual-test.md → manual-test/SKILL.md} +1 -1
  28. package/pipeline/commands/multi-agent/refactor/SKILL.md +257 -0
  29. package/pipeline/commands/multi-agent/{resume.md → resume/SKILL.md} +1 -1
  30. package/pipeline/commands/multi-agent/{review.md → review/SKILL.md} +5 -5
  31. package/pipeline/commands/multi-agent/{setup.md → setup/SKILL.md} +1 -1
  32. package/pipeline/commands/multi-agent/{sync.md → sync/SKILL.md} +20 -58
  33. package/pipeline/{commands/multi-agent → multi-agent-refs}/_account-picker.md +2 -2
  34. package/pipeline/{commands/multi-agent → multi-agent-refs}/_dev-context.md +2 -2
  35. package/pipeline/{commands/multi-agent → multi-agent-refs}/_repo-picker.md +2 -2
  36. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/android-guide.md +1 -1
  37. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/channels/jira.md +1 -1
  38. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/channels/wiki.md +7 -7
  39. package/pipeline/multi-agent-refs/component-dispatch.md +92 -0
  40. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/cross-cli-contract.md +10 -77
  41. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/verify-by-test.md +1 -1
  42. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/generate-issue.md +2 -2
  43. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/issue-jira-triad.md +1 -1
  44. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/keychain.md +1 -1
  45. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/log-format.md +1 -1
  46. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/modes.md +2 -2
  47. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/operations.md +1 -1
  48. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-0-init.md +10 -10
  49. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-1-analysis.md +6 -6
  50. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-2-planning.md +3 -3
  51. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-3-dev.md +10 -10
  52. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-4-review.md +8 -8
  53. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-5-test.md +3 -3
  54. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-6-commit.md +4 -4
  55. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-7-report.md +6 -6
  56. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases.md +12 -12
  57. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/progress-contract.md +4 -4
  58. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/swiftui-guide.md +1 -1
  59. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/tracker-contract.md +3 -3
  60. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/wiki-capture.md +4 -4
  61. package/pipeline/preferences-template.json +17 -1
  62. package/pipeline/rules/figma-pipeline.md +2 -2
  63. package/pipeline/schemas/prefs.schema.json +0 -34
  64. package/pipeline/scripts/README.md +1 -3
  65. package/pipeline/scripts/build-stack-plugins.mjs +1 -1
  66. package/pipeline/scripts/fixtures/install-layout.tsv +6 -5
  67. package/pipeline/scripts/gen-mode-dispatch.mjs +3 -3
  68. package/pipeline/scripts/phase-banner.sh +2 -2
  69. package/pipeline/scripts/review-scope.mjs +94 -0
  70. package/pipeline/scripts/scan-agent-config.sh +2 -2
  71. package/pipeline/scripts/smoke-agent-log-cost.sh +1 -1
  72. package/pipeline/scripts/smoke-agent-model-routing.sh +4 -4
  73. package/pipeline/scripts/smoke-autopilot-circuit-breaker.sh +2 -2
  74. package/pipeline/scripts/smoke-channels-approval-gate.sh +2 -2
  75. package/pipeline/scripts/smoke-channels-flow.sh +5 -5
  76. package/pipeline/scripts/smoke-clarify.sh +1 -1
  77. package/pipeline/scripts/smoke-commands-skills-parity.sh +3 -3
  78. package/pipeline/scripts/smoke-community-gates.sh +1 -1
  79. package/pipeline/scripts/smoke-compliance-skills.sh +2 -2
  80. package/pipeline/scripts/smoke-cost-summary.sh +1 -1
  81. package/pipeline/scripts/smoke-cross-cli-behavior.sh +17 -43
  82. package/pipeline/scripts/smoke-cross-phase-cohesion.sh +1 -1
  83. package/pipeline/scripts/smoke-dev-critic.sh +1 -1
  84. package/pipeline/scripts/smoke-diff-explain.sh +1 -1
  85. package/pipeline/scripts/smoke-diff-risk.sh +1 -1
  86. package/pipeline/scripts/smoke-evidence-gate.sh +1 -1
  87. package/pipeline/scripts/smoke-figma-dispatch.sh +46 -57
  88. package/pipeline/scripts/smoke-gate-hooks.sh +1 -1
  89. package/pipeline/scripts/smoke-generate-issue.sh +8 -8
  90. package/pipeline/scripts/smoke-handoff-contract.sh +3 -3
  91. package/pipeline/scripts/smoke-identity-isolation.sh +2 -2
  92. package/pipeline/scripts/smoke-intent-guard.sh +1 -1
  93. package/pipeline/scripts/smoke-issue-comment-template.sh +2 -2
  94. package/pipeline/scripts/smoke-issue-jira-triad.sh +4 -4
  95. package/pipeline/scripts/smoke-language-axis.sh +6 -6
  96. package/pipeline/scripts/smoke-learnings-ledger.sh +3 -3
  97. package/pipeline/scripts/smoke-mode-dispatch-drift.sh +16 -16
  98. package/pipeline/scripts/smoke-model-fallback.sh +3 -3
  99. package/pipeline/scripts/smoke-multi-repo-integration.sh +2 -2
  100. package/pipeline/scripts/smoke-multi-repo-worktree.sh +1 -1
  101. package/pipeline/scripts/smoke-no-token-prompt.sh +5 -5
  102. package/pipeline/scripts/smoke-phase-0-multi-repo.sh +1 -1
  103. package/pipeline/scripts/smoke-phase-6-multi.sh +1 -1
  104. package/pipeline/scripts/smoke-phase4-gates.sh +45 -0
  105. package/pipeline/scripts/smoke-plan-approval-gate.sh +5 -5
  106. package/pipeline/scripts/smoke-plan-todos.sh +3 -3
  107. package/pipeline/scripts/smoke-pr-review-actions.sh +3 -3
  108. package/pipeline/scripts/smoke-prefs-language.sh +1 -1
  109. package/pipeline/scripts/smoke-progress-contract.sh +2 -2
  110. package/pipeline/scripts/smoke-push-retry.sh +1 -1
  111. package/pipeline/scripts/smoke-repo-map.sh +2 -2
  112. package/pipeline/scripts/smoke-shadow-git.sh +1 -1
  113. package/pipeline/scripts/smoke-skill-authoring.sh +4 -9
  114. package/pipeline/scripts/smoke-tasklist-ordering.sh +10 -10
  115. package/pipeline/scripts/smoke-test-gap.sh +1 -1
  116. package/pipeline/scripts/smoke-token-budget.sh +1 -1
  117. package/pipeline/scripts/smoke-token-preflight.sh +2 -2
  118. package/pipeline/scripts/smoke-tracker-contract.sh +13 -13
  119. package/pipeline/scripts/smoke-tracker-tokens-invocation.sh +5 -5
  120. package/pipeline/scripts/smoke-triage-memory.sh +2 -2
  121. package/pipeline/scripts/smoke-update-check.sh +1 -1
  122. package/pipeline/scripts/smoke-url-enrichment.sh +2 -2
  123. package/pipeline/scripts/smoke-validator-gates.sh +1 -1
  124. package/pipeline/scripts/smoke-verify-by-test.sh +3 -3
  125. package/pipeline/scripts/smoke-wiki-integration.sh +9 -33
  126. package/pipeline/scripts/smoke-work-summary.sh +1 -1
  127. package/pipeline/scripts/smoke-worktree-path-convention.sh +4 -4
  128. package/pipeline/scripts/test-integrity-gate.mjs +83 -0
  129. package/pipeline/scripts/uninstall.mjs +2 -2
  130. package/pipeline/skills/.skill-manifest.json +40 -160
  131. package/pipeline/skills/.skills-index.json +21 -372
  132. package/pipeline/skills/shared/README.md +1 -1
  133. package/pipeline/skills/shared/core/multi-agent/SKILL.md +1 -1
  134. package/pipeline/skills/shared/core/multi-agent-analysis/SKILL.md +2 -2
  135. package/pipeline/skills/shared/core/multi-agent-analysis-resolve/SKILL.md +3 -3
  136. package/pipeline/skills/shared/core/multi-agent-build-optimize/SKILL.md +1 -1
  137. package/pipeline/skills/shared/core/multi-agent-channels/SKILL.md +1 -1
  138. package/pipeline/skills/shared/core/multi-agent-finish/SKILL.md +1 -1
  139. package/pipeline/skills/shared/core/multi-agent-help/SKILL.md +1 -1
  140. package/pipeline/skills/shared/core/multi-agent-refactor/SKILL.md +116 -51
  141. package/pipeline/skills/shared/core/multi-agent-sync/SKILL.md +8 -30
  142. package/pipeline/skills/shared/external/backlog/BACKLOG.md +32 -0
  143. package/pipeline/skills/shared/external/backlog/SKILL.md +49 -0
  144. package/pipeline/skills/shared/external/compose-components/SKILL.md +14 -14
  145. package/pipeline/skills/shared/external/skill-creator/SKILL.md +48 -0
  146. package/pipeline/skills/shared/external/skill-creator/audit.md +59 -0
  147. package/pipeline/skills/shared/external/skill-creator/checklist.md +32 -0
  148. package/pipeline/skills/shared/external/skill-creator/examples.md +65 -0
  149. package/pipeline/skills/shared/external/skill-creator/label-check.md +43 -0
  150. package/pipeline/skills/shared/external/skill-creator/scripts/audit-panel.js +83 -0
  151. package/pipeline/skills/shared/external/skill-creator/template.md +67 -0
  152. package/pipeline/skills/skills-index.md +4 -43
  153. package/pipeline/commands/multi-agent/refactor.md +0 -188
  154. package/pipeline/commands/multi-agent/refs/component-dispatch.md +0 -92
  155. package/pipeline/scripts/smoke-existing-discovery-gate.sh +0 -71
  156. package/pipeline/scripts/smoke-figma-android-parity.sh +0 -148
  157. package/pipeline/scripts/smoke-figma-credential-store.sh +0 -105
  158. package/pipeline/scripts/smoke-figma-cross-cli-inventory.sh +0 -177
  159. package/pipeline/scripts/smoke-figma-sync.sh +0 -149
  160. package/pipeline/scripts/smoke-sync-delegation.sh +0 -74
  161. package/pipeline/skills/figma-android/README.md +0 -38
  162. package/pipeline/skills/figma-android/figma-component-code-connect/SKILL.md +0 -62
  163. package/pipeline/skills/figma-android/figma-component-implement/SKILL.md +0 -158
  164. package/pipeline/skills/figma-android/figma-component-test/SKILL.md +0 -120
  165. package/pipeline/skills/figma-android/figma-component-wiki/SKILL.md +0 -35
  166. package/pipeline/skills/figma-android/figma-to-component/SKILL.md +0 -124
  167. package/pipeline/skills/figma-common/README.md +0 -64
  168. package/pipeline/skills/figma-common/figma-bottom-sheets/SKILL.md +0 -152
  169. package/pipeline/skills/figma-common/figma-cli-iterate/SKILL.md +0 -282
  170. package/pipeline/skills/figma-common/figma-cli-iterate-mend/SKILL.md +0 -503
  171. package/pipeline/skills/figma-common/figma-cli-lean-iterate/SKILL.md +0 -288
  172. package/pipeline/skills/figma-common/figma-cli-skip/SKILL.md +0 -362
  173. package/pipeline/skills/figma-common/figma-commit/COMMON_REBASE.md +0 -206
  174. package/pipeline/skills/figma-common/figma-commit/REVIEW.md +0 -337
  175. package/pipeline/skills/figma-common/figma-commit/SKILL.md +0 -216
  176. package/pipeline/skills/figma-common/figma-component-confluence-sync/SKILL.md +0 -223
  177. package/pipeline/skills/figma-common/figma-component-start/SKILL.md +0 -251
  178. package/pipeline/skills/figma-common/figma-component-status-update/SKILL.md +0 -78
  179. package/pipeline/skills/figma-common/figma-evolve-component/SKILL.md +0 -61
  180. package/pipeline/skills/figma-common/figma-fix/SKILL.md +0 -321
  181. package/pipeline/skills/figma-common/figma-form-integration/SKILL.md +0 -542
  182. package/pipeline/skills/figma-common/figma-issue/SKILL.md +0 -750
  183. package/pipeline/skills/figma-common/figma-iterate/SKILL.md +0 -208
  184. package/pipeline/skills/figma-common/figma-iteration-commit/SKILL.md +0 -1020
  185. package/pipeline/skills/figma-common/figma-mend/SKILL.md +0 -331
  186. package/pipeline/skills/figma-common/figma-navigation/SKILL.md +0 -156
  187. package/pipeline/skills/figma-common/figma-overlays/SKILL.md +0 -142
  188. package/pipeline/skills/figma-common/figma-price-integration/SKILL.md +0 -398
  189. package/pipeline/skills/figma-common/figma-remote-mcp-auth/SKILL.md +0 -104
  190. package/pipeline/skills/figma-common/figma-review/SKILL.md +0 -400
  191. package/pipeline/skills/figma-common/figma-setup/SKILL.md +0 -514
  192. package/pipeline/skills/figma-common/figma-setup/scripts/fetch-mcp-token.py +0 -592
  193. package/pipeline/skills/figma-common/figma-skip/SKILL.md +0 -129
  194. package/pipeline/skills/figma-common/figma-ui-patterns/SKILL.md +0 -105
  195. package/pipeline/skills/figma-common/figma-ui-patterns/patterns/animated-gradient-border.md +0 -116
  196. package/pipeline/skills/figma-common/figma-utility/SKILL.md +0 -274
  197. package/pipeline/skills/figma-common/figma-utility/scripts/figma-utility.py +0 -808
  198. package/pipeline/skills/figma-common/figma-validate/SKILL.md +0 -633
  199. package/pipeline/skills/figma-common/performance-iteration-commit-all/SKILL.md +0 -716
  200. package/pipeline/skills/figma-common/performance-review-next/SKILL.md +0 -238
  201. package/pipeline/skills/figma-common/performance-start/SKILL.md +0 -430
  202. package/pipeline/skills/figma-common/performance-swiftui/SKILL.md +0 -706
  203. package/pipeline/skills/figma-common/performance-tour/SKILL.md +0 -423
  204. package/pipeline/skills/figma-ios/REVIEW_CHECKLIST.md +0 -67
  205. package/pipeline/skills/figma-ios/figma-component-code-connect/SKILL.md +0 -178
  206. package/pipeline/skills/figma-ios/figma-component-implement/SKILL.md +0 -184
  207. package/pipeline/skills/figma-ios/figma-component-test/SKILL.md +0 -219
  208. package/pipeline/skills/figma-ios/figma-component-wiki/SKILL.md +0 -274
  209. package/pipeline/skills/figma-ios/figma-to-component/SKILL.md +0 -416
  210. package/pipeline/skills/figma-ios/figma-to-component/halt-return-protocol.md +0 -57
  211. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-0-init.md +0 -307
  212. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-1-gathering.md +0 -119
  213. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-1.5-existing-discovery.md +0 -174
  214. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2-orchestrator.md +0 -333
  215. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2a-testing-identifiers.md +0 -368
  216. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2b-localization.md +0 -393
  217. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2c-accessibility.md +0 -617
  218. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2d-analytics.md +0 -352
  219. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3-orchestrator.md +0 -337
  220. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3a-location.md +0 -206
  221. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3b-tokens.md +0 -235
  222. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3c-nested.md +0 -214
  223. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3d-patterns.md +0 -902
  224. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3e-assets.md +0 -156
  225. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3f-utilities.md +0 -175
  226. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3g-property-coverage.md +0 -176
  227. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3h-variant-config.md +0 -333
  228. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4-orchestrator.md +0 -412
  229. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4a-configuration.md +0 -336
  230. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4b-view.md +0 -705
  231. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4c-documentation.md +0 -332
  232. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4d-preview.md +0 -380
  233. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4e-modifiers.md +0 -262
  234. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5-orchestrator.md +0 -482
  235. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5a-viewinspector.md +0 -274
  236. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5b-snapshot.md +0 -636
  237. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5c-unit.md +0 -142
  238. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-6-code-connect.md +0 -547
  239. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-7-wiki.md +0 -39
  240. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-7a-confluence-generate.md +0 -659
  241. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-7a-wiki-generate.md +0 -580
  242. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-8-cleanup.md +0 -51
  243. package/pipeline/skills/figma-ios/figma-to-component/reference/accessibility.md +0 -183
  244. package/pipeline/skills/figma-ios/figma-to-component/reference/analytics-events.md +0 -64
  245. package/pipeline/skills/figma-ios/figma-to-component/reference/code-connect.md +0 -531
  246. package/pipeline/skills/figma-ios/figma-to-component/reference/confluence-api.md +0 -89
  247. package/pipeline/skills/figma-ios/figma-to-component/reference/confluence-xhtml.md +0 -155
  248. package/pipeline/skills/figma-ios/figma-to-component/reference/figma-to-swiftui-effects.md +0 -196
  249. package/pipeline/skills/figma-ios/figma-to-component/reference/halt-return-protocol.md +0 -57
  250. package/pipeline/skills/figma-ios/figma-to-component/reference/localization-naming.md +0 -89
  251. package/pipeline/skills/figma-ios/figma-to-component/reference/macros.md +0 -227
  252. package/pipeline/skills/figma-ios/figma-to-component/reference/missing-tokens.md +0 -157
  253. package/pipeline/skills/figma-ios/figma-to-component/reference/orchestrator-discipline.md +0 -90
  254. package/pipeline/skills/figma-ios/figma-to-component/reference/registry.md +0 -116
  255. package/pipeline/skills/figma-ios/figma-to-component/reference/remote-mcp-script.md +0 -153
  256. package/pipeline/skills/figma-ios/figma-to-component/reference/rest-api-script.md +0 -130
  257. package/pipeline/skills/figma-ios/figma-to-component/reference/scripts-inventory.md +0 -218
  258. package/pipeline/skills/figma-ios/figma-to-component/reference/snapshot-testing.md +0 -188
  259. package/pipeline/skills/figma-ios/figma-to-component/reference/subcomponent-graph.md +0 -93
  260. package/pipeline/skills/figma-ios/figma-to-component/reference/testing-identifiers-naming.md +0 -98
  261. package/pipeline/skills/figma-ios/figma-to-component/reference/tools.md +0 -261
  262. package/pipeline/skills/figma-ios/figma-to-component/reference/viewinspector.md +0 -147
  263. package/pipeline/skills/figma-ios/figma-to-component/reference/wiki-to-confluence-mapping.md +0 -182
  264. package/pipeline/skills/figma-ios/figma-to-component/scripts/apply-author-login-map.py +0 -185
  265. package/pipeline/skills/figma-ios/figma-to-component/scripts/backfill-status.py +0 -609
  266. package/pipeline/skills/figma-ios/figma-to-component/scripts/build-author-registry.py +0 -332
  267. package/pipeline/skills/figma-ios/figma-to-component/scripts/bulk-sync-issues.py +0 -261
  268. package/pipeline/skills/figma-ios/figma-to-component/scripts/code-connect-data-gather.py +0 -184
  269. package/pipeline/skills/figma-ios/figma-to-component/scripts/code-connect-publish.sh +0 -188
  270. package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-component-status-upload.py +0 -768
  271. package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-component-status.py +0 -191
  272. package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-data-gather.py +0 -420
  273. package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-page-ids.example.json +0 -9
  274. package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-publish.py +0 -336
  275. package/pipeline/skills/figma-ios/figma-to-component/scripts/figma-subcomponent-graph.py +0 -391
  276. package/pipeline/skills/figma-ios/figma-to-component/scripts/figma-update.py +0 -292
  277. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/__init__.py +0 -1
  278. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/issue_sync_propagate.py +0 -93
  279. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/registry_writer.py +0 -299
  280. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_backfill_status.py +0 -343
  281. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_figma_update.py +0 -206
  282. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_figma_update_http.py +0 -149
  283. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_phase_clis.py +0 -281
  284. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_registry_writer.py +0 -332
  285. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_skill_figma_issue.py +0 -176
  286. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_skill_figma_review.py +0 -98
  287. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_update_issue.py +0 -298
  288. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_update_issue_gh.py +0 -195
  289. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase1-gather.py +0 -1298
  290. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase2-finalize.py +0 -228
  291. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase3-scripts.py +0 -1089
  292. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase4-finalize.py +0 -141
  293. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase5-finalize.py +0 -106
  294. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase6-finalize.py +0 -162
  295. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase7-finalize.py +0 -105
  296. package/pipeline/skills/figma-ios/figma-to-component/scripts/register-icons-codeconnect.py +0 -179
  297. package/pipeline/skills/figma-ios/figma-to-component/scripts/remote-mcp-fetch.py +0 -260
  298. package/pipeline/skills/figma-ios/figma-to-component/scripts/resolve-author-logins.py +0 -260
  299. package/pipeline/skills/figma-ios/figma-to-component/scripts/run-uicomponents-tests.sh +0 -86
  300. package/pipeline/skills/figma-ios/figma-to-component/scripts/sidebar-generator.py +0 -321
  301. package/pipeline/skills/figma-ios/figma-to-component/scripts/update-issue-from-registry.py +0 -1470
  302. package/pipeline/skills/figma-ios/figma-to-component/scripts/validate-phase4.sh +0 -176
  303. package/pipeline/skills/figma-ios/figma-to-component/scripts/validate-phase6.sh +0 -147
  304. package/pipeline/skills/figma-ios/figma-to-component/scripts/validate-phase7a.py +0 -629
  305. /package/pipeline/commands/multi-agent/{delete.md → delete/SKILL.md} +0 -0
  306. /package/pipeline/commands/multi-agent/{diff-explain.md → diff-explain/SKILL.md} +0 -0
  307. /package/pipeline/commands/multi-agent/{garbage-collect.md → garbage-collect/SKILL.md} +0 -0
  308. /package/pipeline/commands/multi-agent/{issue.md → issue/SKILL.md} +0 -0
  309. /package/pipeline/commands/multi-agent/{jira.md → jira/SKILL.md} +0 -0
  310. /package/pipeline/commands/multi-agent/{kill.md → kill/SKILL.md} +0 -0
  311. /package/pipeline/commands/multi-agent/{language.md → language/SKILL.md} +0 -0
  312. /package/pipeline/commands/multi-agent/{log.md → log/SKILL.md} +0 -0
  313. /package/pipeline/commands/multi-agent/{prune-logs.md → prune-logs/SKILL.md} +0 -0
  314. /package/pipeline/commands/multi-agent/{purge.md → purge/SKILL.md} +0 -0
  315. /package/pipeline/commands/multi-agent/{scan.md → scan/SKILL.md} +0 -0
  316. /package/pipeline/commands/multi-agent/{search.md → search/SKILL.md} +0 -0
  317. /package/pipeline/commands/multi-agent/{stack.md → stack/SKILL.md} +0 -0
  318. /package/pipeline/commands/multi-agent/{status.md → status/SKILL.md} +0 -0
  319. /package/pipeline/commands/multi-agent/{test.md → test/SKILL.md} +0 -0
  320. /package/pipeline/commands/multi-agent/{update.md → update/SKILL.md} +0 -0
  321. /package/pipeline/{commands/multi-agent → multi-agent-refs}/_input-parser.md +0 -0
  322. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/analysis-template.md +0 -0
  323. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/audit-guide.md +0 -0
  324. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/backend-guide.md +0 -0
  325. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/channels/confluence.md +0 -0
  326. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/channels/issue-comment.md +0 -0
  327. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/channels/pr-review-actions.md +0 -0
  328. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/channels/pr.md +0 -0
  329. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/conventions-defaults.md +0 -0
  330. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/autopilot-circuit-breaker.md +0 -0
  331. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/dev-critic.md +0 -0
  332. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/external-context-injection.md +0 -0
  333. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/model-fallback.md +0 -0
  334. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/plan-todos.md +0 -0
  335. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/prior-fix-detection.md +0 -0
  336. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/repo-map.md +0 -0
  337. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/shadow-git.md +0 -0
  338. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/frontend-guide.md +0 -0
  339. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/knowledge.md +0 -0
  340. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/multi-repo-integration-build.md +0 -0
  341. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/picker-contract.md +0 -0
  342. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/rules.md +0 -0
@@ -0,0 +1,65 @@
1
+ # Examples — descriptions & shape
2
+
3
+ ## Descriptions: the discovery lever
4
+
5
+ **Bad (vague — rarely triggers):**
6
+ ```yaml
7
+ description: Helps with navigation
8
+ ```
9
+ Why it fails: no "when", no trigger words, no platform — the router can't tell what task this matches.
10
+
11
+ **Good (what + when + triggers + platform):**
12
+ ```yaml
13
+ description: "In-app navigation for a SwiftUI iOS app — the coordinator-per-domain pattern, the tab shell, cross-domain navigation, deep links, and modals. Reach for this when adding a screen, a tab, a deep link, or a modal, or deciding how one screen reaches another."
14
+ ```
15
+ Why it works: states the domain, lists concrete triggers ("adding a screen, a tab, a deep link"), names the platform, and implies the boundary.
16
+
17
+ **Workflow example (action + when to run):**
18
+ ```yaml
19
+ description: "Branch, commit, push, and open a PR for this repo. Owns the git/PR spine and house guardrails — type-first branch names, no AI attribution, no force-push, correct base branch. Reach for this whenever a change is ready to ship."
20
+ ```
21
+
22
+ ### Recipe
23
+ `<what it covers/does> + <concrete when/trigger phrases> + <platform> + <implied boundary vs siblings>`
24
+
25
+ ---
26
+
27
+ ## Shape: reference vs workflow
28
+
29
+ **Wrong — a reference skill drifting into a procedure:**
30
+ ```markdown
31
+ ## Procedures
32
+ 1. Open the file
33
+ 2. Add the wrapper
34
+ 3. Register the route
35
+ 4. Build and run
36
+ ```
37
+ A reference (knowledge) skill should describe *the rule and where the canonical example lives*, not script the keystrokes.
38
+
39
+ **Right — reference stays descriptive:**
40
+ ```markdown
41
+ ## Decision rules
42
+ - New screen in a domain → add `<Name>Screen` under its Presentation layer,
43
+ wrap content in the domain's container, route via the domain coordinator.
44
+ Canonical: `<repo>/Features/Profile/ProfileScreen.swift`.
45
+ ```
46
+
47
+ **Right — workflow earns its numbered steps** (deterministic/irreversible spine):
48
+ ```markdown
49
+ ## Procedures
50
+ 1. Pre-flight: `git status` clean? on base branch?
51
+ 2. Branch: `git checkout -b <type>/<scope>/<desc>`
52
+ 3. Commit: stage; conventional message; strip any AI co-author trailer.
53
+ 4. Push; never force-push a protected branch.
54
+ 5. PR: `gh pr create --base <base> …` (no AI footer).
55
+ ## Verification
56
+ - `git log -1` shows clean message, no AI trailer, correct author.
57
+ ```
58
+
59
+ ---
60
+
61
+ ## Leanness: cut what the model already knows
62
+
63
+ **Bloat:** "PDF files are documents that contain text and images. To read them you first need a library that can parse the binary format…"
64
+
65
+ **Lean:** "Extract text from PDFs with `pdfplumber`."
@@ -0,0 +1,43 @@
1
+ # Label intent check — does a title carry its own meaning?
2
+
3
+ A label (rule title, section header, principle/constraint name) is the handle a reader grasps *before* the body. If the handle leaks the wrong shape — ambiguous, one-sided, or off-topic — the reader forms the wrong model and the body has to fight it. This is a cheap test that catches that early: have **fresh subagents infer the rule from the label alone**, then compare against your intended meaning. Convergence = the label is self-carrying.
4
+
5
+ ## When to run it
6
+ - Naming a **strict rule** or constraint inside a skill (the kind a reader must obey).
7
+ - A **section header** that gates non-trivial content (phase/principle/constraint names).
8
+ - Any label meant to convey the **whole intent** of its body (not a summary — the intent).
9
+ - Skip it for purely organizational labels ("Examples", "See also") — they carry no intent.
10
+
11
+ ## Inputs (collect first)
12
+ 1. **Candidate label** — the exact string under test.
13
+ 2. **Surrounding context** — one paragraph: which skill/doc, what adjacent labels cover, the domain concepts in play.
14
+ 3. **Intended meaning** — 1–3 sentences of ground truth (what the body says / what the reader should walk away believing). **Not** shown to the inference agents. If you can't state it in 3 sentences, the body is unclear — fix that first.
15
+
16
+ ## Procedure
17
+ **One iteration = 5 parallel subagents**, each given ONLY the label + context (never the body), each forced to commit:
18
+ ```
19
+ Context: <surrounding context — 1 paragraph>.
20
+ The label under test is: **"<candidate label>"**
21
+ You have NOT seen the body. From ONLY this label + context, what do you infer it
22
+ enforces / requires / means? 1–2 concrete sentences, under 80 words. Commit — no
23
+ hedging, no clarifying questions.
24
+ ```
25
+ Launch all 5 in the **same** message (parallel) so they're independent by construction.
26
+
27
+ **Convergence (per iteration), comparing the 5 inferences to the intended meaning:**
28
+ - **PASS** — ≥4/5 cover *all* key intent beats (including the bidirectional / edge / scope beat, if the intent has one). Wording drift is fine.
29
+ - **PARTIAL** — they consistently catch one side of a bidirectional rule but miss the other, or over-extend into an adjacent concern. Revise the label, re-run.
30
+ - **FAIL** — inferences diverge wildly or miss the core beat. Revise, re-run.
31
+
32
+ **Idempotency (after a PASS):** run **2 more rounds**, 5 fresh agents each (3×5 = 15 inferences), same prompt. Require **all 3 rounds PASS** with no new systematic miss — confirms the PASS wasn't luck. A regression in round 2/3 → treat as PARTIAL and iterate.
33
+
34
+ **Termination:** converged (3/3 PASS) → apply the label. 3 iterations without a PASS → stop, hand back the best candidate + the persistent miss; don't force a label that won't stick.
35
+
36
+ ## Defaults
37
+ 5 agents/round · 3 rounds · 80-word inference cap · max 3 iterations before handing back. High-stakes labels (top-level skill names, protocol names) → 7 agents × 3 rounds; throwaway section headers → 3 × 2.
38
+
39
+ ## Anti-patterns
40
+ - **Giving agents the body** — defeats the test (you're checking the label's *self-carrying* power).
41
+ - **Running sequentially** — they'd anchor on each other; must be parallel.
42
+ - **Tweaking one word on a FAIL** — step back and rethink the concept the label names, don't polish a wrong handle.
43
+ - **Accepting "mostly right"** — a label that reliably misses a beat misleads every reader the same way. Fix it, or accept the rule is one-sided and split the body.
@@ -0,0 +1,83 @@
1
+ // audit-panel.js — Workflow template for the multi-architect skill audit.
2
+ //
3
+ // Run with the Workflow tool. Edit the CONFIG block for your target, then launch.
4
+ // Returns { remaining, clearsBar, verdict }. If clearsBar is false, apply the
5
+ // `remaining` blockers/majors, then RE-RUN A FRESH copy (do NOT resume — agents
6
+ // must read the current files). Loop until clearsBar. See ../audit.md.
7
+
8
+ export const meta = {
9
+ name: 'skill-audit-panel',
10
+ description: 'Adversarial N-architect audit of a skill against the skill-creator rubric',
11
+ phases: [{ title: 'Audit' }, { title: 'Synthesis' }],
12
+ }
13
+
14
+ // ── CONFIG — edit these ──────────────────────────────────────────────────────
15
+ const TARGET = `
16
+ - <abs path to SKILL.md>
17
+ - <abs path to each bundled file / script>
18
+ `
19
+ const RUBRIC = `<abs path to reference/skill-creator/SKILL.md> + checklist.md`
20
+ const EXEMPLAR = `<abs path to a known-good skill of the same layer>`
21
+ const GROUND_TRUTH = `<abs path to the real source the skill describes (e.g. the iOS repo), with key facts>`
22
+ // Pick a lens set from audit.md (general or prompt-engineering). [label, brief] pairs:
23
+ const LENSES = [
24
+ ['discovery', 'description-as-discovery: what+when+trigger words+example; would it activate on a real task?'],
25
+ ['disambiguation', 'distinct from sibling skills; a reader can tell when to pick this vs a neighbor.'],
26
+ ['triggers', 'real user phrasings + synonyms are covered.'],
27
+ ['clarity', 'instructions unambiguous, ordered, single-interpretation; no vague directives.'],
28
+ ['layer', 'degrees of freedom match the layer (reference=descriptive / workflow=spine / tool=thin-index).'],
29
+ ['leanness', 'SKILL.md is an index; detail bundled one level deep; no duplication or bloat.'],
30
+ ['tokens', 'every line load-bearing; nothing restates what the model already knows.'],
31
+ ['consistency', 'terminology, naming, paths, cross-refs, examples all agree.'],
32
+ ['misfire', 'would the model over-apply, skip a gate, hallucinate a path, or follow it to a wrong output?'],
33
+ ['redteam', 'adversarially make it not trigger / trigger wrongly / produce broken output; hunt overclaims (says X, script does not).'],
34
+ ]
35
+ // ─────────────────────────────────────────────────────────────────────────────
36
+
37
+ const COMMON = `
38
+ You are auditing a skill. Read the CURRENT files and report ONLY genuine, specific,
39
+ reproducible findings for YOUR lens. Verify against the rubric + ground truth — do
40
+ not assume. Read-only; do NOT edit. If your lens is clean, return an empty array.
41
+
42
+ TARGET (the skill under audit):${TARGET}
43
+ RUBRIC (the bar): ${RUBRIC}
44
+ EXEMPLAR (known-good of this layer): ${EXEMPLAR}
45
+ GROUND TRUTH (what the skill describes): ${GROUND_TRUTH}
46
+
47
+ Each finding: severity (blocker|major|minor|nit), file:location, the problem, the concrete fix.
48
+ `
49
+
50
+ const FINDING = {
51
+ type: 'object', additionalProperties: false,
52
+ properties: {
53
+ severity: { type: 'string', enum: ['blocker', 'major', 'minor', 'nit'] },
54
+ location: { type: 'string' }, problem: { type: 'string' }, fix: { type: 'string' },
55
+ }, required: ['severity', 'location', 'problem', 'fix'],
56
+ }
57
+ const LENS_SCHEMA = {
58
+ type: 'object', additionalProperties: false,
59
+ properties: { lens: { type: 'string' }, findings: { type: 'array', items: FINDING } },
60
+ required: ['lens', 'findings'],
61
+ }
62
+
63
+ phase('Audit')
64
+ const results = await parallel(LENSES.map(([lens, brief]) => () =>
65
+ agent(`${COMMON}\n\nYOUR LENS — ${lens}: ${brief}`, { label: `audit:${lens}`, phase: 'Audit', schema: LENS_SCHEMA })
66
+ ))
67
+ const all = results.filter(Boolean).flatMap(r => r.findings.map(f => ({ ...f, lens: r.lens })))
68
+
69
+ phase('Synthesis')
70
+ const SYNTH = {
71
+ type: 'object', additionalProperties: false,
72
+ properties: {
73
+ remaining: { type: 'array', items: { type: 'object', additionalProperties: false,
74
+ properties: { ...FINDING.properties, lenses: { type: 'string' } },
75
+ required: [...FINDING.required, 'lenses'] } },
76
+ clearsBar: { type: 'boolean' },
77
+ verdict: { type: 'string' },
78
+ }, required: ['remaining', 'clearsBar', 'verdict'],
79
+ }
80
+ return await agent(
81
+ `${COMMON}\n\nYou are the SYNTHESIS architect. Below are ${all.length} raw findings from ${LENSES.length} lenses. Dedup overlaps (note which lenses raised each). DROP false positives — verify against the files before keeping; if you cannot reproduce it, drop it. Classify each survivor; set clearsBar=true ONLY if no blockers and no majors remain. One-paragraph verdict.\n\nRAW:\n${JSON.stringify(all, null, 2)}`,
82
+ { label: 'synthesis', phase: 'Synthesis', schema: SYNTH }
83
+ )
@@ -0,0 +1,67 @@
1
+ # Skill skeletons
2
+
3
+ Two skeletons — pick by layer. Both stay lean; push detail into one-level-deep bundled files.
4
+
5
+ Frontmatter fields used in this toolkit: `name`, `description` (required-quality), `user-invocable`, `argument-hint` (optional), `allowed-tools`.
6
+
7
+ ---
8
+
9
+ ## Reference skill (descriptive — knowledge)
10
+
11
+ No numbered procedures. Principles + pointers + heuristics.
12
+
13
+ ```markdown
14
+ ---
15
+ name: <aspect-noun> # e.g. navigation — NO platform prefix
16
+ description: <what it covers + when to reach for it + trigger words. Say "iOS/SwiftUI" so the router can disambiguate.>
17
+ user-invocable: true
18
+ allowed-tools: Read, Grep, Glob, Bash, Edit, Write
19
+ ---
20
+
21
+ # <name> — <short title>
22
+
23
+ > **Layer:** reference (knowledge)
24
+ > **Use when:** <trigger> **Hand off to:** <sibling skill>
25
+
26
+ ## Scope
27
+ In / out, 1–2 lines.
28
+
29
+ ## Invariants <!-- non-negotiables + the why -->
30
+ ## Conventions & golden paths <!-- point to canonical files; don't paste code -->
31
+ ## Decision rules <!-- if X do A; when unsure, ask/verify -->
32
+ ## Pitfalls <!-- known traps -->
33
+ ## Escape hatches <!-- when this doesn't apply → which skill -->
34
+ ```
35
+
36
+ ---
37
+
38
+ ## Workflow skill (imperative — action)
39
+
40
+ Has a numbered procedure, but only for the deterministic/irreversible spine. Cite reference skills for judgment. Always include a verification gate.
41
+
42
+ ```markdown
43
+ ---
44
+ name: <verb-phrase> # e.g. branch-and-pr
45
+ description: <what it does + when to run it + trigger words (iOS/SwiftUI).>
46
+ user-invocable: true
47
+ argument-hint: [<step> | ...]
48
+ allowed-tools: Bash, Read
49
+ ---
50
+
51
+ # <name> — <short title>
52
+
53
+ > **Layer:** workflow (action)
54
+ > **Use when:** <trigger> **Don't use when:** <hand off>
55
+
56
+ ## Scope
57
+ In / out, 1–2 lines.
58
+
59
+ ## Invariants <!-- hard rules / guardrails -->
60
+ ## Conventions & golden paths <!-- base branch, auth, canonical commands -->
61
+ ## Decision rules <!-- branch when…, escalate when… -->
62
+ ## Procedures <!-- IMPERATIVE: only deterministic/irreversible steps -->
63
+ 1. ...
64
+ ## Verification <!-- IMPERATIVE: prove it worked (build/run/test) -->
65
+ ## Pitfalls
66
+ ## Escape hatches
67
+ ```
@@ -3,7 +3,7 @@
3
3
  > Auto-generated by `pipeline/scripts/build-skills-index.mjs` - do not hand-edit.
4
4
  > Regenerate with `node pipeline/scripts/build-skills-index.mjs`.
5
5
 
6
- **226 skills** across 5 groups.
6
+ **187 skills** across 2 groups.
7
7
 
8
8
  | Group | Name | Platform | Description |
9
9
  |-------|------|----------|-------------|
@@ -29,6 +29,7 @@
29
29
  | external | `authentication` | - | Implement iOS authentication flows with AuthenticationServices and LocalAuthentication. Use when building Sign in with Apple, passkey/WebAut |
30
30
  | external | `avkit` | - | Create media playback experiences using AVKit. Use when adding video players with AVPlayerViewController, enabling Picture-in-Picture, routi |
31
31
  | external | `background-processing` | - | Schedule and execute background work on iOS using BGTaskScheduler. Use when registering BGAppRefreshTask for short background fetches, BGPro |
32
+ | external | `backlog` | - | The engineering backlog registry for deferred-but-approved work in this codebase. Every job the user defers ('defer it', 'add it to the list |
32
33
  | external | `callkit-voip` | - | Implement VoIP calling with CallKit and PushKit. Use when building incoming/outgoing call flows, registering for VoIP push notifications, co |
33
34
  | external | `ci-cd-pipelines` | - | CI/CD pipelines: GitHub Actions workflows, Docker multi-stage builds, environment management, secret management, deployment strategies |
34
35
  | external | `clean-code` | - | This skill embodies the principles of \"Clean Code\" by Robert C. Martin (Uncle Bob). Use it to transform \"code that works\" into \"code th |
@@ -55,42 +56,6 @@
55
56
  | external | `energykit` | - | Query grid electricity forecasts and submit load events using EnergyKit to help users optimize home electricity usage. Use when building sma |
56
57
  | external | `eventkit-calendar` | - | Create, read, and manage calendar events and reminders using EventKit and EventKitUI. Use when adding events to the user's calendar, creatin |
57
58
  | external | `fastapi-pro` | - | Build high-performance async APIs with FastAPI, SQLAlchemy 2.0, and Pydantic V2. Master microservices, WebSockets, and modern Python async p |
58
- | figma-common | `figma-bottom-sheets` | - | Bottom-sheet / detent pattern integration for Figma-to-UI components (iOS SwiftUI + Android Jetpack Compose) — half-sheets, drawers, pinned |
59
- | figma-common | `figma-cli-iterate` | - | Runs the complete Figma-to-SwiftUI pipeline for one or more issues: pick → start → implement (phases 0-7) → commit. Returns a structured `OR |
60
- | figma-common | `figma-cli-iterate-mend` | - | Runs the complete Figma-to-SwiftUI mend pipeline for a single issue whose component already exists under `Discarded/` and must be re-impleme |
61
- | figma-common | `figma-cli-lean-iterate` | - | Runs a lean Figma-to-SwiftUI pipeline for one or more issues: pick → start → implement (phases 0-4) → code connect (phase 6) → commit. Skips |
62
- | figma-common | `figma-cli-skip` | - | CLI variant of /figma-skip - fetches origin iteration/develop on mobile-common, marks a Figma component as skipped in the registry, commit |
63
- | figma-common | `figma-commit` | - | Reviews a Figma component implementation, then creates feature branches across submodules, commits, pushes, and opens PRs. Delegates mobile- |
64
- | figma-android | `figma-component-code-connect` | android | Generate Code Connect for Compose mappings - {Name}.figma.kt registers the composable with Figma's Code Connect so designers see live code |
65
- | figma-ios | `figma-component-code-connect` | ios | Figma Code Connect mapping publisher for implemented SwiftUI components. Creates + publishes .figma.swift registration for a component alrea |
66
- | figma-common | `figma-component-confluence-sync` | - | Syncs component documentation from the GitHub Wiki (source of truth) to Confluence. Reads wiki markdown, converts to Confluence XHTML, uploa |
67
- | figma-android | `figma-component-implement` | android | Generate a Jetpack Compose component (Configuration data class + Composable + Modifier extensions + Preview + README) from gathered Figma da |
68
- | figma-ios | `figma-component-implement` | ios | Figma → SwiftUI implementation for a single component. Runs Phases 0-4 of the figma-to-swiftui pipeline (init, data gathering, analysis, cod |
69
- | figma-common | `figma-component-start` | - | Reads a GitHub Issue, extracts component metadata, creates feature branches from `develop` (main repo) / `iteration/develop` (submodules), a |
70
- | figma-common | `figma-component-status-update` | - | Refreshes the global Component Implementation Status dashboard on Confluence. |
71
- | figma-android | `figma-component-test` | android | Generate Compose Testing + Paparazzi/Roborazzi snapshot + unit tests for a Jetpack Compose component. Android peer to pipeline/skills/figma- |
72
- | figma-ios | `figma-component-test` | ios | Test generator + runner for implemented SwiftUI Figma components. Produces ViewInspector structural tests, snapshot tests, and XCTest unit t |
73
- | figma-android | `figma-component-wiki` | android | Component wiki generation for Android. Dispatches to the same 4-mode adapter set as the iOS peer (submodule / in-repo / github-wiki / separa |
74
- | figma-ios | `figma-component-wiki` | - | Generate component wiki documentation with a pluggable adapter. Reads component source + FIGMA.md, renders markdown, then delegates publicat |
75
- | figma-common | `figma-evolve-component` | - | On-demand reconcile-and-extend for an ALREADY-implemented UI component (iOS SwiftUI or Android Jetpack Compose). Heals drift from current Fi |
76
- | figma-common | `figma-fix` | - | Applies a targeted fix for a bug filed during component review (via `/figma-review`), re-runs affected pipeline phases, closes the bug sub-i |
77
- | figma-common | `figma-form-integration` | - | Form pattern integration for Figma-to-SwiftUI components. Guides FormSection/FormField adoption - when a component embeds form-capable sub |
78
- | figma-common | `figma-issue` | - | Creates and manages GitHub Issues for Figma component implementations. |
79
- | figma-common | `figma-iterate` | - | Picks the next available component issue and runs the full pipeline end-to-end: start → implement → commit. Loops until no more issues are a |
80
- | figma-common | `figma-iteration-commit` | - | NEVER create branches on the main repo (REPO_ROOT). Do not create `iteration/develop` or any other branch on the main repo. Do not commit to |
81
- | figma-common | `figma-mend` | - | Re-implements discarded components from scratch using the figma-to-swiftui workflow, preserving old implementation as complementary referenc |
82
- | figma-common | `figma-navigation` | - | Navigation pattern integration for Figma-to-UI components (iOS SwiftUI + Android Jetpack Compose). Guides how a component reaches other scre |
83
- | figma-common | `figma-overlays` | - | Overlay pattern integration for Figma-to-UI components (iOS SwiftUI + Android Jetpack Compose) — toasts/snackbars, blocking loading HUDs, al |
84
- | figma-common | `figma-price-integration` | - | Price pattern integration for Figma-to-SwiftUI components. Guides PriceRepresentable protocol adoption when a component displays price data. |
85
- | figma-common | `figma-remote-mcp-auth` | - | Runs Figma Remote MCP OAuth flow to obtain and store a token in macOS Keychain. Requires OAuth client credentials. |
86
- | figma-common | `figma-review` | - | Guided review session for a Figma component implementation. Resolves the component, finds or creates the GitHub issue, shows relevant code, |
87
- | figma-common | `figma-setup` | - | One-time environment setup for Figma-to-SwiftUI workflow. Verifies MCP connectivity, API credentials, Code Connect CLI, and FigmaRegistryUti |
88
- | figma-common | `figma-skip` | - | Marks a Figma component as skipped in the component registry and updates the Confluence status dashboard. |
89
- | figma-android | `figma-to-component` | android | Figma-to-Compose component implementation workflow for Android. Takes a Figma URL and produces a production-ready Jetpack Compose component |
90
- | figma-ios | `figma-to-component` | - | Figma-to-SwiftUI component implementation workflow. Takes a Figma URL and produces a production-ready SwiftUI component through 8 phases - |
91
- | figma-common | `figma-ui-patterns` | - | Index of reusable SwiftUI UI-pattern guides (carousels, scroll tricks, animations, shaped views like scallops, pagers, parallax, gestures). |
92
- | figma-common | `figma-utility` | - | On-demand Figma data utility. Fetch screenshots, metadata, properties, tokens, design context, Code Connect mappings, node data, component l |
93
- | figma-common | `figma-validate` | - | Pre-implementation validation for Figma components. Checks 7 criteria: (1) Registry presence, (2) Code Connect strategy, (3) Design token co |
94
59
  | external | `firebase` | - | You're a developer who has shipped dozens of Firebase projects. You've seen the \"easy\" path lead to security breaches, runaway costs, and |
95
60
  | external | `github-actions-templates` | - | Production-ready GitHub Actions workflow patterns for testing, building, and deploying applications. |
96
61
  | core | `google-play-compliance` | - | Google Play Store publication compliance - bundletool + aapt2 + apksigner orchestration + 21-rule policy catalog with Play Console error c |
@@ -157,7 +122,7 @@
157
122
  | core | `multi-agent-setup` | - | First-run setup wizard: keychain token discovery, Git Identity onboarding, and pipeline preparation. |
158
123
  | core | `multi-agent-stack` | - | Select the active stack for this repo by enabling the matching marketplace plugin(s) in .claude/settings.json (ios/android/mobile/backend/fr |
159
124
  | core | `multi-agent-status` | - | Show every multi-agent task's ID, phase, branch, and status. |
160
- | core | `multi-agent-sync` | - | One-shot sync of the entire multi-agent ecosystem: Claude Code, Copilot CLI, pipeline repo, website, and remote-control. |
125
+ | core | `multi-agent-sync` | - | One-shot sync of the entire multi-agent ecosystem: Claude Code, Copilot CLI, pipeline repo, and website. |
161
126
  | core | `multi-agent-test` | - | UI Bug Hunter - iOS Simulator (simctl) + Android Emulator (adb). Auto-detects platform. Screenshot + tap + analyze on the booted device. T |
162
127
  | core | `multi-agent-update` | - | Update the pipeline to the latest version: git pull, install, migrate. |
163
128
  | external | `musickit-audio` | - | Integrate Apple Music playback, catalog search, and Now Playing metadata using MusicKit and MediaPlayer. Use when adding music search, Apple |
@@ -168,11 +133,6 @@
168
133
  | external | `passkit-wallet` | - | Integrate Apple Pay payments and Wallet passes using PassKit. Use when adding Apple Pay buttons, creating payment requests, handling payment |
169
134
  | external | `pdfkit` | - | Display and manipulate PDF documents using PDFKit. Use when embedding PDFView to show PDF files, creating or modifying PDFDocument instances |
170
135
  | external | `pencilkit-drawing` | - | Add Apple Pencil drawing with PKCanvasView, PKToolPicker, PKDrawing serialization/export, stroke inspection, and PencilKit/PaperKit handoffs |
171
- | figma-common | `performance-iteration-commit-all` | - | Reads `_tour_tracker.json`, validates all reviewed components in a single build+test cycle, pushes all local commits in a single push per su |
172
- | figma-common | `performance-review-next` | - | Reads `_tour_tracker.json`, presents a dashboard of produced components, and guides the user through reviewing each one. Fix commits are sep |
173
- | figma-common | `performance-start` | - | Identical to `/figma-to-swift-ui-start` for Steps 0-5. After printing the summary (Step 6), automatically invokes `/performance-swiftui <fig |
174
- | figma-common | `performance-swiftui` | - | Performance-optimized Figma-to-SwiftUI workflow. Same phases as figma-to-swiftui but with model downgrades on deterministic phases, parallel |
175
- | figma-common | `performance-tour` | - | Produces multiple Figma components in a single session. Validates dependencies, determines implementation order, produces each component seq |
176
136
  | external | `permissionkit` | - | Create child communication safety experiences using PermissionKit to request parental permission for children. Use when building apps that i |
177
137
  | external | `photos-camera-media` | - | Implement, review, or improve photo picking, camera capture, and media handling in iOS apps using PhotoKit and AVFoundation. Use when workin |
178
138
  | external | `play-store-review` | - | Prepare Android apps for Google Play Store review and compliance. Covers Google Play policy requirements, content rating questionnaire, targ |
@@ -185,6 +145,7 @@
185
145
  | external | `room-database` | - | Implement Room database persistence on Android with @Entity, @Dao, @Database, Flow-based reactive queries, TypeConverters for complex types, |
186
146
  | external | `search-first` | - | \| |
187
147
  | external | `shareplay-activities` | - | Build shared real-time experiences using GroupActivities and SharePlay. Use when implementing shared media playback, collaborative app featu |
148
+ | external | `skill-creator` | - | Author and refine skills for a plugin/toolkit efficiently. Use when creating a new skill, trimming or splitting an existing one, writing a s |
188
149
  | external | `speech-recognition` | - | Transcribe speech to text using Apple's Speech framework. Use when implementing live microphone transcription with AVAudioEngine, recognizin |
189
150
  | external | `spm-build-analysis` | - | Analyze Swift Package Manager dependencies, package plugins, module variants, and CI-oriented build overhead that slow Xcode builds. Use whe |
190
151
  | external | `storekit` | - | Implement, review, or improve in-app purchases and subscriptions using StoreKit 2. Use when building paywalls with SubscriptionStoreView or |
@@ -1,188 +0,0 @@
1
- ---
2
- description: "Analyse the project, score it, draft an improvement plan, take approval, develop, then ask whether to sync."
3
- allowed-tools: Read, Write, Edit, Bash, Glob, Grep, Agent, AskUserQuestion, WebFetch
4
- ---
5
-
6
- # Multi-Agent Refactor
7
-
8
- **One command. Analyse → Score → Plan → Approval → Develop → Sync.**
9
-
10
- Deep-analyses the current project, scores it across 10 categories, drafts every improvement, asks the user for approval, applies them, and asks about sync at the end.
11
-
12
- **Input**: $ARGUMENTS (optional - area to focus on: "security", "performance", "tests", etc.)
13
-
14
- ## Flow
15
-
16
- ```
17
- Step 0: RESEARCH Search GitHub + Reddit for competing projects, gather good ideas
18
- Step 1: SCAN Walk the project structure (files, LOC, dependencies, CI, tests)
19
- Step 2: ANALYZE Deep analysis across 10 categories
20
- Step 3: SCORE Each category /10, overall /100
21
- Step 4: PLAN List every improvement + competitor idea in priority order
22
- Step 5: ASK "Start the work?" - wait for user approval
23
- Step 6: IMPLEMENT Apply approved improvements one by one (lint, test, commit)
24
- Step 7: VERIFY Confirm every test + lint passes
25
- Step 8: ASK SYNC "Run multi-agent-sync?" - wait for user approval
26
- ```
27
-
28
- ## Step 0: RESEARCH - competitor analysis
29
-
30
- Before starting work, scan for similar projects:
31
-
32
- 1. **GitHub Search**: `multi-agent pipeline AI development` + `Claude Code pipeline` + `AI coding agent`
33
- - find repos with stars:>10
34
- - read their READMEs
35
- - extract their distinct features
36
- 2. **Reddit Search**: multi-agent discussions in `r/ClaudeAI`, `r/ChatGPT`, `r/LocalLLaMA`
37
- 3. **For each competitor, record**:
38
- - distinct features we DO NOT have
39
- - ideas worth adopting
40
- - things they do better than us
41
- - things we do better than them
42
- 4. **Add to the plan**: roll the high-impact + low-effort ideas into the PLAN step (P1 priority)
43
-
44
- Output format:
45
- ```
46
- | Source | Idea | Effort | Impact | In plan? |
47
- |--------|-------|--------|------|--------------|
48
- | ralph-loop | Symlink distribution | Low | High | Yes |
49
- | atelier | Persistent Brain | High | Very High | No (roadmap) |
50
- ```
51
-
52
- ## Step 1: SCAN
53
-
54
- ```
55
- - file count, LOC (cloc or wc -l)
56
- - package.json / Package.swift / build.gradle analizi
57
- - dependency count (runtime vs dev)
58
- - Is there a CI/CD pipeline? (.github/workflows/, fastlane/, Makefile)
59
- - Is there test infrastructure? How many tests? Coverage?
60
- - Is linter/formatter config in place?
61
- - Do README, LICENSE, SECURITY.md, CHANGELOG.md exist?
62
- - Git state: branch count, last commit date, tags
63
- ```
64
-
65
- ## Step 2: ANALYZE - 10 categories
66
-
67
- | # | Category | What to check |
68
- |---|----------|-------------------|
69
- | 1 | **Architecture** | Layer separation, modularity, SOLID, dependency direction |
70
- | 2 | **Code Quality** | Naming, magic numbers, dead code, complexity, DRY |
71
- | 3 | **Security** | Hardcoded secrets, input validation, Keychain, ATS, ATT |
72
- | 4 | **Tests** | Coverage, test pyramid, edge cases, mock/stub quality |
73
- | 5 | **CI/CD** | Build matrix, lint job, release automation, artifact caching |
74
- | 6 | **Docs** | README quality, JSDoc / Swift docs, API docs, CHANGELOG |
75
- | 7 | **Performance** | Bundle size, lazy loading, memory leaks, unnecessary re-renders |
76
- | 8 | **Accessibility** | a11y labels, tap targets, VoiceOver, Dynamic Type |
77
- | 9 | **Dependency Management** | Outdated deps, vulnerability scan, lockfile, version pinning |
78
- | 10 | **DevEx** | Onboarding time, script ergonomics, error messages, debug tooling |
79
-
80
- ## Step 3: SCORE
81
-
82
- Her kategori 10 uzerinden puanlanir. Output format:
83
-
84
- ```
85
- +---------------------+-------+
86
- | Category | Score |
87
- +---------------------+-------+
88
- | Architecture | 9/10 |
89
- | Code Quality | 8/10 |
90
- | Security | 9/10 |
91
- | Tests | 7/10 |
92
- | CI/CD | 8/10 |
93
- | Docs | 7/10 |
94
- | Performance | 9/10 |
95
- | Accessibility | 6/10 |
96
- | Dependency Mgmt | 8/10 |
97
- | DevEx | 9/10 |
98
- +---------------------+-------+
99
- | TOTAL | 80/100|
100
- +---------------------+-------+
101
- ```
102
-
103
- ## Step 4: PLAN
104
-
105
- List every improvement found:
106
-
107
- ```
108
- | # | Priority | Category | Improvement | Impact |
109
- |---|---------|----------|-------------|------|
110
- | 1 | P0 | Security | Remove hardcoded API key | Critical |
111
- | 2 | P0 | Tests | Missing edge-case tests | High |
112
- | 3 | P1 | CI/CD | Add Node matrix | Medium |
113
- | 4 | P1 | Docs | Functions missing JSDoc | Medium |
114
- | 5 | P2 | DevEx | npm script naming | Low |
115
- ```
116
-
117
- Priority levels:
118
- - **P0**: bugs, security holes, broken functionality - MUST fix
119
- - **P1**: clear quality improvement - should be done
120
- - **P2**: nice-to-have - if time allows
121
-
122
- ## Step 5: ASK - user approval
123
-
124
- After showing the plan, ask:
125
-
126
- > "Found X improvements (P0: N, P1: M, P2: K). Should I start the work?"
127
-
128
- Options:
129
- - "Yes, do all"
130
- - "Only P0"
131
- - "P0 + P1 only"
132
- - (the user may pick specific items)
133
-
134
- **NEVER start the work without approval.**
135
-
136
- ## Step 6: IMPLEMENT
137
-
138
- Apply the approved improvements one by one:
139
-
140
- 1. For each improvement:
141
- - apply the change
142
- - run the relevant tests
143
- - on success, move to the next
144
- - On failure, roll back and notify the user
145
- 2. After all changes are done:
146
- - run the full lint + test suite
147
- - on success, commit
148
-
149
- Commit format: `refactor(scope): {short description}`
150
-
151
- ## Step 7: VERIFY
152
-
153
- ```bash
154
- # Lint
155
- npm run lint 2>/dev/null || swift build 2>/dev/null
156
-
157
- # Test
158
- npm test 2>/dev/null || swift test 2>/dev/null || xcodebuild test 2>/dev/null
159
-
160
- # Result
161
- echo "Lint: PASS/FAIL"
162
- echo "Test: PASS/FAIL (X/Y passed)"
163
- ```
164
-
165
- ## Step 8: ASK SYNC
166
-
167
- After every improvement is applied, ask:
168
-
169
- > "Work is complete. Should I run multi-agent-sync?"
170
-
171
- Options:
172
- - "Yes" → run the `/sync` command (full ecosystem sync)
173
- - "No" → emit a report and stop
174
- - "Commit + push only" → push the current repo without sync
175
-
176
- ## Focus filter
177
-
178
- If $ARGUMENTS is set, focus on that category only:
179
-
180
- | Input | Focus |
181
- |-------|------|
182
- | `security` | Security analysis only |
183
- | `tests` | Test coverage and quality only |
184
- | `performance` | Performance optimisation only |
185
- | `docs` | Docs only |
186
- | `ci` | CI/CD pipeline only |
187
- | `deps` | Dependency updates only |
188
- | (empty) | All 10 categories (default) |
@@ -1,92 +0,0 @@
1
- # Component Dispatch (Phase 3 short-circuit)
2
-
3
- > **TLDR** - When `taskType === "component"` (Figma URL in task description or instruction-driven figma workflow), multi-agent Phase 3 **does not run the TDD loop**. It delegates the entire phase to the `figma-to-component` skill and relays its subphases 3.0 - 3.8 via the existing phase-tracker contract. Implementation lives in the skill; multi-agent's job is classification, dispatch, and state report.
4
-
5
- This doc is referenced from `refs/phases/phase-3-dev.md`. Keeping it separate lets `phase-3-dev.md` remain tight (it's already the largest phase doc) and gives the orchestrator-report contract a stable URL for both Claude-side and Copilot-side implementations.
6
-
7
- ## Entry conditions
8
-
9
- Phase 3 checks, in order:
10
-
11
- 1. `agent-state.json` has `taskType: "component"` (set by Phase 0 Step 7).
12
- 2. `agent-state.json` has a non-null `figmaUrl`.
13
-
14
- Either missing → log the anomaly to `agent-log.md` ("component dispatch expected but state incomplete"), fall through to the standard TDD path. Never silently skip the Figma work.
15
-
16
- ## Orchestrator resolution
17
-
18
- ```
19
- project.platform → orchestrator skill
20
- ────────────────────────────────────────────────────────────────
21
- ios → pipeline/skills/figma-ios/figma-to-component/
22
- android → pipeline/skills/figma-android/figma-to-component/
23
- web, multi-* → HALT with clear error (no web target)
24
- ```
25
-
26
- If the chosen skill directory is missing, **halt with a user-visible error**. Do not silently fall back to TDD - a component task ran through the bugfix path would produce wrong artefacts and waste review cycles.
27
-
28
- ## Dispatch call
29
-
30
- Emit `→ dispatching figma-to-component <componentName>` via the progress contract, then launch a single agent invocation on the orchestrator skill with:
31
-
32
- - `figmaUrl` - primary positional argument
33
- - `agentState` - the path to `agent-state.json` so the orchestrator enriches `state.phases["3"].subphases[]`
34
- - `progressVerbosity` - forced to `verbose` when multi-agent runs in `mode: "autopilot"`; otherwise inherits `prefs.global.settings.progressVerbosity`
35
- - `mode` - `"dev"` for `--dev` runs; `"full"` otherwise
36
-
37
- ## Subphase contract
38
-
39
- The orchestrator writes each of its 8 subphases to `state.phases["3"].subphases[]` as it completes, with the shape:
40
-
41
- ```json
42
- {
43
- "id": "3.4a",
44
- "name": "4A-Configuration",
45
- "status": "done",
46
- "startedAt": "2026-04-16T18:12:02Z",
47
- "endedAt": "2026-04-16T18:13:47Z",
48
- "buildStatus": "green",
49
- "testStatus": "green"
50
- }
51
- ```
52
-
53
- Multi-agent's `phase-tracker` reads this array without any component-specific code - the tracker UI renders one row per subphase under the Phase 3 row. No new phase-tracker field is required.
54
-
55
- ## Multi-repo report
56
-
57
- When multi-repo mode is active (`state.projects.length > 1`), the orchestrator reads `state.projects[]` and runs subphases against the correct per-repo worktree:
58
-
59
- - Tokens, accessibility metadata, testing identifiers, localisation keys → `repos.common`
60
- - View / Configuration / Modifiers / Preview → `repos.components`
61
- - Wiki markdown → `repos.wiki` (if `wiki.mode === submodule` or `separate-repo`) or `repos.components/.wiki/components/` (if `wiki.mode === in-repo`)
62
-
63
- Multi-agent does **not** split the component task into per-repo Phase 3 runs - the orchestrator is aware of the repo graph and sequences writes correctly (e.g. token writes to `common` precede component reads in `components`).
64
-
65
- ## Failure + resume
66
-
67
- On orchestrator failure (subphase hits a build/test error that can't auto-fix, or hits retry cap):
68
-
69
- 1. The orchestrator persists `{subphase, error, buildLog, testLog}` to `state.phases["3"].errors[]`.
70
- 2. Multi-agent increments `state.phases["3"].retryCount`.
71
- 3. Retry re-enters the orchestrator with `phase-<N>` as the argument (the failed subphase), so the skill resumes instead of restarting.
72
- 4. Hard kill at `retryCount === 3` → surface the errors to the user, halt Phase 3. Do not loop indefinitely.
73
-
74
- ## `--dev` mode behaviour
75
-
76
- When multi-agent is invoked with `--dev` (fast path: Init → Dev → Commit → Report), the orchestrator receives `mode: "dev"` and is allowed to elide:
77
-
78
- - Subphase 5C (unit tests) - structural + snapshot are still required
79
- - Subphase 7 (wiki) - can be deferred; Phase 7 in multi-agent will ask the user whether to run it post-commit
80
-
81
- Phase 4 reviewer-skipping is **not** Phase 3's concern - Phase 4 decides based on `mode: "dev"` itself.
82
-
83
- ## Cross-CLI parity
84
-
85
- Both Claude Code and Copilot CLI implementations MUST:
86
-
87
- - Use the same orchestrator resolution table (ios / android / halt).
88
- - Emit byte-identical progress lines (`→ dispatching figma-to-component <name>`).
89
- - Write the same `state.phases["3"].subphases[]` schema.
90
- - Treat `--dev` the same way (elide 5C + 7 by default, no reviewer skip).
91
-
92
- `smoke-cross-cli-behavior.sh` asserts this contract.