@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
@@ -1,64 +0,0 @@
1
- # figma-common - Platform-agnostic figma-to-component skills
2
-
3
- Shared skills that both `pipeline/skills/figma-ios/` (SwiftUI) and `pipeline/skills/figma-android/` (Jetpack Compose) dispatch. Moved here by WS-7b of the v5.0.0 rebuild so the platform trees stay lean and there's no duplication.
4
-
5
- ## What lives here (31 skills)
6
-
7
- **Workflow orchestration:**
8
-
9
- - `figma-component-start` - Issue → branches, check out worktree
10
- - `figma-component-confluence-sync` - Phase 7b: wiki markdown → Confluence XHTML
11
- - `figma-component-status-update` - Refresh Confluence dashboard
12
- - `figma-commit` - 14-item review + PR creation
13
- - `figma-iteration-commit` - Commit to iteration/develop + PR
14
-
15
- **Batch + iterate:**
16
-
17
- - `figma-iterate` - Auto loop: pick → implement → commit
18
- - `figma-cli-iterate` - Full CLI iterate (all phases)
19
- - `figma-cli-lean-iterate` - Iterate skipping test + wiki
20
- - `figma-cli-iterate-mend` - Re-implement discarded components
21
- - `figma-cli-skip` - Mark component as skipped
22
- - `figma-skip` - Skip + update Confluence dashboard
23
-
24
- **Issue + review:**
25
-
26
- - `figma-issue` - Create GitHub issue + optional Jira (feeds WS-6 triad)
27
- - `figma-review` - Interactive review gate (approve / bug / skip)
28
- - `figma-validate` - Pre-implementation validation
29
- - `figma-fix` - Targeted bug fix from review findings
30
- - `figma-mend` - Re-implement component from scratch
31
- - `figma-evolve-component` - Reconcile drift + additively extend an existing component (human-gated)
32
-
33
- **Setup + utility:**
34
-
35
- - `figma-setup` - Environment setup wizard (MCP, tokens, Code Connect CLI)
36
- - `figma-remote-mcp-auth` - Figma MCP OAuth flow
37
- - `figma-utility` - Figma data fetch (screenshots, metadata)
38
- - `figma-ui-patterns` - UI pattern library index
39
- - `figma-form-integration` - Form protocol adapter (shared UX)
40
- - `figma-price-integration` - Price protocol adapter (shared UX)
41
-
42
- **Cross-cutting interaction adapters (dual-platform: iOS SwiftUI + Android Jetpack Compose; native-first; project system via `figma-config` `ui.*`):**
43
-
44
- - `figma-navigation` - Navigation pattern: headless Output vs self-route; native `NavigationStack` or `ui.navigationSystem`
45
- - `figma-overlays` - Overlay pattern: toast/HUD/alert/data-modal; native `.alert`/`.sheet(item:)` or `ui.overlaySystem`
46
- - `figma-bottom-sheets` - Bottom-sheet/detent pattern: native `.presentationDetents` or `ui.sheetSystem`
47
-
48
- **Performance batch:**
49
-
50
- - `performance-start`, `performance-swiftui`, `performance-tour`, `performance-review-next`, `performance-iteration-commit-all`
51
-
52
- ## What does NOT live here
53
-
54
- Platform-specific skills stay under `figma-ios/` or `figma-android/`:
55
-
56
- - `figma-to-component` - orchestrator (platform-specific build command)
57
- - `figma-component-implement` - Swift / Kotlin code generator
58
- - `figma-component-test` - SwiftUI ViewInspector / Compose Testing
59
- - `figma-component-code-connect` - Swift / Kotlin Code Connect
60
- - `figma-component-wiki` - same 4-adapter contract, but platform-aware rendering
61
-
62
- ## Invocation
63
-
64
- Both platforms' orchestrators call the same common skill paths - no CLI or platform routing needed. The cross-CLI contract (`refs/cross-cli-contract.md` section 1.1) enforces the inventory.
@@ -1,152 +0,0 @@
1
- ---
2
- name: figma-bottom-sheets
3
- description: "Bottom-sheet / detent pattern integration for Figma-to-UI components (iOS SwiftUI + Android Jetpack Compose) — half-sheets, drawers, pinned bottom CTAs, resizable pull-up panels, content-sized sheets, and multi-step in-sheet flows. Native by default (SwiftUI .sheet+presentationDetents; Compose ModalBottomSheet + rememberModalBottomSheetState); an optional project-supplied detent-sheet system when figma-config declares one. Reach for this when a design shows a bottom sheet, half-sheet, bottom drawer, snap points, a sticky footer button, or a wizard-in-a-sheet."
4
- user-invocable: true
5
- allowed-tools: Read, Glob, Grep
6
- status: wip-v5
7
- sourced-from: upstream/figma-bottom-sheets
8
- ---
9
-
10
- # /figma-bottom-sheets - Bottom-Sheet / Detent Pattern Integration
11
-
12
- ## Purpose
13
-
14
- Consumed by the figma-to-swiftui pipeline (Phase 3D detection, Phase 4B view) and available ad-hoc, this skill defines how **bottom-anchored, detent-based surfaces** are presented. Sibling of `/figma-overlays` (transient/blocking overlays) and `/figma-navigation` (routing): native-SwiftUI default + a config-driven hook for projects that ship a custom detent-sheet engine.
15
-
16
- **Generic by design.** Default is stock SwiftUI `.sheet` + `.presentationDetents`. If `figma-config.json` declares `ui.sheetSystem`, route through that engine by name - same rules, project vocabulary. (Some apps replace system sheets because iOS 26 forces a Liquid-Glass floating inset on partial detents with no removal API; that replacement is the custom-system case, not the default.)
17
-
18
- ---
19
-
20
- ## Strict Rules (non-negotiable)
21
-
22
- 1. **The sheet surface is a caller concern; the component is the content.** A reusable component authored from Figma is the sheet's **content**, not the presenter. The caller owns the `isPresented`/`item` binding and the detents. A component that presents itself can't be reused elsewhere.
23
- 2. **No magic numbers.** Detents, corner radius, grabber size, insets come from tokens / figma-config token patterns, never hard-coded literals.
24
- 3. **Detents ascend, max 3.** Pass `[detent]` lowest→highest; the sheet opens at the lowest. Prefer semantic detents (`.medium`, `.large`, `.fraction`, content-height) over pixel heights where possible.
25
- 4. **A bottom sheet is not a modal card and not a navigation push.** Data alert/modal card → `/figma-overlays`; screen routing → `/figma-navigation` (a routed modal may still *render* as a sheet, but navigation owns the routing).
26
- 5. **Native SwiftUI is the default; a custom sheet engine is opt-in via config.** Only use a project detent-sheet system when `ui.sheetSystem.mode == "custom"`.
27
-
28
- ---
29
-
30
- ## When to Invoke This Skill
31
-
32
- 1. **Phase 3D - sheet affordance/pattern:** the design is (or contains) a bottom sheet / half-sheet / drawer, a **pinned bottom CTA** bar, a resizable pull-up panel, a **content-sized** sheet, or a **multi-step** in-sheet flow (in-sheet back/next that resizes per step).
33
- 2. **Phase 4B - View:** the view is authored as sheet content, or presents a child as a sheet.
34
- 3. **Ad-hoc:** "half sheet", "bottom drawer", "pull-up panel", "snap points", "sticky footer button", "multi-step sheet", "sheet sized to its content".
35
-
36
- **Not a bottom sheet (guards):**
37
- - Toast / HUD / alert / data modal card → `/figma-overlays`.
38
- - Full screen navigation / tab / deep link → `/figma-navigation`.
39
- - An inline expandable section within the page flow (not an anchored surface) → plain component content.
40
-
41
- ---
42
-
43
- ## Native-first architecture (default)
44
-
45
- ```
46
- Caller
47
- | owns isPresented / item + detents; presents the component as content
48
- v
49
- .sheet(item:/isPresented:) {
50
- ComponentContent() // the Figma-authored component
51
- .presentationDetents([.medium, .large])
52
- .presentationDragIndicator(.visible)
53
- .presentationBackgroundInteraction(.enabled(upThrough: .medium)) // passthrough-ish
54
- .presentationCornerRadius(<token>)
55
- }
56
- ```
57
-
58
- - **Half / expandable:** `.presentationDetents([.medium, .large])` or `[.fraction(0.25), .fraction(0.6), .large]`.
59
- - **Content-sized:** `.presentationDetents([.height(measuredHeight)])` using a height read via a preference key (a `sizeThatFits`/`GeometryReader` measured content height), then scroll past the cap.
60
- - **Pinned bottom CTA (part of the screen, not a modal):** `.safeAreaInset(edge: .bottom) { CTA() }` - reserves space, screen stays interactive. This is NOT a presented sheet.
61
- - **Backdrop behavior:** dim+block is the `.sheet` default; passthrough/interactive-behind uses `.presentationBackgroundInteraction(.enabled(...))`.
62
- - **Multi-step in-sheet flow:** drive a `NavigationStack(path:)` *inside* the sheet content for push/pop, resizing detents per step; each step is a headless view emitting `Output` (see `/figma-navigation`). If the target project's custom engine forbids a nested `NavigationStack`, use its engine (config hook).
63
- - **Overlays over a sheet:** mount the toast/HUD host on the sheet content (`/figma-overlays`), not the root.
64
-
65
- Tokens per `reference/ui` + figma-config token patterns.
66
-
67
- ## Config hook - project-supplied detent-sheet engine
68
-
69
- When `figma-config.json` declares:
70
- ```jsonc
71
- "ui": { "sheetSystem": {
72
- "mode": "custom",
73
- "brandedModifier": "bottomSheet", // .bottomSheet(isPresented:title:) branded entry
74
- "headlessModifiers": ["modalSheet", "dockedSheet", "expandableSheet", "detentNavigationSheet"],
75
- "detentType": "SheetDetentType", // detent enum
76
- "backdropType": "Backdrop", // backdrop enum
77
- "cornerRadiusToken": ".CornerRadius.radius12" // example: your branded top-corner radius token
78
- }}
79
- ```
80
- apply the SAME rules via the project's engine (names from config, do NOT hardcode):
81
- - Use `.{brandedModifier}` for product sheets needing brand chrome; the headless modifiers for unbranded surfaces / CTAs / resizable panels / multi-step flows.
82
- - Detents/backdrops use `{detentType}`/`{backdropType}` values; corner radius from `{cornerRadiusToken}`.
83
- - Multi-step flows use the engine's navigation sheet (e.g. `detentNavigationSheet` with a `Navigator<Route>`) rather than a raw nested `NavigationStack`.
84
- - One container-owned grabber (pass custom headers grabberless if the engine draws the grabber).
85
- - Present only from the surface's own host - never walk the scene/window hierarchy for a "top" controller.
86
-
87
- If `mode` is absent or `native`, use the native-first section.
88
-
89
- ## Android (Jetpack Compose)
90
-
91
- Same rules, Compose vocabulary. Default is Material3; a project sheet engine is used only when `ui.sheetSystem.mode == "custom"`.
92
-
93
- - **Half / expandable / drawer:** `ModalBottomSheet(onDismissRequest = { showSheet = false }, sheetState = rememberModalBottomSheetState(skipPartiallyExpanded = false)) { Content() }`. The caller owns `var showSheet by remember` and the `SheetState`; the Figma-authored composable is the **content**.
94
- - **Detents / snap points:** Material3 exposes partial + expanded (`skipPartiallyExpanded`, `SheetValue`); for finer snap points use an `AnchoredDraggable`-based sheet. Don't hard-code pixel heights - derive from content / fractions.
95
- - **Content-sized:** let the content wrap-height; the sheet grows to content then scrolls (inner `Column`/`LazyColumn` with `verticalScroll`).
96
- - **Pinned bottom CTA (part of the screen, not a sheet):** `Scaffold(bottomBar = { CTA() })` - reserves space, screen stays interactive. Not a `ModalBottomSheet`.
97
- - **Multi-step in-sheet flow:** host a nested `NavHost` (or step state) inside the sheet content, resizing per step; each step is a headless composable emitting events (see `/figma-navigation`).
98
- - **Overlays over the sheet:** show `Snackbar`/`AlertDialog` scoped to the sheet content (`/figma-overlays`), not the root.
99
-
100
- **Config hook:** `ui.sheetSystem.mode == "custom"` → use the project's `{brandedModifier}` / headless composables + `{detentType}` / `{backdropType}` and radius from `{cornerRadiusToken}`, resolved from config.
101
-
102
- Corner radius / grabber / insets from tokens (`MaterialTheme.shapes` / figma-config), not literals.
103
-
104
- ---
105
-
106
- ## Integration with Phase 3D
107
-
108
- Record in `04b_component_architecture.md`:
109
-
110
- ```markdown
111
- ## Bottom Sheet
112
- | Signal | Surface | Detents | Owner |
113
- |---|---|---|---|
114
- | Half-sheet picker | presented sheet | [.medium, .large] | caller owns isPresented |
115
- | Sticky "Devam Et" bar | pinned bottom CTA | n/a (safeAreaInset) | part of screen |
116
- | 3-step add flow | multi-step in-sheet | per-step (content height) | caller drives path |
117
- ```
118
-
119
- Property classification addition:
120
-
121
- | Classification | When | Swift Pattern |
122
- |---|---|---|
123
- | Sheet content | Component is authored to live inside a sheet | plain component; caller adds `.presentationDetents(...)` |
124
- | Present-child-as-sheet | Component reveals a child surface | caller-owned `isPresented`/`item` + `.sheet` (component emits the trigger intent) |
125
- | Pinned CTA | Sticky bottom action bar | `.safeAreaInset(edge:.bottom)` at the screen, not a modal |
126
-
127
- ## Integration with Phase 4B
128
- - Author the component as sheet **content**; let the caller own presentation + detents.
129
- - Prefer semantic detents; content-sized sheets measure height via a preference key.
130
- - Pinned CTA = `.safeAreaInset(edge:.bottom)`, not a presented sheet.
131
- - Multi-step flow = `NavigationStack` inside the sheet (native) or the engine's nav sheet (custom).
132
- - If `ui.sheetSystem.mode == custom`, use `{brandedModifier}`/headless modifiers + `{detentType}`/`{backdropType}` per config.
133
- - Verify on the simulator across detents, backdrop, and drag/dismiss on the project's min + current iOS.
134
-
135
- ---
136
-
137
- ## When NOT to Use Bottom-Sheet Integration
138
- - Toast/HUD/alert/data modal card → `/figma-overlays`.
139
- - Screen routing/tabs/deep links → `/figma-navigation`.
140
- - An inline expandable/disclosure within page flow → plain component content.
141
-
142
- ## Checklist - Before Leaving the Skill
143
- ```
144
- [ ] Component is sheet CONTENT; caller owns isPresented/item + detents
145
- [ ] Detents ascend, max 3; semantic detents preferred; no magic-number heights
146
- [ ] Pinned CTA uses safeAreaInset(edge:.bottom), not a presented sheet
147
- [ ] Content-sized sheet measures height via preference key, then scrolls
148
- [ ] Multi-step flow uses NavigationStack-in-sheet (native) or engine nav sheet (custom)
149
- [ ] Corner radius / grabber / insets from tokens, not literals
150
- [ ] Default native SwiftUI; custom engine only when figma-config ui.sheetSystem.mode == custom
151
- [ ] Overlays over the sheet mount on the sheet content surface
152
- ```
@@ -1,282 +0,0 @@
1
- ---
2
- name: figma-cli-iterate
3
- description: Runs the complete Figma-to-SwiftUI pipeline for one or more issues: pick → start → implement (phases 0-7) → commit. Returns a structured `ORCHESTRATOR_RESULT` block that the CLI orchestrator can parse.
4
- ---
5
-
6
- # /figma-cli-iterate - Full Pipeline Orchestrator for CLI
7
-
8
- ## Purpose
9
-
10
- Runs the complete Figma-to-SwiftUI pipeline for one or more issues: pick → start → implement (phases 0-7) → commit. Returns a structured `ORCHESTRATOR_RESULT` block that the CLI orchestrator can parse.
11
-
12
- This skill IS the orchestrator. It dispatches **only leaf-phase subagents** - individual phase instruction files that read one doc, execute gates, and return. It never delegates to multi-phase meta-skills.
13
-
14
- ## Forbidden Dispatches
15
-
16
- **NEVER dispatch these as subagents - they are orchestrators that would try to dispatch further:**
17
-
18
- - `/figma-to-swift-ui-implement` (Phases 0-4)
19
- - `/figma-to-swift-ui-test` (Phase 5)
20
- - `/figma-to-swift-ui-code-connect` (Phase 6)
21
- - `/figma-to-swift-ui-wiki` (Phase 7)
22
- - `/figma-iteration-commit`
23
- - `/figma-to-swiftui` (entire pipeline)
24
-
25
- Instead, dispatch the **leaf phase instruction files** directly via Agent tool.
26
-
27
- ## Parameters
28
-
29
- ```
30
- /figma-cli-iterate #230 ← implement specific issue
31
- /figma-cli-iterate ← auto-pick next available
32
- ```
33
-
34
- ---
35
-
36
- ## Constants
37
-
38
- ```
39
- GH_REPO = {github.componentsRepo}
40
- REPO_ROOT = git repo root (auto-detect)
41
- COMMON = ${REPO_ROOT}/{repos.common.path}
42
- UICOMPONENTS = ${REPO_ROOT}/{repos.components.path}
43
- WIKI = ${REPO_ROOT}/{repos.wiki.path}
44
- PHASE_DIR = .instructions/figma/figma-to-swiftui/phases
45
- REF_DIR = .instructions/figma/figma-to-swiftui/reference
46
- SCRIPT_DIR = .instructions/figma/figma-to-swiftui/scripts
47
- ```
48
-
49
- ---
50
-
51
- ## STEP 0 - Pick Issue
52
-
53
- Same logic as `/figma-iterate` STEP 0. Read `.instructions/figma/figma-iterate/SKILL.md` STEP 0 for details.
54
-
55
- Extract from issue body: `componentName`, `figmaUrl`, `nodeId`, `jiraKey`, `registryName`, `figmaPage`, `acceptanceCriteria`.
56
-
57
- ---
58
-
59
- ## STEP 1 - Start
60
-
61
- Run inline (not as a skill). Read `.instructions/figma/figma-to-swift-ui-start/SKILL.md` for the full procedure:
62
-
63
- 1. Parse issue → extract metadata
64
- 2. Fetch latest → checkout `develop` (main stays on develop, NO feature branch), `iteration/develop` (submodules)
65
- 3. Create feature branches on **submodules only** (common, uicomponents)
66
- 4. Registry lookup → `componentLocation`, `artifactPath`
67
- 5. Save specs artifact if acceptance criteria exist
68
- 6. Assign (GitHub + Jira)
69
- 7. **Move GitHub issue to "In Develop" on the Projects V2 board** - required. Read STEP 5 of the start skill. Run both GraphQL mutations: set Status option `bc6c45f7` (In Develop) and Phase option `0577dcda` (Implementation). Do NOT skip this - new issues are created with Status=Todo, so this transition is how the board reflects "someone is working on it".
70
-
71
- ---
72
-
73
- ## required PRE-READ
74
-
75
- Before dispatching any phase subagent, read:
76
- ${REF_DIR}/orchestrator-discipline.md
77
-
78
- These 6 rules govern orchestrator behavior. Violations have caused repeated failures. Follow them strictly.
79
-
80
- ---
81
-
82
- ## STEP 2 - Implement (Phases 0-7)
83
-
84
- This is the core orchestration. Run each phase by dispatching leaf subagents and scripts.
85
-
86
- ### Spec Injection (Option A)
87
-
88
- Before dispatching any Phase 4+ subagent, check if `{artifactPath}/pass0/specs.md` exists. If it does:
89
- 1. Read the specs
90
- 2. Extract concrete requirements
91
- 3. Inject them as **CRITICAL SPEC GATES** in the subagent dispatch prompt - NOT as a sidecar "also read this file" instruction
92
-
93
- This ensures spec requirements become indistinguishable from standard gates.
94
-
95
- ### Phase Dispatch Table
96
-
97
- All instruction files relative to `${PHASE_DIR}/`.
98
-
99
- | Phase | Instruction | Model | Subagent? |
100
- |-------|-------------|-------|-----------|
101
- | 0 | `phase-0-init.md` | opus | Yes (leaf) |
102
- | 1 | `${SCRIPT_DIR}/phase1-gather.py` | N/A | No (script) |
103
- | 2A | `phase-2a-testing-identifiers.md` | opus | Yes (leaf) |
104
- | 2B | `phase-2b-localization.md` | sonnet | Yes (leaf) |
105
- | 2C | `phase-2c-accessibility.md` | opus | Yes (leaf) |
106
- | 2D | `phase-2d-analytics.md` | sonnet | Yes (leaf) |
107
- | 3A | `phase-3a-location.md` | sonnet | Yes (leaf) |
108
- | 3C | `phase-3c-nested.md` | sonnet | Yes (leaf) |
109
- | 3H | `phase-3h-variant-config.md` | opus | Yes (leaf) |
110
- | 3D | `phase-3d-patterns.md` | opus | Yes (leaf) |
111
- | 4A | `phase-4a-configuration.md` | opus | Yes (leaf, COMPLEX only) |
112
- | 4B | `phase-4b-view.md` | opus | Yes (leaf) |
113
- | 4C | `phase-4c-documentation.md` | sonnet | Yes (leaf) |
114
- | 4D | `phase-4d-preview.md` | sonnet | Yes (leaf) |
115
- | 4E | `phase-4e-modifiers.md` | sonnet | Yes (leaf, COMPLEX only) |
116
- | 5A | `phase-5a-viewinspector.md` | sonnet | Yes (leaf) |
117
- | 5B | `phase-5b-snapshot.md` | sonnet | Yes (leaf) |
118
- | 5C | `phase-5c-unit.md` | sonnet | Yes (leaf, if applicable) |
119
- | 6 | `phase-6-code-connect.md` | opus | Yes (leaf) |
120
- | 7 | `phase-7a-wiki-generate.md` | sonnet | Yes (leaf) |
121
-
122
- ### Dispatch Prompt Template
123
-
124
- For each leaf subagent:
125
-
126
- ```
127
- You are executing {Phase Name} of the Figma-to-SwiftUI workflow.
128
-
129
- ## Context
130
- - Component: {componentName}
131
- - File Key: {fileKey}
132
- - Node ID: {nodeId}
133
- - Artifact Path: {artifactPath}
134
- - Component Location: {componentLocation}
135
- - GitHub Issue: {issueNumber} (omit if not available)
136
-
137
- ## CRITICAL SPEC GATES (only if specs exist)
138
- {Concrete requirements extracted from specs - phrased as mandatory instructions, not a file reference}
139
-
140
- ## Tool Restrictions
141
- {from dispatch table}
142
-
143
- ## Your Instructions
144
- Read and STRICTLY FOLLOW your phase instructions gate-by-gate from this file:
145
- {PHASE_DIR}/{instruction file}
146
-
147
- Read the return protocol from:
148
- {REF_DIR}/halt-return-protocol.md
149
-
150
- ## Reference Files
151
- {relevant reference files from the read-order table in figma-to-swiftui/SKILL.md}
152
-
153
- ## Previous Phase Artifacts
154
- {artifact paths in read order - compact first}
155
- ```
156
-
157
- ### Phase Execution Flow
158
-
159
- **Phase 0**: Dispatch subagent → verify `IMPLEMENTATION_HISTORY.md` created.
160
-
161
- **Phase 1**: Run script:
162
- ```bash
163
- python3 ${SCRIPT_DIR}/phase1-gather.py \
164
- --file-key "{fileKey}" --node-id "{nodeId}" \
165
- --artifact-path "{artifactPath}" --component-name "{componentName}"
166
- ```
167
- If `COMPLETE_WITH_DEFERRED` → dispatch Phase 1 deferred resolution subagent.
168
-
169
- **Phase 2**:
170
- 1. Pre-check: verify `pass1/_index.md`
171
- 2. Normalize: check sublayers in `design_context_response.json`
172
- 3. Registry lookup: `FigmaRegistryUtility utility-lookup --node-id '{nodeId}'`
173
- 4. Wave 1 (parallel): dispatch 2A + 2B + 2C subagents simultaneously
174
- 5. Wave 2: dispatch 2D subagent
175
- 6. Finalize: `python3 ${SCRIPT_DIR}/phase2-finalize.py ...`
176
-
177
- **Phase 3**:
178
- 1. Wave 1 (parallel): `python3 ${SCRIPT_DIR}/phase3-scripts.py wave1 ...` + dispatch 3A + 3C + 3H subagents
179
- 2. Missing token resolution: check `pass3/02_token_mapping.md` for "⚠️ not found". If any → dispatch resolution subagent
180
- 3. Wave 2: dispatch 3D subagent
181
- 4. Wave 3: `python3 ${SCRIPT_DIR}/phase3-scripts.py 3g ...`
182
- 5. Spec: `python3 ${SCRIPT_DIR}/phase3-scripts.py spec ...`
183
- 6. Write `pass3/_index.md`
184
-
185
- **Phase 4**:
186
- 1. Read `pass3/05_complexity.md` → SIMPLE or COMPLEX
187
- 2. Prepare directory: `mkdir -p {componentLocation}`
188
- 3. Wave 1 (parallel): dispatch 4B + 4C (+ 4A if COMPLEX)
189
- 4. Wave 2 (parallel): dispatch 4D (+ 4E if COMPLEX)
190
- 5. Validate: `bash ${SCRIPT_DIR}/validate-phase4.sh ...`
191
- 6. Build: `xcodebuild build ...` - fix errors if any
192
-
193
- **Phase 5**:
194
- 1. Switch to local common: comment out remote URL in Package.swift, add local path
195
- 2. Wave 1 (parallel): dispatch 5A + 5B subagents
196
- 3. Wave 2 (conditional): dispatch 5C if component has model logic
197
- 4. Run tests sequentially via `${SCRIPT_DIR}/run-uicomponents-tests.sh`
198
- 5. Revert Package.swift to remote
199
-
200
- **Phase 6**: Dispatch subagent → run `${SCRIPT_DIR}/phase6-finalize.py` as safety net.
201
-
202
- **Phase 7**: Dispatch subagent.
203
-
204
- ---
205
-
206
- ## STEP 3 - Commit
207
-
208
- Run inline. Read `.instructions/figma/figma-iteration-commit/SKILL.md` for the full procedure:
209
-
210
- 1. Rebase submodules to `iteration/develop` if on feature branch
211
- 2. Build validation
212
- 3. Commit to `iteration/develop` (common → uicomponents → wiki)
213
- 4. Push with rebase-retry loop
214
- 5. Clean up feature branches
215
- 6. Issue housekeeping (comment, phase update, wiki link)
216
- 7. Auto-unblock dependents
217
-
218
- ---
219
-
220
- ## STEP 4 - Loop
221
-
222
- Same logic as `/figma-iterate` STEP 4. If specific issue → exit after one. If `--count` → decrement. Otherwise → pick next.
223
-
224
- ---
225
-
226
- ## STEP 5 - Output Result
227
-
228
- Output EXACTLY this block as your FINAL message. Nothing else after it.
229
-
230
- ### On success (per component):
231
-
232
- ```
233
- ORCHESTRATOR_RESULT:
234
- status: COMPLETE
235
- issueNumber: <N>
236
- componentName: <name>
237
- figmaUrl: <url>
238
- nodeId: <nodeId>
239
- jiraKey: <key>
240
- commits:
241
- common: <SHA>
242
- uicomponents: <SHA>
243
- wiki: <SHA>
244
- phases: [0, 1, 2, 3, 4, 5, 6, 7]
245
- testsRun: <count>
246
- summary: <one-line>
247
- ```
248
-
249
- ### On failure:
250
-
251
- ```
252
- ORCHESTRATOR_RESULT:
253
- status: FAILED
254
- issueNumber: <N>
255
- componentName: <name>
256
- failedPhase: <phase>
257
- reason: <exact reason>
258
- suggestion: <what to fix>
259
- ```
260
-
261
- ### On full iteration completion:
262
-
263
- ```
264
- ORCHESTRATOR_RESULT:
265
- status: ITERATION_COMPLETE
266
- completed:
267
- - { issue: <N>, component: <name>, commits: { common: <SHA>, uicomponents: <SHA>, wiki: <SHA> } }
268
- failed:
269
- - { issue: <N>, component: <name>, phase: <phase>, reason: <reason> }
270
- remaining: <count>
271
- ```
272
-
273
- ---
274
-
275
- ## Error Handling
276
-
277
- - **No available issues**: Output ORCHESTRATOR_RESULT with status ITERATION_COMPLETE, empty completed/failed.
278
- - **Blocked issue**: Output FAILED.
279
- - **Phase HALT**: Show reason, ask user. If resolved → retry phase. If skipped → FAILED for this component, move to next.
280
- - **Build failure**: Attempt auto-fix. If unfixable → FAILED.
281
- - **3 consecutive failures**: Stop iteration.
282
- - **Subagents can't dispatch subagents**: This is why we dispatch only leaf phases. If a phase instruction file references dispatching subagents, ignore that - run its gates directly in the subagent.