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