@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,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.