@mmerterden/multi-agent-pipeline 11.2.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 (331) hide show
  1. package/CHANGELOG.md +37 -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/_dev-only-files.mjs +0 -6
  7. package/install/claude.mjs +33 -15
  8. package/install/copilot.mjs +16 -14
  9. package/install/templates/copilot-instructions.md +3 -3
  10. package/package.json +1 -1
  11. package/pipeline/commands/{multi-agent.md → multi-agent/SKILL.md} +39 -39
  12. package/pipeline/commands/multi-agent/{analysis.md → analysis/SKILL.md} +18 -18
  13. package/pipeline/commands/multi-agent/{analysis-resolve.md → analysis-resolve/SKILL.md} +4 -4
  14. package/pipeline/commands/multi-agent/{autopilot.md → autopilot/SKILL.md} +4 -4
  15. package/pipeline/commands/multi-agent/{build-optimize.md → build-optimize/SKILL.md} +1 -1
  16. package/pipeline/commands/multi-agent/{channels.md → channels/SKILL.md} +12 -12
  17. package/pipeline/commands/multi-agent/{dev.md → dev/SKILL.md} +4 -4
  18. package/pipeline/commands/multi-agent/{dev-autopilot.md → dev-autopilot/SKILL.md} +4 -4
  19. package/pipeline/commands/multi-agent/{dev-local.md → dev-local/SKILL.md} +5 -5
  20. package/pipeline/commands/multi-agent/{dev-local-autopilot.md → dev-local-autopilot/SKILL.md} +4 -4
  21. package/pipeline/commands/multi-agent/{finish.md → finish/SKILL.md} +6 -6
  22. package/pipeline/commands/multi-agent/{generate.md → generate/SKILL.md} +3 -3
  23. package/pipeline/commands/multi-agent/{help.md → help/SKILL.md} +4 -4
  24. package/pipeline/commands/multi-agent/{local.md → local/SKILL.md} +5 -5
  25. package/pipeline/commands/multi-agent/{local-autopilot.md → local-autopilot/SKILL.md} +5 -5
  26. package/pipeline/commands/multi-agent/{manual-test.md → manual-test/SKILL.md} +1 -1
  27. package/pipeline/commands/multi-agent/refactor/SKILL.md +257 -0
  28. package/pipeline/commands/multi-agent/{resume.md → resume/SKILL.md} +1 -1
  29. package/pipeline/commands/multi-agent/{review.md → review/SKILL.md} +5 -5
  30. package/pipeline/commands/multi-agent/{setup.md → setup/SKILL.md} +1 -1
  31. package/pipeline/commands/multi-agent/{sync.md → sync/SKILL.md} +20 -58
  32. package/pipeline/{commands/multi-agent → multi-agent-refs}/_account-picker.md +2 -2
  33. package/pipeline/{commands/multi-agent → multi-agent-refs}/_dev-context.md +2 -2
  34. package/pipeline/{commands/multi-agent → multi-agent-refs}/_repo-picker.md +2 -2
  35. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/android-guide.md +1 -1
  36. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/channels/jira.md +1 -1
  37. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/channels/wiki.md +7 -7
  38. package/pipeline/multi-agent-refs/component-dispatch.md +92 -0
  39. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/cross-cli-contract.md +10 -77
  40. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/verify-by-test.md +1 -1
  41. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/generate-issue.md +2 -2
  42. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/issue-jira-triad.md +1 -1
  43. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/keychain.md +1 -1
  44. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/log-format.md +1 -1
  45. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/modes.md +2 -2
  46. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/operations.md +1 -1
  47. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-0-init.md +10 -10
  48. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-1-analysis.md +6 -6
  49. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-2-planning.md +3 -3
  50. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-3-dev.md +10 -10
  51. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-4-review.md +8 -8
  52. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-5-test.md +3 -3
  53. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-6-commit.md +4 -4
  54. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-7-report.md +6 -6
  55. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases.md +12 -12
  56. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/progress-contract.md +4 -4
  57. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/swiftui-guide.md +1 -1
  58. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/tracker-contract.md +3 -3
  59. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/wiki-capture.md +4 -4
  60. package/pipeline/preferences-template.json +17 -1
  61. package/pipeline/rules/figma-pipeline.md +2 -2
  62. package/pipeline/schemas/prefs.schema.json +0 -34
  63. package/pipeline/scripts/README.md +1 -3
  64. package/pipeline/scripts/fixtures/install-layout.tsv +6 -5
  65. package/pipeline/scripts/gen-mode-dispatch.mjs +3 -3
  66. package/pipeline/scripts/phase-banner.sh +2 -2
  67. package/pipeline/scripts/review-scope.mjs +94 -0
  68. package/pipeline/scripts/scan-agent-config.sh +2 -2
  69. package/pipeline/scripts/smoke-agent-log-cost.sh +1 -1
  70. package/pipeline/scripts/smoke-agent-model-routing.sh +4 -4
  71. package/pipeline/scripts/smoke-autopilot-circuit-breaker.sh +2 -2
  72. package/pipeline/scripts/smoke-channels-approval-gate.sh +2 -2
  73. package/pipeline/scripts/smoke-channels-flow.sh +5 -5
  74. package/pipeline/scripts/smoke-clarify.sh +1 -1
  75. package/pipeline/scripts/smoke-commands-skills-parity.sh +3 -3
  76. package/pipeline/scripts/smoke-community-gates.sh +1 -1
  77. package/pipeline/scripts/smoke-compliance-skills.sh +2 -2
  78. package/pipeline/scripts/smoke-cost-summary.sh +1 -1
  79. package/pipeline/scripts/smoke-cross-cli-behavior.sh +17 -43
  80. package/pipeline/scripts/smoke-cross-phase-cohesion.sh +1 -1
  81. package/pipeline/scripts/smoke-dev-critic.sh +1 -1
  82. package/pipeline/scripts/smoke-diff-explain.sh +1 -1
  83. package/pipeline/scripts/smoke-diff-risk.sh +1 -1
  84. package/pipeline/scripts/smoke-evidence-gate.sh +1 -1
  85. package/pipeline/scripts/smoke-figma-dispatch.sh +46 -57
  86. package/pipeline/scripts/smoke-gate-hooks.sh +1 -1
  87. package/pipeline/scripts/smoke-generate-issue.sh +8 -8
  88. package/pipeline/scripts/smoke-handoff-contract.sh +3 -3
  89. package/pipeline/scripts/smoke-identity-isolation.sh +2 -2
  90. package/pipeline/scripts/smoke-intent-guard.sh +1 -1
  91. package/pipeline/scripts/smoke-issue-comment-template.sh +2 -2
  92. package/pipeline/scripts/smoke-issue-jira-triad.sh +4 -4
  93. package/pipeline/scripts/smoke-language-axis.sh +6 -6
  94. package/pipeline/scripts/smoke-learnings-ledger.sh +3 -3
  95. package/pipeline/scripts/smoke-mode-dispatch-drift.sh +16 -16
  96. package/pipeline/scripts/smoke-model-fallback.sh +3 -3
  97. package/pipeline/scripts/smoke-multi-repo-integration.sh +2 -2
  98. package/pipeline/scripts/smoke-multi-repo-worktree.sh +1 -1
  99. package/pipeline/scripts/smoke-no-token-prompt.sh +5 -5
  100. package/pipeline/scripts/smoke-phase-0-multi-repo.sh +1 -1
  101. package/pipeline/scripts/smoke-phase-6-multi.sh +1 -1
  102. package/pipeline/scripts/smoke-phase4-gates.sh +45 -0
  103. package/pipeline/scripts/smoke-plan-approval-gate.sh +5 -5
  104. package/pipeline/scripts/smoke-plan-todos.sh +3 -3
  105. package/pipeline/scripts/smoke-pr-review-actions.sh +3 -3
  106. package/pipeline/scripts/smoke-prefs-language.sh +1 -1
  107. package/pipeline/scripts/smoke-progress-contract.sh +2 -2
  108. package/pipeline/scripts/smoke-push-retry.sh +1 -1
  109. package/pipeline/scripts/smoke-repo-map.sh +2 -2
  110. package/pipeline/scripts/smoke-shadow-git.sh +1 -1
  111. package/pipeline/scripts/smoke-skill-authoring.sh +4 -9
  112. package/pipeline/scripts/smoke-tasklist-ordering.sh +10 -10
  113. package/pipeline/scripts/smoke-test-gap.sh +1 -1
  114. package/pipeline/scripts/smoke-token-budget.sh +1 -1
  115. package/pipeline/scripts/smoke-token-preflight.sh +2 -2
  116. package/pipeline/scripts/smoke-tracker-contract.sh +13 -13
  117. package/pipeline/scripts/smoke-tracker-tokens-invocation.sh +5 -5
  118. package/pipeline/scripts/smoke-triage-memory.sh +2 -2
  119. package/pipeline/scripts/smoke-update-check.sh +1 -1
  120. package/pipeline/scripts/smoke-url-enrichment.sh +2 -2
  121. package/pipeline/scripts/smoke-validator-gates.sh +1 -1
  122. package/pipeline/scripts/smoke-verify-by-test.sh +3 -3
  123. package/pipeline/scripts/smoke-wiki-integration.sh +9 -33
  124. package/pipeline/scripts/smoke-work-summary.sh +1 -1
  125. package/pipeline/scripts/smoke-worktree-path-convention.sh +4 -4
  126. package/pipeline/scripts/test-integrity-gate.mjs +83 -0
  127. package/pipeline/scripts/uninstall.mjs +2 -2
  128. package/pipeline/skills/.skill-manifest.json +40 -160
  129. package/pipeline/skills/.skills-index.json +3 -372
  130. package/pipeline/skills/shared/README.md +1 -1
  131. package/pipeline/skills/shared/core/multi-agent/SKILL.md +1 -1
  132. package/pipeline/skills/shared/core/multi-agent-analysis/SKILL.md +2 -2
  133. package/pipeline/skills/shared/core/multi-agent-analysis-resolve/SKILL.md +3 -3
  134. package/pipeline/skills/shared/core/multi-agent-build-optimize/SKILL.md +1 -1
  135. package/pipeline/skills/shared/core/multi-agent-channels/SKILL.md +1 -1
  136. package/pipeline/skills/shared/core/multi-agent-finish/SKILL.md +1 -1
  137. package/pipeline/skills/shared/core/multi-agent-help/SKILL.md +1 -1
  138. package/pipeline/skills/shared/core/multi-agent-refactor/SKILL.md +116 -51
  139. package/pipeline/skills/shared/core/multi-agent-sync/SKILL.md +8 -30
  140. package/pipeline/skills/shared/external/compose-components/SKILL.md +14 -14
  141. package/pipeline/skills/skills-index.md +2 -43
  142. package/pipeline/commands/multi-agent/refactor.md +0 -188
  143. package/pipeline/commands/multi-agent/refs/component-dispatch.md +0 -92
  144. package/pipeline/scripts/smoke-existing-discovery-gate.sh +0 -71
  145. package/pipeline/scripts/smoke-figma-android-parity.sh +0 -148
  146. package/pipeline/scripts/smoke-figma-credential-store.sh +0 -105
  147. package/pipeline/scripts/smoke-figma-cross-cli-inventory.sh +0 -177
  148. package/pipeline/scripts/smoke-figma-sync.sh +0 -149
  149. package/pipeline/scripts/smoke-sync-delegation.sh +0 -74
  150. package/pipeline/skills/figma-android/README.md +0 -38
  151. package/pipeline/skills/figma-android/figma-component-code-connect/SKILL.md +0 -62
  152. package/pipeline/skills/figma-android/figma-component-implement/SKILL.md +0 -158
  153. package/pipeline/skills/figma-android/figma-component-test/SKILL.md +0 -120
  154. package/pipeline/skills/figma-android/figma-component-wiki/SKILL.md +0 -35
  155. package/pipeline/skills/figma-android/figma-to-component/SKILL.md +0 -124
  156. package/pipeline/skills/figma-common/README.md +0 -64
  157. package/pipeline/skills/figma-common/figma-bottom-sheets/SKILL.md +0 -152
  158. package/pipeline/skills/figma-common/figma-cli-iterate/SKILL.md +0 -282
  159. package/pipeline/skills/figma-common/figma-cli-iterate-mend/SKILL.md +0 -503
  160. package/pipeline/skills/figma-common/figma-cli-lean-iterate/SKILL.md +0 -288
  161. package/pipeline/skills/figma-common/figma-cli-skip/SKILL.md +0 -362
  162. package/pipeline/skills/figma-common/figma-commit/COMMON_REBASE.md +0 -206
  163. package/pipeline/skills/figma-common/figma-commit/REVIEW.md +0 -337
  164. package/pipeline/skills/figma-common/figma-commit/SKILL.md +0 -216
  165. package/pipeline/skills/figma-common/figma-component-confluence-sync/SKILL.md +0 -223
  166. package/pipeline/skills/figma-common/figma-component-start/SKILL.md +0 -251
  167. package/pipeline/skills/figma-common/figma-component-status-update/SKILL.md +0 -78
  168. package/pipeline/skills/figma-common/figma-evolve-component/SKILL.md +0 -61
  169. package/pipeline/skills/figma-common/figma-fix/SKILL.md +0 -321
  170. package/pipeline/skills/figma-common/figma-form-integration/SKILL.md +0 -542
  171. package/pipeline/skills/figma-common/figma-issue/SKILL.md +0 -750
  172. package/pipeline/skills/figma-common/figma-iterate/SKILL.md +0 -208
  173. package/pipeline/skills/figma-common/figma-iteration-commit/SKILL.md +0 -1020
  174. package/pipeline/skills/figma-common/figma-mend/SKILL.md +0 -331
  175. package/pipeline/skills/figma-common/figma-navigation/SKILL.md +0 -156
  176. package/pipeline/skills/figma-common/figma-overlays/SKILL.md +0 -142
  177. package/pipeline/skills/figma-common/figma-price-integration/SKILL.md +0 -398
  178. package/pipeline/skills/figma-common/figma-remote-mcp-auth/SKILL.md +0 -104
  179. package/pipeline/skills/figma-common/figma-review/SKILL.md +0 -400
  180. package/pipeline/skills/figma-common/figma-setup/SKILL.md +0 -514
  181. package/pipeline/skills/figma-common/figma-setup/scripts/fetch-mcp-token.py +0 -592
  182. package/pipeline/skills/figma-common/figma-skip/SKILL.md +0 -129
  183. package/pipeline/skills/figma-common/figma-ui-patterns/SKILL.md +0 -105
  184. package/pipeline/skills/figma-common/figma-ui-patterns/patterns/animated-gradient-border.md +0 -116
  185. package/pipeline/skills/figma-common/figma-utility/SKILL.md +0 -274
  186. package/pipeline/skills/figma-common/figma-utility/scripts/figma-utility.py +0 -808
  187. package/pipeline/skills/figma-common/figma-validate/SKILL.md +0 -633
  188. package/pipeline/skills/figma-common/performance-iteration-commit-all/SKILL.md +0 -716
  189. package/pipeline/skills/figma-common/performance-review-next/SKILL.md +0 -238
  190. package/pipeline/skills/figma-common/performance-start/SKILL.md +0 -430
  191. package/pipeline/skills/figma-common/performance-swiftui/SKILL.md +0 -706
  192. package/pipeline/skills/figma-common/performance-tour/SKILL.md +0 -423
  193. package/pipeline/skills/figma-ios/REVIEW_CHECKLIST.md +0 -67
  194. package/pipeline/skills/figma-ios/figma-component-code-connect/SKILL.md +0 -178
  195. package/pipeline/skills/figma-ios/figma-component-implement/SKILL.md +0 -184
  196. package/pipeline/skills/figma-ios/figma-component-test/SKILL.md +0 -219
  197. package/pipeline/skills/figma-ios/figma-component-wiki/SKILL.md +0 -274
  198. package/pipeline/skills/figma-ios/figma-to-component/SKILL.md +0 -416
  199. package/pipeline/skills/figma-ios/figma-to-component/halt-return-protocol.md +0 -57
  200. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-0-init.md +0 -307
  201. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-1-gathering.md +0 -119
  202. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-1.5-existing-discovery.md +0 -174
  203. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2-orchestrator.md +0 -333
  204. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2a-testing-identifiers.md +0 -368
  205. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2b-localization.md +0 -393
  206. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2c-accessibility.md +0 -617
  207. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2d-analytics.md +0 -352
  208. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3-orchestrator.md +0 -337
  209. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3a-location.md +0 -206
  210. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3b-tokens.md +0 -235
  211. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3c-nested.md +0 -214
  212. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3d-patterns.md +0 -902
  213. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3e-assets.md +0 -156
  214. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3f-utilities.md +0 -175
  215. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3g-property-coverage.md +0 -176
  216. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3h-variant-config.md +0 -333
  217. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4-orchestrator.md +0 -412
  218. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4a-configuration.md +0 -336
  219. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4b-view.md +0 -705
  220. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4c-documentation.md +0 -332
  221. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4d-preview.md +0 -380
  222. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4e-modifiers.md +0 -262
  223. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5-orchestrator.md +0 -482
  224. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5a-viewinspector.md +0 -274
  225. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5b-snapshot.md +0 -636
  226. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5c-unit.md +0 -142
  227. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-6-code-connect.md +0 -547
  228. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-7-wiki.md +0 -39
  229. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-7a-confluence-generate.md +0 -659
  230. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-7a-wiki-generate.md +0 -580
  231. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-8-cleanup.md +0 -51
  232. package/pipeline/skills/figma-ios/figma-to-component/reference/accessibility.md +0 -183
  233. package/pipeline/skills/figma-ios/figma-to-component/reference/analytics-events.md +0 -64
  234. package/pipeline/skills/figma-ios/figma-to-component/reference/code-connect.md +0 -531
  235. package/pipeline/skills/figma-ios/figma-to-component/reference/confluence-api.md +0 -89
  236. package/pipeline/skills/figma-ios/figma-to-component/reference/confluence-xhtml.md +0 -155
  237. package/pipeline/skills/figma-ios/figma-to-component/reference/figma-to-swiftui-effects.md +0 -196
  238. package/pipeline/skills/figma-ios/figma-to-component/reference/halt-return-protocol.md +0 -57
  239. package/pipeline/skills/figma-ios/figma-to-component/reference/localization-naming.md +0 -89
  240. package/pipeline/skills/figma-ios/figma-to-component/reference/macros.md +0 -227
  241. package/pipeline/skills/figma-ios/figma-to-component/reference/missing-tokens.md +0 -157
  242. package/pipeline/skills/figma-ios/figma-to-component/reference/orchestrator-discipline.md +0 -90
  243. package/pipeline/skills/figma-ios/figma-to-component/reference/registry.md +0 -116
  244. package/pipeline/skills/figma-ios/figma-to-component/reference/remote-mcp-script.md +0 -153
  245. package/pipeline/skills/figma-ios/figma-to-component/reference/rest-api-script.md +0 -130
  246. package/pipeline/skills/figma-ios/figma-to-component/reference/scripts-inventory.md +0 -218
  247. package/pipeline/skills/figma-ios/figma-to-component/reference/snapshot-testing.md +0 -188
  248. package/pipeline/skills/figma-ios/figma-to-component/reference/subcomponent-graph.md +0 -93
  249. package/pipeline/skills/figma-ios/figma-to-component/reference/testing-identifiers-naming.md +0 -98
  250. package/pipeline/skills/figma-ios/figma-to-component/reference/tools.md +0 -261
  251. package/pipeline/skills/figma-ios/figma-to-component/reference/viewinspector.md +0 -147
  252. package/pipeline/skills/figma-ios/figma-to-component/reference/wiki-to-confluence-mapping.md +0 -182
  253. package/pipeline/skills/figma-ios/figma-to-component/scripts/apply-author-login-map.py +0 -185
  254. package/pipeline/skills/figma-ios/figma-to-component/scripts/backfill-status.py +0 -609
  255. package/pipeline/skills/figma-ios/figma-to-component/scripts/build-author-registry.py +0 -332
  256. package/pipeline/skills/figma-ios/figma-to-component/scripts/bulk-sync-issues.py +0 -261
  257. package/pipeline/skills/figma-ios/figma-to-component/scripts/code-connect-data-gather.py +0 -184
  258. package/pipeline/skills/figma-ios/figma-to-component/scripts/code-connect-publish.sh +0 -188
  259. package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-component-status-upload.py +0 -768
  260. package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-component-status.py +0 -191
  261. package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-data-gather.py +0 -420
  262. package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-page-ids.example.json +0 -9
  263. package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-publish.py +0 -336
  264. package/pipeline/skills/figma-ios/figma-to-component/scripts/figma-subcomponent-graph.py +0 -391
  265. package/pipeline/skills/figma-ios/figma-to-component/scripts/figma-update.py +0 -292
  266. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/__init__.py +0 -1
  267. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/issue_sync_propagate.py +0 -93
  268. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/registry_writer.py +0 -299
  269. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_backfill_status.py +0 -343
  270. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_figma_update.py +0 -206
  271. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_figma_update_http.py +0 -149
  272. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_phase_clis.py +0 -281
  273. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_registry_writer.py +0 -332
  274. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_skill_figma_issue.py +0 -176
  275. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_skill_figma_review.py +0 -98
  276. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_update_issue.py +0 -298
  277. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_update_issue_gh.py +0 -195
  278. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase1-gather.py +0 -1298
  279. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase2-finalize.py +0 -228
  280. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase3-scripts.py +0 -1089
  281. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase4-finalize.py +0 -141
  282. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase5-finalize.py +0 -106
  283. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase6-finalize.py +0 -162
  284. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase7-finalize.py +0 -105
  285. package/pipeline/skills/figma-ios/figma-to-component/scripts/register-icons-codeconnect.py +0 -179
  286. package/pipeline/skills/figma-ios/figma-to-component/scripts/remote-mcp-fetch.py +0 -260
  287. package/pipeline/skills/figma-ios/figma-to-component/scripts/resolve-author-logins.py +0 -260
  288. package/pipeline/skills/figma-ios/figma-to-component/scripts/run-uicomponents-tests.sh +0 -86
  289. package/pipeline/skills/figma-ios/figma-to-component/scripts/sidebar-generator.py +0 -321
  290. package/pipeline/skills/figma-ios/figma-to-component/scripts/update-issue-from-registry.py +0 -1470
  291. package/pipeline/skills/figma-ios/figma-to-component/scripts/validate-phase4.sh +0 -176
  292. package/pipeline/skills/figma-ios/figma-to-component/scripts/validate-phase6.sh +0 -147
  293. package/pipeline/skills/figma-ios/figma-to-component/scripts/validate-phase7a.py +0 -629
  294. /package/pipeline/commands/multi-agent/{delete.md → delete/SKILL.md} +0 -0
  295. /package/pipeline/commands/multi-agent/{diff-explain.md → diff-explain/SKILL.md} +0 -0
  296. /package/pipeline/commands/multi-agent/{garbage-collect.md → garbage-collect/SKILL.md} +0 -0
  297. /package/pipeline/commands/multi-agent/{issue.md → issue/SKILL.md} +0 -0
  298. /package/pipeline/commands/multi-agent/{jira.md → jira/SKILL.md} +0 -0
  299. /package/pipeline/commands/multi-agent/{kill.md → kill/SKILL.md} +0 -0
  300. /package/pipeline/commands/multi-agent/{language.md → language/SKILL.md} +0 -0
  301. /package/pipeline/commands/multi-agent/{log.md → log/SKILL.md} +0 -0
  302. /package/pipeline/commands/multi-agent/{prune-logs.md → prune-logs/SKILL.md} +0 -0
  303. /package/pipeline/commands/multi-agent/{purge.md → purge/SKILL.md} +0 -0
  304. /package/pipeline/commands/multi-agent/{scan.md → scan/SKILL.md} +0 -0
  305. /package/pipeline/commands/multi-agent/{search.md → search/SKILL.md} +0 -0
  306. /package/pipeline/commands/multi-agent/{stack.md → stack/SKILL.md} +0 -0
  307. /package/pipeline/commands/multi-agent/{status.md → status/SKILL.md} +0 -0
  308. /package/pipeline/commands/multi-agent/{test.md → test/SKILL.md} +0 -0
  309. /package/pipeline/commands/multi-agent/{update.md → update/SKILL.md} +0 -0
  310. /package/pipeline/{commands/multi-agent → multi-agent-refs}/_input-parser.md +0 -0
  311. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/analysis-template.md +0 -0
  312. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/audit-guide.md +0 -0
  313. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/backend-guide.md +0 -0
  314. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/channels/confluence.md +0 -0
  315. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/channels/issue-comment.md +0 -0
  316. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/channels/pr-review-actions.md +0 -0
  317. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/channels/pr.md +0 -0
  318. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/conventions-defaults.md +0 -0
  319. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/autopilot-circuit-breaker.md +0 -0
  320. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/dev-critic.md +0 -0
  321. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/external-context-injection.md +0 -0
  322. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/model-fallback.md +0 -0
  323. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/plan-todos.md +0 -0
  324. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/prior-fix-detection.md +0 -0
  325. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/repo-map.md +0 -0
  326. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/shadow-git.md +0 -0
  327. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/frontend-guide.md +0 -0
  328. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/knowledge.md +0 -0
  329. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/multi-repo-integration-build.md +0 -0
  330. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/picker-contract.md +0 -0
  331. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/rules.md +0 -0
@@ -1,216 +0,0 @@
1
- ---
2
- name: figma-commit
3
- description: Reviews a Figma component implementation, then creates feature branches across submodules, commits, pushes, and opens PRs. Delegates mobile-common conflict resolution to `COMMON_REBASE.md`.
4
- ---
5
-
6
- # /figma-commit - Review, Branch, Commit & Push
7
-
8
- ## Purpose
9
-
10
- Reviews a Figma component implementation, then creates feature branches across submodules, commits, pushes, and opens PRs. Delegates mobile-common conflict resolution to `COMMON_REBASE.md`.
11
-
12
- ## Parameters
13
-
14
- | Parameter | Required | Default | Description |
15
- |-----------|----------|---------|-------------|
16
- | `component-name` | Yes | - | PascalCase component name (e.g., `TurkishButton`) |
17
- | `--jira` | No | `{jira.projectKey}-124692` | Jira issue key |
18
- | `--gh` | No | - | GitHub issue number (for branch name construction) |
19
-
20
- ```
21
- /figma-commit TurkishButton
22
- /figma-commit TurkishButton --jira {jira.projectKey}-99999 --gh 107
23
- ```
24
-
25
- ---
26
-
27
- ## Workflow
28
-
29
- ### STEP 0 - Resolve Parameters
30
-
31
- 1. Parse `component-name`. Convert to kebab-case for branch name.
32
- 2. Parse `--jira` or use default `{jira.projectKey}-124692`.
33
- 3. Parse `--gh` if provided.
34
- 4. `REPO_ROOT` = git repo root.
35
- 5. Detect current branch:
36
- ```bash
37
- CURRENT_BRANCH=$(git -C "${REPO_ROOT}/{repos.components.path}" rev-parse --abbrev-ref HEAD)
38
- ```
39
- 6. **If already on a `feature/` branch** → use it as `BRANCH_NAME`. Extract `JIRA_ISSUE` from branch name (first segment after `feature/`).
40
- 7. **If on `develop` or `iteration/develop`** → construct branch name:
41
- - If `--gh` provided: look up issue to get node-id
42
- ```bash
43
- NODE_ID=$(gh issue view <GH> --repo ${GH_REPO} --json body --jq '.body' | grep -A1 '### Node ID' | tail -1)
44
- NODE_UNDERSCORE=$(echo "${NODE_ID}" | tr '-' '_')
45
- BRANCH_NAME="feature/${JIRA_ISSUE}-GH${GH}-N${NODE_UNDERSCORE}-${COMPONENT_KEBAB}"
46
- ```
47
- - If `--gh` not provided: use simple format
48
- ```bash
49
- BRANCH_NAME="feature/${JIRA_ISSUE}-${COMPONENT_KEBAB}"
50
- ```
51
- 8. Set remaining variables:
52
- - `COMPONENT_PASCAL`, `COMPONENT_KEBAB`, `JIRA_ISSUE`, `BRANCH_NAME`
53
- - `FIGMA_URL` = from component registry JSON (`confluence.page` field's sibling `figmaUrl`)
54
- - `CONFLUENCE_IOS_URL` = from component registry JSON (`confluence.ios` field)
55
-
56
- ### STEP 1 - Code Review & Auto-Fix
57
-
58
- 1. Read `.instructions/figma/figma-commit/REVIEW.md`.
59
- 2. Run the full 13-point review checklist against the component.
60
- 3. Print the review output table.
61
- 4. **If violations found**: Auto-fix every fixable violation (magic numbers, missing identifiers, wrong patterns, missing imports, preview issues, etc.).
62
- 5. After fixing, re-run the review to confirm.
63
- 6. If fixes applied, build to verify:
64
- ```bash
65
- xcodebuild build -project "${REPO_ROOT}/{build.xcodeproj}" \
66
- -scheme {build.scheme} -destination 'generic/platform=iOS' \
67
- CODE_SIGNING_ALLOWED=NO -quiet
68
- ```
69
- 7. If unfixable violations remain → ask user.
70
- 8. If PASS or WARN → proceed.
71
-
72
- ### STEP 2 - Detect Changes Per Repo
73
-
74
- `git status --porcelain` shows all tracked changes in short format - modified, added, deleted, untracked. Each line starts with a two-character status code (e.g., `M` modified, `??` untracked, `A` added, `D` deleted).
75
-
76
- ```bash
77
- HAS_MAIN=$(cd "${REPO_ROOT}" && git status --porcelain | grep -v '^?? {repos.packagesContainer}/Packages/' | head -1)
78
- HAS_UICOMPONENTS=$(cd "${REPO_ROOT}/{repos.components.path}" && git status --porcelain | head -1)
79
- HAS_COMMON=$(cd "${REPO_ROOT}/{repos.common.path}" && git status --porcelain | head -1)
80
- ```
81
-
82
- **Main repo PR decision**: Skip if only submodule pointer changes (no `.instructions/` or `.claude/skills/` modifications).
83
-
84
- ### STEP 3 - Common Submodule (if HAS_COMMON)
85
-
86
- **Read and follow `.instructions/figma/figma-commit/COMMON_REBASE.md`** - handles stash, branch, conflict resolution, regeneration, validation, commit, push, and PR for mobile-common.
87
-
88
- **Do NOT merge the PR** - only create it and push. Merging is done manually by the team.
89
-
90
- ### STEP 4 - UIComponents Submodule (if HAS_UICOMPONENTS)
91
-
92
- UIComponents rarely has conflicts (new files only). Simple flow:
93
-
94
- ```bash
95
- UICOMP="${REPO_ROOT}/{repos.components.path}"
96
-
97
- # Stash
98
- cd "${UICOMP}"
99
- git stash push -u -m "figma-commit: ${COMPONENT_PASCAL} pre-branch stash"
100
-
101
- # Branch
102
- git checkout develop && git pull origin develop
103
- git checkout -b "${BRANCH_NAME}"
104
-
105
- # Pop (should apply cleanly)
106
- git stash pop
107
-
108
- # Commit
109
- git add -A
110
- git commit -m "$(cat <<'EOF'
111
- feat(uicomponents): [${JIRA_ISSUE}] add ${COMPONENT_PASCAL} component
112
-
113
- - Implement SwiftUI view with design tokens
114
- - Add configuration, modifiers, and previews
115
- - Add Code Connect and documentation
116
- - Add ViewInspector and snapshot tests
117
-
118
- Refs: ${JIRA_ISSUE}
119
- EOF
120
- )"
121
-
122
- # Push & PR (do NOT merge - PR only)
123
- git push -u origin "${BRANCH_NAME}"
124
- gh pr create --base develop \
125
- --title "feat(uicomponents): [${JIRA_ISSUE}] add ${COMPONENT_PASCAL}" \
126
- --body "$(cat <<'EOF'
127
- ## Summary
128
- - Implement ${COMPONENT_PASCAL} SwiftUI component
129
- - Add Code Connect, FIGMA.md, tests
130
-
131
- ## Visual Reference
132
- - **Figma:** ${FIGMA_URL}
133
- - **Confluence iOS:** ${CONFLUENCE_IOS_URL}
134
-
135
- ## Test plan
136
- - [ ] ViewInspector tests pass
137
- - [ ] Snapshot tests pass
138
- - [ ] Build succeeds with remote dependencies
139
-
140
- Refs: ${JIRA_ISSUE}
141
- EOF
142
- )"
143
- ```
144
-
145
- ### STEP 5 - Main Repo (if skill/instruction changes)
146
-
147
- ```bash
148
- cd "${REPO_ROOT}"
149
- git stash push -u -m "figma-commit: ${COMPONENT_PASCAL} pre-branch stash"
150
- git checkout develop && git pull origin develop
151
- git checkout -b "${BRANCH_NAME}"
152
- git stash pop
153
-
154
- git add .instructions/ .claude/skills/
155
- git commit -m "$(cat <<'EOF'
156
- feat(skills): [${JIRA_ISSUE}] update skills for ${COMPONENT_PASCAL}
157
-
158
- - Update workflow instructions and scripts
159
-
160
- Refs: ${JIRA_ISSUE}
161
- EOF
162
- )"
163
-
164
- # Push & PR (do NOT merge - PR only)
165
- git push -u origin "${BRANCH_NAME}"
166
- gh pr create --base develop \
167
- --title "feat(skills): [${JIRA_ISSUE}] skill updates for ${COMPONENT_PASCAL}" \
168
- --body "## Summary
169
- - Update workflow skills and scripts
170
-
171
- Refs: ${JIRA_ISSUE}"
172
- ```
173
-
174
- Skip this step entirely if no `.instructions/` or `.claude/skills/` changes.
175
-
176
- ### STEP 6 - Summary
177
-
178
- ```
179
- ## Commit Summary: ${COMPONENT_PASCAL}
180
-
181
- | Repo | Branch | PR |
182
- |------|--------|----|
183
- | common | ${BRANCH_NAME} | PR #N created / No changes |
184
- | uicomponents | ${BRANCH_NAME} | PR #N created / No changes |
185
- | main | ${BRANCH_NAME} | PR #N created / Skipped |
186
-
187
- Jira: ${JIRA_ISSUE}
188
- Review: PASS / WARN (N warnings)
189
- Validation: PASSED (N loc, N a11y, N testing keys)
190
- ```
191
-
192
- ---
193
-
194
- ## Execution Order
195
-
196
- Always: **common first → uicomponents → main repo**. Common PR must be merged before uicomponents PR (uicomponents depends on common via remote URL).
197
-
198
- ---
199
-
200
- ## Error Handling
201
-
202
- - **Branch already exists**: Append `-v2`, `-v3`
203
- - **Push rejected**: Report error, do NOT force-push
204
- - **Submodule not on develop**: Warn user, ask confirmation
205
- - **Common conflicts**: Follow `COMMON_REBASE.md` section4
206
- - **Validation fails**: Fix before committing - NEVER skip
207
-
208
- ---
209
-
210
- ## Notes
211
-
212
- - Always stash before branch creation
213
- - Submodules branched and pushed independently
214
- - Review step (Step 1) uses full REVIEW.md checklist - NOT optional
215
- - PRs are created but NOT merged - merging is a separate manual action
216
- - No AI attribution in commit messages - follow `GIT_COMMIT_CONVENTION.md`
@@ -1,223 +0,0 @@
1
- ---
2
- name: figma-component-confluence-sync
3
- description: Syncs component documentation from the GitHub Wiki (source of truth) to Confluence. Reads wiki markdown, converts to Confluence XHTML, uploads pages and assets. Requires VPN.
4
- ---
5
-
6
- # /figma-to-swift-ui-confluence-sync - Sync Wiki to Confluence
7
-
8
- ## Purpose
9
-
10
- Syncs component documentation from the GitHub Wiki (source of truth) to Confluence. Reads wiki markdown, converts to Confluence XHTML, uploads pages and assets. Requires VPN.
11
-
12
- ## Parameters
13
-
14
- | Parameter | Required | Description |
15
- |-----------|----------|-------------|
16
- | `<component-name>` or `<figma-url>` | Yes | Component to sync |
17
- | `--all` | No | Sync all components that have wiki docs |
18
- | `--dry-run` | No | Convert markdown to XHTML but skip upload |
19
-
20
- ```
21
- /figma-to-swift-ui-confluence-sync ModalsTitle
22
- /figma-to-swift-ui-confluence-sync https://www.figma.com/design/...?node-id=2820-25995
23
- /figma-to-swift-ui-confluence-sync --all
24
- ```
25
-
26
- ---
27
-
28
- ## Constants
29
-
30
- ```
31
- WIKI_ROOT = {repos.wiki.path}
32
- CONFLUENCE_BASE = {confluence.baseUrl}
33
- CONFLUENCE_SPACE = DK
34
- PAGE_IDS_FILE = .instructions/figma/figma-to-swiftui/scripts/confluence-page-ids.json
35
- PUBLISH_SCRIPT = .instructions/figma/figma-to-swiftui/scripts/confluence-publish.py
36
- STATUS_SCRIPT = .instructions/figma/figma-to-swiftui/scripts/confluence-component-status.py
37
- ```
38
-
39
- ### Authentication
40
-
41
- Confluence token from macOS Keychain:
42
- ```bash
43
- CONFLUENCE_TOKEN=$("$HOME/.claude/lib/credential-store.sh" get \1 2>/dev/null)
44
- ```
45
-
46
- ---
47
-
48
- ## Gate 0: Resolve Component
49
-
50
- ### If Figma URL provided:
51
- 1. Extract `node-id`, run `FigmaRegistryUtility lookup --node-id`
52
- 2. Get `suggestedComponentName`, `wikiCategory`
53
-
54
- ### If component name provided:
55
- 1. Search wiki for matching directory:
56
- ```bash
57
- find ${WIKI_ROOT}/FigmaComponents -name "<ComponentName>.md" -type f
58
- ```
59
-
60
- ### Locate wiki source:
61
- ```
62
- WIKI_MD = ${WIKI_ROOT}/FigmaComponents/{category}/{componentName}/{componentName}.md
63
- WIKI_ASSETS = ${WIKI_ROOT}/FigmaComponents/{category}/{componentName}/assets/
64
- ```
65
-
66
- If wiki markdown doesn't exist → HALT: "No wiki documentation found. Run `/figma-to-swiftui phase-7` first."
67
-
68
- ---
69
-
70
- ## Gate 1: VPN Check
71
-
72
- ```bash
73
- curl -s --connect-timeout 5 "${CONFLUENCE_BASE}/rest/api/content?limit=1" \
74
- -H "Authorization: Bearer ${CONFLUENCE_TOKEN}" \
75
- -o /dev/null -w "%{http_code}"
76
- ```
77
-
78
- If not `200` → HALT: "VPN not connected or Confluence token invalid."
79
-
80
- ---
81
-
82
- ## Gate 2: Convert Markdown to XHTML
83
-
84
- Read the wiki markdown file. Read the conversion reference:
85
- ```
86
- .instructions/figma/figma-to-swiftui/reference/wiki-to-confluence-mapping.md
87
- ```
88
-
89
- ### Split at `## iOS Implementation`
90
-
91
- - Everything **above** `## iOS Implementation` → `main.html`
92
- - Everything **from** `## iOS Implementation` **onward** → `ios.html`
93
-
94
- ### Convert each part using the mapping rules:
95
-
96
- - Markdown headings → `<h2>`, `<h3>`
97
- - Markdown tables → `<table><tbody>...`
98
- - Wiki image syntax `[[/path/assets/file.png|alt]]` → `<ac:image><ri:attachment ri:filename="file.png"/></ac:image>`
99
- - Code blocks → `<ac:structured-macro ac:name="code">`
100
- - Wiki links `[[Name]]` → `<ac:link><ri:page ri:content-title="Name"/>`
101
- - External links → `<a href="...">`
102
-
103
- ### Prepend to main.html:
104
- - TOC macro
105
-
106
- ### Prepend to ios.html:
107
- - Back-link to main page
108
-
109
- ### Write output:
110
- Create a temp directory for the XHTML output:
111
- ```bash
112
- TEMP_DIR=$(mktemp -d)
113
- mkdir -p ${TEMP_DIR}/assets
114
- ```
115
-
116
- Write `${TEMP_DIR}/main.html` and `${TEMP_DIR}/ios.html`.
117
- Copy `${WIKI_ASSETS}/*` to `${TEMP_DIR}/assets/`.
118
-
119
- If `--dry-run`: print paths and stop.
120
-
121
- ---
122
-
123
- ## Gate 3: Validate XHTML
124
-
125
- ```bash
126
- python3 .instructions/figma/figma-to-swiftui/scripts/validate-phase7a.py \
127
- --confluence-path "${TEMP_DIR}" \
128
- --component-name "{ComponentName}" \
129
- --mode confluence
130
- ```
131
-
132
- If FAIL → fix conversion issues and retry.
133
-
134
- ---
135
-
136
- ## Gate 4: Upload to Confluence
137
-
138
- ### Resolve parent page
139
-
140
- 1. Check registry for existing Confluence URLs (update case)
141
- 2. Otherwise, lookup from `confluence-page-ids.json` by category path
142
- 3. Fallback: "Figma Components" root page
143
-
144
- ### Publish
145
-
146
- ```bash
147
- python3 ${PUBLISH_SCRIPT} \
148
- --component "{ComponentName}" \
149
- --artifact-path "${TEMP_DIR}" \
150
- --node-id "{nodeId}" \
151
- --parent-page-id "{parentPageId}" \
152
- --space "${CONFLUENCE_SPACE}"
153
- ```
154
-
155
- This creates/updates:
156
- - Main page: `{ComponentName}`
157
- - iOS sub-page: `{ComponentName} - iOS`
158
- - Android placeholder: `{ComponentName} - Android`
159
- - Attachments: all images from `assets/`
160
-
161
- ### Update registry
162
-
163
- The publish script updates `{nodeId}.json` with Confluence URLs.
164
-
165
- ---
166
-
167
- ## Gate 5: Refresh Status Dashboard
168
-
169
- ```bash
170
- python3 ${STATUS_SCRIPT}
171
- ```
172
-
173
- Updates the global Component Implementation Status page on Confluence.
174
-
175
- ---
176
-
177
- ## Registry flag ownership (architecture-update)
178
-
179
- This skill is a **downstream mirror** of the GitHub Wiki. It **does not** own the `status.ios.wiki` flag in the component registry - that flag is set green by `/figma-to-swift-ui-wiki` via `scripts/phase7-finalize.py`, which is upstream of this sync. Confluence URLs are written into `{nodeId}.json.confluence.ios` by the publish script (Gate 4) so downstream readers can link out, but the 4-flag status block is untouched here.
180
-
181
- If you run this skill and the `wiki` flag is still gray/yellow, run `/figma-to-swift-ui-wiki` first - that's what owns the flag.
182
-
183
- ---
184
-
185
- ## `--all` Mode
186
-
187
- When `--all` is passed:
188
-
189
- 1. Find all component markdown files:
190
- ```bash
191
- find ${WIKI_ROOT}/FigmaComponents -name "*.md" -not -name "ComponentImplementationStatus.md" -not -name "_Sidebar.md" -type f
192
- ```
193
-
194
- 2. For each component, run Gates 2-5 sequentially.
195
- 3. Run status dashboard refresh once at the end (not per component).
196
- 4. Print summary table:
197
-
198
- ```markdown
199
- | Component | Status | Confluence URL |
200
- |-----------|--------|----------------|
201
- | Checkbox | Synced | {confluence.baseUrl}/display/DK/Checkbox |
202
- | Price | Synced | {confluence.baseUrl}/display/DK/Price |
203
- | ... | ... | ... |
204
- ```
205
-
206
- ---
207
-
208
- ## Cleanup
209
-
210
- ```bash
211
- rm -rf ${TEMP_DIR}
212
- ```
213
-
214
- ---
215
-
216
- ## Error Handling
217
-
218
- - **VPN not connected**: HALT with VPN instructions.
219
- - **Wiki markdown not found**: HALT - run Phase 7 first.
220
- - **Confluence token missing**: Prompt user to add to keychain.
221
- - **XHTML validation failed**: Show violations, retry conversion.
222
- - **Upload failed (401/403)**: Token expired - prompt refresh.
223
- - **Upload failed (404)**: Wrong parent page ID - check confluence-page-ids.json.
@@ -1,251 +0,0 @@
1
- ---
2
- name: figma-component-start
3
- description: Reads a GitHub Issue, extracts component metadata, creates feature branches from `develop` (main repo) / `iteration/develop` (submodules), and checks them out locally. Prepares the workspace to begin implementation.
4
- ---
5
-
6
- # /figma-to-swift-ui-start - Start Implementation from GitHub Issue
7
-
8
- ## Purpose
9
-
10
- Reads a GitHub Issue, extracts component metadata, creates feature branches from `develop` (main repo) / `iteration/develop` (submodules), and checks them out locally. Prepares the workspace to begin implementation.
11
-
12
- ## Parameters
13
-
14
- | Parameter | Required | Default | Description |
15
- |-----------|----------|---------|-------------|
16
- | `<issue-number>` | Yes | - | GitHub issue number from uicomponents repo |
17
-
18
- ```
19
- /figma-to-swift-ui-start #107
20
- /figma-to-swift-ui-start 107
21
- ```
22
-
23
- ---
24
-
25
- ## Constants
26
-
27
- ```
28
- REPO_ROOT = git repo root (auto-detect)
29
- GH_REPO = {github.componentsRepo}
30
- BASE_BRANCH = develop # main repo; submodules use iteration/develop
31
- ```
32
-
33
- ### Submodule Paths
34
-
35
- ```
36
- MAIN_REPO = ${REPO_ROOT}
37
- COMMON = ${REPO_ROOT}/{repos.common.path}
38
- UICOMPONENTS = ${REPO_ROOT}/{repos.components.path}
39
- WIKI = ${REPO_ROOT}/{repos.wiki.path}
40
- ```
41
-
42
- ---
43
-
44
- ## STEP 0 - Parse Issue
45
-
46
- ```bash
47
- gh issue view <N> --repo ${GH_REPO} --json number,title,body,labels,assignees
48
- ```
49
-
50
- Extract from the issue body:
51
- - **Component Name** - from `### Component Name (PascalCase)` section
52
- - **Figma URL** - from `### Figma URL` section
53
- - **Node ID** - from `### Node ID` section
54
- - **Registry Name** - from `### Registry Name` section
55
- - **Figma Page** - from `### Figma Page` section
56
- - **Acceptance Criteria** - from `### Acceptance Criteria` section (if not `_No response_`)
57
-
58
- Derive:
59
- - `COMPONENT_PASCAL` = Component Name (e.g., `ModalsTitle`)
60
- - `COMPONENT_KEBAB` = kebab-case (e.g., `modals-title`)
61
- - `NODE_UNDERSCORE` = node-id with `-` replaced by `_` (e.g., `2820-25995` → `2820_25995`)
62
- - `BRANCH_NAME` = `feature/GH${N}-N${NODE_UNDERSCORE}-${COMPONENT_KEBAB}`
63
-
64
- Print:
65
-
66
- ```
67
- -------------------------------------------
68
- Issue: #<N>
69
- Component: <COMPONENT_PASCAL>
70
- Node ID: <NODE_ID>
71
- Branch: feature/GH<N>-N<NODE_UNDERSCORE>-<COMPONENT_KEBAB>
72
- Base: develop (main repo) / iteration/develop (submodules)
73
- -------------------------------------------
74
- ```
75
-
76
- ---
77
-
78
- ## STEP 1 - Fetch Latest
79
-
80
- Ensure all repos are up to date with remote:
81
-
82
- ```bash
83
- cd ${MAIN_REPO}
84
- git fetch origin
85
- git checkout develop
86
- git pull --no-recurse-submodules origin develop
87
-
88
- cd ${COMMON}
89
- git fetch origin
90
- git checkout iteration/develop
91
- git pull origin iteration/develop
92
-
93
- cd ${UICOMPONENTS}
94
- git fetch origin
95
- git checkout iteration/develop
96
- git pull origin iteration/develop
97
- ```
98
-
99
- ---
100
-
101
- ## STEP 2 - Create Feature Branches
102
-
103
- Create feature branches on **submodules only**. Do NOT create branches on the main repo - it stays on `develop`. The main repo never receives commits from this workflow; submodule refs are updated separately.
104
-
105
- ```bash
106
- # Common (tokens, localization, accessibility, testing identifiers)
107
- cd ${COMMON}
108
- git checkout -b ${BRANCH_NAME}
109
-
110
- # UIComponents (SwiftUI views, tests, snapshots)
111
- cd ${UICOMPONENTS}
112
- git checkout -b ${BRANCH_NAME}
113
- ```
114
-
115
- Wiki submodule stays on `master` - wiki changes are committed directly.
116
-
117
- ---
118
-
119
- ## STEP 3 - Registry Lookup
120
-
121
- ```bash
122
- cd ${COMMON}
123
- .build/debug/FigmaRegistryUtility lookup --node-id <NODE_ID>
124
- ```
125
-
126
- Collect:
127
- - `suggestedComponentLocation` - where the Swift files will go
128
- - `suggestedArtifactPath` - where implementation artifacts go
129
-
130
- Print:
131
-
132
- ```
133
- Component Location: <suggestedComponentLocation>
134
- Artifact Path: <suggestedArtifactPath>
135
- ```
136
-
137
- ---
138
-
139
- ## STEP 3.5 - Save Specs Artifact
140
-
141
- If the issue has acceptance criteria (not `_No response_`), save them as an artifact that the implementation pipeline can consume.
142
-
143
- ```bash
144
- mkdir -p ${REPO_ROOT}/${suggestedArtifactPath}/pass0
145
- ```
146
-
147
- Write `${suggestedArtifactPath}/pass0/specs.md`:
148
-
149
- ```markdown
150
- # Implementation Specs: {ComponentName}
151
-
152
- ## Source
153
- - Issue: #{N}
154
- - Figma: {FIGMA_URL}
155
-
156
- ## Acceptance Criteria
157
-
158
- {ACCEPTANCE_CRITERIA from issue body - verbatim}
159
-
160
- ## Implementation Guidance
161
-
162
- {Convert the acceptance criteria into actionable implementation instructions for the AI agent:
163
- - Rephrase checkbox items as concrete requirements
164
- - Add technical context where the criteria imply Swift/SwiftUI patterns
165
- - Preserve the user's intent exactly - don't add or remove requirements}
166
- ```
167
-
168
- If no acceptance criteria → skip this step. No file created.
169
-
170
- ---
171
-
172
- ## STEP 4 - Assign to Me
173
-
174
- Assign the GitHub issue to the current user:
175
-
176
- ```bash
177
- gh issue edit <N> --repo ${GH_REPO} --add-assignee @me
178
- ```
179
-
180
- ---
181
-
182
- ## STEP 5 - Update Issue Status (required)
183
-
184
- **This step is mandatory. Do not skip it and do not defer it.** The issue
185
- is on the board with Status=Todo after creation. Moving it to Status=In
186
- Develop is how the board reflects that someone has started working on
187
- it. If you skip this step, the issue visually stays in the Todo column
188
- even though work has started.
189
-
190
- Set the issue phase to "Implementation" and status to "In Develop" on the Projects V2 board:
191
-
192
- ```bash
193
- # Get issue node ID
194
- ISSUE_NODE_ID=$(gh api graphql -f query='{ repository(owner: "{github.org}", name: "{project.slug}-components") { issue(number: <N>) { id } } }' --jq '.data.repository.issue.id')
195
-
196
- # Add to project (if not already). This mutation is idempotent - if the
197
- # item already exists it returns the existing item id.
198
- ITEM_ID=$(gh api graphql -f query='mutation { addProjectV2ItemById(input: { projectId: "{github.projectV2Id}", contentId: "'"$ISSUE_NODE_ID"'" }) { item { id } } }' --jq '.data.addProjectV2ItemById.item.id')
199
-
200
- # Set Status = In Develop (option id: bc6c45f7)
201
- gh api graphql -f query='mutation { updateProjectV2ItemFieldValue(input: { projectId: "{github.projectV2Id}", itemId: "'"$ITEM_ID"'", fieldId: "{github.projectV2Fields.status}", value: { singleSelectOptionId: "bc6c45f7" } }) { projectV2Item { id } } }'
202
-
203
- # Set Phase = Implementation (option id: 0577dcda)
204
- gh api graphql -f query='mutation { updateProjectV2ItemFieldValue(input: { projectId: "{github.projectV2Id}", itemId: "'"$ITEM_ID"'", fieldId: "{github.projectV2Fields.phase}", value: { singleSelectOptionId: "0577dcda" } }) { projectV2Item { id } } }'
205
- ```
206
-
207
- ### Verify the move landed
208
-
209
- After the mutations return, confirm Status=In Develop is set (this catches
210
- silent VALIDATION errors from stale option IDs):
211
-
212
- ```bash
213
- gh api graphql -f query='{ node(id: "'"$ITEM_ID"'") { ... on ProjectV2Item { fieldValues(first: 20) { nodes { ... on ProjectV2ItemFieldSingleSelectValue { field { ... on ProjectV2SingleSelectField { name } } name } } } } } }' \
214
- --jq '.data.node.fieldValues.nodes[] | select(.field.name == "Status") | .name'
215
- ```
216
-
217
- Expected output: `In Develop`. If you see anything else (or empty),
218
- re-fetch the current option IDs and retry - do NOT proceed to implementation
219
- without the Status set correctly.
220
-
221
- ---
222
-
223
- ## STEP 6 - Summary
224
-
225
- Print:
226
-
227
- ```markdown
228
- Ready to implement:
229
-
230
- | Field | Value |
231
- |-------|-------|
232
- | Issue | [#N](url) |
233
- | Component | <COMPONENT_PASCAL> |
234
- | Branch | `<BRANCH_NAME>` |
235
- | Base | `develop` (main repo) / `iteration/develop` (submodules) |
236
- | Component Location | <suggestedComponentLocation> |
237
- | Artifact Path | <suggestedArtifactPath> |
238
-
239
- Next: `/figma <figma-url>` to run the implementation pipeline.
240
- ```
241
-
242
- ---
243
-
244
- ## Error Handling
245
-
246
- - **Issue not found**: Print error and stop.
247
- - **Issue body missing required fields**: Print which fields are missing, stop.
248
- - **FigmaRegistryUtility not built**: Run `swift build --product FigmaRegistryUtility` in common.
249
- - **Branch already exists**: Print warning - checkout existing branch instead of creating.
250
- - **Main repo not on develop**: Fetch and checkout automatically.
251
- - **Submodule not on iteration/develop**: Fetch and checkout automatically.