@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,78 +0,0 @@
1
- ---
2
- name: figma-component-status-update
3
- description: Refreshes the global Component Implementation Status dashboard on Confluence.
4
- ---
5
-
6
- # /figma-to-swift-ui-status-update - Confluence Component Status Dashboard
7
-
8
- ## Purpose
9
-
10
- Refreshes the global Component Implementation Status dashboard on Confluence. Reads the component catalog, registry, and sub-component graph to generate a comprehensive status page showing implementation readiness per platform.
11
-
12
- Requires VPN to {confluence.host}.
13
-
14
- ## Parameters
15
-
16
- None.
17
-
18
- ```
19
- /figma-to-swift-ui-status-update
20
- ```
21
-
22
- ---
23
-
24
- ## Workflow
25
-
26
- ### 1. VPN Check
27
-
28
- ```bash
29
- curl -s --connect-timeout 5 {confluence.baseUrl} >/dev/null 2>&1 && echo "OK" || echo "NO VPN"
30
- ```
31
-
32
- If no VPN → HALT. Ask user to connect.
33
-
34
- ### 2. Run Status Dashboard Script
35
-
36
- ```bash
37
- python3 .instructions/figma/figma-to-swiftui/scripts/confluence-component-status.py
38
- ```
39
-
40
- This script:
41
- 1. Reads component-catalog.json, component-index.json, sub-component-graph.json
42
- 2. Reads all component registry JSONs from `Shared/Figma/Components/`
43
- 3. Merges into a unified index with implementation status per platform
44
- 4. Generates XHTML with color-coded status table
45
- 5. Uploads to Confluence (updates in-place to avoid version bloat)
46
-
47
- The script reads the **architecture-update 4-flag status block** (`status.ios.{implemented,tested,codeConnect,wiki}`) - with fallback to legacy `codeConnect.ios` for any pre-backfill entry. Green/yellow/gray in the XHTML output is derived from `{value, against, implemented.version}`: green if `value=true` and `against >= implemented.version`, yellow if `against < implemented.version`, gray if `value=false`.
48
-
49
- ### 3. Output
50
-
51
- Report the script output - total components, implemented count, and per-flag status breakdown (implemented / tested / code-connected / wiki counts).
52
-
53
- ### 4. Per-component sync (optional)
54
-
55
- This skill refreshes the **global dashboard**. To sync a specific component's registry state to its GitHub issue + Projects V2 board at the same time, use:
56
-
57
- ```bash
58
- python3 .instructions/figma/figma-to-swiftui/scripts/update-issue-from-registry.py \
59
- --node-id "{nodeId}"
60
- ```
61
-
62
- Or bulk:
63
-
64
- ```bash
65
- python3 .instructions/figma/figma-to-swiftui/scripts/bulk-sync-issues.py
66
- ```
67
-
68
- Bulk sync is already run by the `fix GitHub issues` job - only re-run if multiple registry entries have changed.
69
-
70
- ---
71
-
72
- ## Shared Resources
73
-
74
- | Resource | Description |
75
- |----------|-------------|
76
- | `scripts/confluence-component-status.py` | Dashboard generator + uploader |
77
- | `scripts/confluence-page-ids.json` | Confluence page ID mapping |
78
- | Component catalog + registry | Source data |
@@ -1,61 +0,0 @@
1
- ---
2
- name: figma-evolve-component
3
- description: "On-demand reconcile-and-extend for an ALREADY-implemented UI component (iOS SwiftUI or Android Jetpack Compose). Heals drift from current Figma (stale variants/props/structure, design-token drift, a detached/overridden deviation) AND extends the component non-destructively to cover a need the design can't express — always behind a mandatory human gate. Reach for this when an existing component drifted from its current design or doesn't cover a need. Not for building from scratch (figma-to-component / figma-mend) or fixing one review bug (figma-fix)."
4
- user-invocable: true
5
- argument-hint: <component | figma-url> [--report-only]
6
- allowed-tools: Task, Read, Glob, Grep, Bash, Edit, Write, AskUserQuestion
7
- status: wip-v5
8
- sourced-from: upstream/figma-evolve-component
9
- ---
10
-
11
- # /figma-evolve-component - reconcile & extend an existing component
12
-
13
- > **Use when:** an existing UI component drifted from its current Figma design, OR it doesn't cover a need you now have.
14
- > **Don't use when:** building a brand-new component → `figma-to-swiftui`; re-implementing a discarded component from scratch → `figma-mend`; fixing a single bug filed in review → `figma-fix`.
15
-
16
- ## Scope
17
- Reconcile **one** existing component against current Figma and extend it for a real need, then propagate the change to its Code Connect mapping + docs + wiki. **Out:** new components, networking, navigation graphs, batch/all-component sweeps.
18
-
19
- ## Invariants
20
- - **Two truths.** Design is truth for **heal** (drift); **the user** is truth for **extend** (a need/divergence design can't supply). Design cannot tell us which gap to close - the user does.
21
- - **Human gate is mandatory.** Never write before the user's decisions (Procedure step 3). This is prompt-driven, not autonomous. `--report-only` stops after the diff.
22
- - **Additive / non-destructive.** Preserve the public API, init signatures, and variant cases. Never remove or rename them without explicit confirmation - it breaks callers.
23
- - **Detached / overridden node = suspect truth.** If the Figma node is a detached instance or has local overrides, surface it and reconcile against the **main** component - don't auto-heal toward a deviated instance.
24
- - **Recorded divergences are respected.** A `// evolve-keep: <reason>` marker in the code means the audit skips it and apply never reverts it.
25
- - **Not done until it builds + existing call sites still compile + tests/snapshots pass** (`figma-to-swiftui` Phase 5 / `reference/build-and-test`).
26
-
27
- ## Conventions & golden paths (point, don't re-implement)
28
- - **Design truth** → `/figma-utility` (`properties`, `tokens`, `context`, `metadata`, `screenshot`, `code-connect`). Analysis phase only - same MCP/REST rules as the pipeline.
29
- - **Locate the component + its Figma node** → `FigmaRegistryUtility` lookup / repo grep for the `{ComponentName}` files and its `*.figma.swift`, or a URL the user gives. Paths resolve from `figma-config.json` (`repos.*`, component roots) - never hardcode.
30
- - **Component structure + tokens** → `reference/ui` (`figma-to-component/reference/`), `figma-to-swiftui-effects.md`, `macros.md`. Cross-cutting patterns → `/figma-ui-patterns`, `/figma-form-integration`, `/figma-price-integration`, `/figma-navigation`, `/figma-overlays`, `/figma-bottom-sheets`.
31
- - **After any prop/variant change, regenerate the derived artifacts - don't hand-roll:** Code Connect → `figma-to-component` Phase 6; local `.figma.md` doc → Phase 4C / `figma-component-docs`; public wiki → Phase 7 / `figma-component-wiki`.
32
- - Build/run/test gate → `reference/build-and-test`; ship → `figma-commit` / `figma-iteration-commit`.
33
-
34
- ## Decision rules - classify each finding heal / extend / keep
35
- - **stale** — variant/prop/structure differs from current Figma → **heal** toward design.
36
- - **token drift** — hardcoded or old color/spacing/typography/radius vs the current token → **heal** to the current token (resolve the token name via the registry / `reference/ui`; don't guess).
37
- - **detached / override** — node deviates from its main → **stop, ask the user** which is truth.
38
- - **coverage gap** — design doesn't cover the need, or the impl is wrong → **extend**; the user says what to add.
39
- - Removing/renaming public API or a variant case is **never** automatic → explicit confirmation.
40
-
41
- ## Procedure (the gate is non-negotiable)
42
- 1. **Resolve & gather** — locate the component file(s) + its Figma node (registry / Code Connect map / user URL). Pull design truth via `/figma-utility`.
43
- - If the node is unresolved, or **detached/overridden** → ask the user (which node is truth?).
44
- 2. **Diff & present** — list findings per drift axis, each tagged **heal / extend / keep**. **No writes.** (`--report-only` stops here.)
45
- 3. **GATE — user decides** (`AskUserQuestion`): which to heal, which to keep (→ add `// evolve-keep:` marker), what to extend (the need design can't supply). Do not proceed without this.
46
- 4. **Apply** — only the approved changes, additively / non-destructively. When healing token drift, resolve the current token name via the registry / `reference/ui` - don't guess it.
47
- 5. **Propagate** — regenerate Code Connect (Phase 6), the local `.figma.md` doc (Phase 4C), and the wiki page (Phase 7) for the changed props/variants. If keys changed (testing/loc/a11y/analytics), update them through the normal utility path.
48
- 6. **Verify** — build + snapshot/preview; confirm existing call sites still compile (no API break); run affected tests.
49
-
50
- ## Verification
51
- Build (project scheme from figma-config) + snapshot/preview render; callers compile; Code Connect + `.figma.md` + wiki reflect the new props/variants.
52
-
53
- ## Pitfalls
54
- - Applying without the step-3 gate - this skill is human-gated by design.
55
- - Healing toward a detached/overridden node (deviated truth).
56
- - Removing/renaming a variant or init param → breaks callers; stay additive.
57
- - Skipping Propagate → Code Connect + docs silently go stale after a prop/variant change.
58
-
59
- ## Escape hatches
60
- - Build new from scratch → `figma-to-swiftui`. Re-implement a discarded component → `figma-mend`. Fix one review bug → `figma-fix`.
61
- - Just fetch design data → `/figma-utility`. Build/test → `reference/build-and-test`. Commit/PR → `figma-commit`.
@@ -1,321 +0,0 @@
1
- ---
2
- name: figma-fix
3
- description: Applies a targeted fix for a bug filed during component review (via `/figma-review`), re-runs affected pipeline phases, closes the bug sub-issue, and cleanly transitions the parent component back to In Review with a.
4
- ---
5
-
6
- # /figma-fix - Fix a Review Bug
7
-
8
- ## Purpose
9
-
10
- Applies a targeted fix for a bug filed during component review (via `/figma-review`), re-runs affected pipeline phases, closes the bug sub-issue, and cleanly transitions the parent component back to **In Review** with a fresh review cycle (0/4).
11
-
12
- This skill fills the gap between `/figma-review` (which *files* bugs) and `/figma-iteration-commit` (which *syncs* state). Neither of those actually *fixes* the code.
13
-
14
- ## Parameters
15
-
16
- | Parameter | Required | Description |
17
- |-----------|----------|-------------|
18
- | Bug issue number | Yes (one of) | `#123` - the bug sub-issue filed by a reviewer |
19
- | Parent issue number | Alternative | `#100` - the parent component issue (lists open bugs to pick from) |
20
- | Figma URL | Alternative | Resolves to the component, then lists open bugs |
21
-
22
- ```
23
- /figma-fix #456
24
- /figma-fix #100
25
- /figma-fix https://www.figma.com/design/9ipBvrtsq9HlQ175B9k0wx/?node-id=3:9872
26
- ```
27
-
28
- ---
29
-
30
- ## Constants
31
-
32
- ```
33
- GH_REPO = {github.componentsRepo}
34
- COMMON_PATH = {repos.common.path}
35
- ```
36
-
37
- ---
38
-
39
- ## Gate 0: Resolve Bug + Component
40
-
41
- ### If bug issue number provided (#N):
42
-
43
- 1. Fetch the issue:
44
- ```bash
45
- gh issue view <N> --repo ${GH_REPO} --json number,title,body,labels,assignees,parent
46
- ```
47
-
48
- 2. Verify it's a bug sub-issue:
49
- - Must have `review-fix` or `bug` label
50
- - Must have a parent issue (the component)
51
-
52
- 3. Extract from parent:
53
- - Node ID (from `### Node ID` section in parent body)
54
- - Component name (from `### Component Name` section)
55
-
56
- ### If parent issue number provided (#M):
57
-
58
- 1. List open bug sub-issues:
59
- ```bash
60
- gh issue list --repo ${GH_REPO} --search "parent:#<M> label:review-fix state:open" --json number,title,labels
61
- ```
62
-
63
- 2. If multiple bugs: present them and ask which to fix (or fix all sequentially).
64
- 3. If zero bugs: HALT - "No open bugs on this component."
65
-
66
- ### If Figma URL provided:
67
-
68
- 1. Extract node-id, resolve via `FigmaRegistryUtility lookup`
69
- 2. Find the matching open issue via node-id search
70
- 3. Then follow the parent-issue path above
71
-
72
- ### Resolve component paths:
73
-
74
- ```bash
75
- cd ${COMMON_PATH}
76
- .build/debug/FigmaRegistryUtility lookup --node-id '{nodeId}'
77
- ```
78
-
79
- Extract: `componentName`, `suggestedComponentLocation`, `suggestedArtifactPath`.
80
-
81
- ---
82
-
83
- ## Gate 1: Understand the Bug
84
-
85
- 1. Read the bug sub-issue body for:
86
- - Bug description
87
- - Expected vs actual behavior
88
- - Severity (`bug-minor` or `bug-major` label)
89
-
90
- 2. Read the component source files:
91
- - `{componentLocation}/{ComponentName}.swift`
92
- - `{componentLocation}/{ComponentName}Configuration.swift` (if exists)
93
- - `{componentLocation}/FIGMA.md`
94
-
95
- 3. Read the Figma design (if MCP available) or FIGMA.md variant mapping to understand the correct behavior.
96
-
97
- 4. Identify the fix - what code needs to change.
98
-
99
- ---
100
-
101
- ## Gate 2: Apply the Fix
102
-
103
- Edit the component source files to fix the bug. This is a **surgical edit**, not a full re-implementation.
104
-
105
- Rules:
106
- - Only edit files that need changing - don't rewrite the entire component
107
- - Follow existing code patterns (tokens, modifiers, configuration style)
108
- - If the fix requires new assets/tokens, use `/common-utility assets add-color` or `/common-utility assets generate`
109
- - If the fix requires new testing identifiers/localization/accessibility keys, use `/common-utility identifiers add` / `localization add` / `accessibility add`
110
-
111
- ---
112
-
113
- ## Gate 3: Build Verification
114
-
115
- ```bash
116
- xcodebuild build \
117
- -project "${REPO_ROOT}/{build.xcodeproj}" \
118
- -scheme {build.scheme} \
119
- -destination 'generic/platform=iOS' \
120
- CODE_SIGNING_ALLOWED=NO \
121
- -quiet
122
- ```
123
-
124
- Must exit 0. If build fails, fix errors and retry.
125
-
126
- ---
127
-
128
- ## Gate 4: Re-run Phase 4 Finalize (version bump)
129
-
130
- The code changed, so the implementation version must bump:
131
-
132
- ```bash
133
- python3 .instructions/figma/figma-to-swiftui/scripts/phase4-finalize.py \
134
- --node-id "{nodeId}" \
135
- --component-name "{ComponentName}" \
136
- --source-file "{componentLocation}/{ComponentName}.swift" \
137
- --platform ios \
138
- --no-sync
139
- ```
140
-
141
- The `--no-sync` flag defers issue sync until Gate 7. The version bump automatically makes `tested` and `codeConnect` yellow (their `against` is now < `implemented.version`).
142
-
143
- ---
144
-
145
- ## Gate 5: Re-run Tests (Phase 5)
146
-
147
- Since code changed, tests must be re-run and may need updating:
148
-
149
- 1. Run existing tests:
150
- ```bash
151
- bash .instructions/figma/figma-to-swiftui/scripts/run-uicomponents-tests.sh \
152
- --filter "{ComponentName}ViewInspectorTests"
153
- bash .instructions/figma/figma-to-swiftui/scripts/run-uicomponents-tests.sh \
154
- --filter "{ComponentName}SnapshotTests"
155
- ```
156
-
157
- 2. If tests fail:
158
- - ViewInspector failures: update test expectations to match the fix
159
- - Snapshot failures: delete old snapshots, re-record with `withSnapshotTesting(record: .all)`
160
-
161
- 3. After tests pass:
162
- ```bash
163
- python3 .instructions/figma/figma-to-swiftui/scripts/phase5-finalize.py \
164
- --node-id "{nodeId}" \
165
- --platform ios \
166
- --no-sync
167
- ```
168
-
169
- ---
170
-
171
- ## Gate 6: Re-run Code Connect (Phase 6)
172
-
173
- If the fix changed the component's public interface or variant mapping:
174
-
175
- 1. Check if `.figma.swift` needs updating:
176
- - Read `{componentLocation}/{ComponentName}.figma.swift`
177
- - Compare with FIGMA.md variant mapping
178
- - If mapping changed → update `.figma.swift`
179
- - If unchanged → skip
180
-
181
- 2. If updated:
182
- ```bash
183
- python3 .instructions/figma/figma-to-swiftui/scripts/phase6-finalize.py \
184
- --node-id "{nodeId}" \
185
- --file-key "{fileKey}" \
186
- --component-name "{ComponentName}" \
187
- --platform ios \
188
- --no-sync
189
- ```
190
-
191
- 3. If skipped (no interface change), still re-mark codeConnect to clear the yellow:
192
- ```bash
193
- python3 .instructions/figma/figma-to-swiftui/scripts/phase6-finalize.py \
194
- --node-id "{nodeId}" \
195
- --file-key "{fileKey}" \
196
- --component-name "{ComponentName}" \
197
- --platform ios \
198
- --no-sync
199
- ```
200
-
201
- ---
202
-
203
- ## Gate 7: Close Bug + Sync Parent
204
-
205
- ### 7a. Close the bug sub-issue
206
-
207
- ```bash
208
- gh issue close <bug_number> --repo ${GH_REPO} \
209
- --comment "Fixed in $(git log -1 --format='%h') - $(git log -1 --format='%s')"
210
- ```
211
-
212
- ### 7b. Check remaining open bugs on parent
213
-
214
- ```bash
215
- gh issue list --repo ${GH_REPO} \
216
- --search "parent:#<parent_number> label:review-fix state:open" \
217
- --json number
218
- ```
219
-
220
- ### 7c. If no more open bugs → remove review-fix from parent
221
-
222
- ```bash
223
- gh issue edit <parent_number> --repo ${GH_REPO} --remove-label "review-fix"
224
- ```
225
-
226
- ### 7d. Sync parent issue to Projects V2
227
-
228
- ```bash
229
- python3 .instructions/figma/figma-to-swiftui/scripts/update-issue-from-registry.py \
230
- --node-id "{nodeId}"
231
- ```
232
-
233
- This will:
234
- - Recompute flag states (all green after Gates 4-6)
235
- - Detect no bugfix signal (label removed + no open bugs)
236
- - Set Status column → **In Review**
237
- - Reset Review Progress → **0/4** (stale reviews from version bump)
238
- - Update Progress table emoji in issue body
239
-
240
- ---
241
-
242
- ## Gate 8: Commit
243
-
244
- Use `/figma-iteration-commit` or commit manually:
245
-
246
- ```bash
247
- git add -A {componentLocation}/ Tests/
248
- git commit -m "fix({ComponentName}): <bug description summary>
249
-
250
- Fixes #<bug_number>
251
- Refs: <JIRA_KEY>"
252
- ```
253
-
254
- The commit message references the bug issue number so GitHub auto-links it.
255
-
256
- ---
257
-
258
- ## Validation Checklist
259
-
260
- ```
261
- [ ] Bug sub-issue identified and read
262
- [ ] Component source files read
263
- [ ] Fix applied - only changed files that needed changing
264
- [ ] xcodebuild build passed (exit 0)
265
- [ ] phase4-finalize.py ran - implementation version bumped
266
- [ ] Tests re-run and passing (ViewInspector + Snapshot)
267
- [ ] phase5-finalize.py ran - tested flag green
268
- [ ] Code Connect checked - .figma.swift updated if needed
269
- [ ] phase6-finalize.py ran - codeConnect flag green
270
- [ ] Bug sub-issue closed with fix commit reference
271
- [ ] review-fix label removed from parent (if last bug)
272
- [ ] update-issue-from-registry.py ran - parent synced to board
273
- [ ] Parent status column: In Review (not Bugfix)
274
- [ ] Parent review progress: 0/4 (fresh cycle)
275
- ```
276
-
277
- ---
278
-
279
- ## Success Output
280
-
281
- ```
282
- Bug fix complete: {ComponentName} - #{bug_number}
283
-
284
- | Field | Value |
285
- |-------|-------|
286
- | Bug | #{bug_number} - {bug_title} |
287
- | Component | {ComponentName} |
288
- | Fix commit | {commit_hash} |
289
- | Implementation version | {new_version} (bumped from {old_version}) |
290
- | Flags | impl: green, tested: green, cc: green, wiki: {state} |
291
- | Parent status | In Review (0/4) |
292
- | Remaining bugs | {count} open on #{parent_number} |
293
-
294
- Next: Reviewers can re-review the component at #{parent_number}.
295
- ```
296
-
297
- ---
298
-
299
- ## Error Handling
300
-
301
- | Error | Action |
302
- |-------|--------|
303
- | Issue is not a bug (no review-fix/bug label) | HALT - not a bug issue |
304
- | No parent issue | HALT - orphan bug, can't resolve component |
305
- | Component not found via registry | HALT - check node-id |
306
- | Build fails after fix | Show errors, iterate |
307
- | Tests fail after fix | Show failures, update tests |
308
- | Bug close fails | Show error, ask user to close manually |
309
- | review-fix label removal blocked | Non-fatal - sync will still work via sub-issue count |
310
- | Sync fails | Non-fatal - finalize scripts already updated registry |
311
-
312
- ---
313
-
314
- ## Notes
315
-
316
- - This skill is **surgical** - it fixes one specific bug, not a full re-implementation
317
- - It always bumps `implemented.version` (Phase 4 finalize) because the code changed
318
- - The version bump automatically makes the old review count stale, forcing a fresh review cycle
319
- - Multiple bugs on the same component: run `/figma-fix` once per bug, or pass the parent issue to batch
320
- - The `--no-sync` flag on Gates 4-6 prevents 3 redundant sync calls - Gate 7d does a single authoritative sync
321
- - Works hand-in-hand with `/figma-review` (which creates bugs) and `/figma-iteration-commit` (which commits)