@mmerterden/multi-agent-pipeline 11.2.0 → 11.3.1

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 (335) hide show
  1. package/CHANGELOG.md +68 -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 +39 -17
  8. package/install/copilot.mjs +22 -16
  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/lib/credential-store.sh +8 -4
  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-skills-index.mjs +3 -6
  66. package/pipeline/scripts/eval-mine-corpus.mjs +187 -0
  67. package/pipeline/scripts/fixtures/install-layout.tsv +6 -5
  68. package/pipeline/scripts/gen-mode-dispatch.mjs +3 -3
  69. package/pipeline/scripts/lint-skills.mjs +26 -1
  70. package/pipeline/scripts/phase-banner.sh +2 -2
  71. package/pipeline/scripts/review-scope.mjs +94 -0
  72. package/pipeline/scripts/scan-agent-config.sh +2 -2
  73. package/pipeline/scripts/smoke-agent-log-cost.sh +1 -1
  74. package/pipeline/scripts/smoke-agent-model-routing.sh +4 -4
  75. package/pipeline/scripts/smoke-autopilot-circuit-breaker.sh +2 -2
  76. package/pipeline/scripts/smoke-channels-approval-gate.sh +2 -2
  77. package/pipeline/scripts/smoke-channels-flow.sh +5 -5
  78. package/pipeline/scripts/smoke-clarify.sh +1 -1
  79. package/pipeline/scripts/smoke-commands-skills-parity.sh +3 -3
  80. package/pipeline/scripts/smoke-community-gates.sh +1 -1
  81. package/pipeline/scripts/smoke-compliance-skills.sh +2 -2
  82. package/pipeline/scripts/smoke-cost-summary.sh +1 -1
  83. package/pipeline/scripts/smoke-cross-cli-behavior.sh +17 -43
  84. package/pipeline/scripts/smoke-cross-phase-cohesion.sh +1 -1
  85. package/pipeline/scripts/smoke-dev-critic.sh +1 -1
  86. package/pipeline/scripts/smoke-diff-explain.sh +1 -1
  87. package/pipeline/scripts/smoke-diff-risk.sh +1 -1
  88. package/pipeline/scripts/smoke-evidence-gate.sh +1 -1
  89. package/pipeline/scripts/smoke-figma-dispatch.sh +46 -57
  90. package/pipeline/scripts/smoke-gate-hooks.sh +1 -1
  91. package/pipeline/scripts/smoke-generate-issue.sh +8 -8
  92. package/pipeline/scripts/smoke-handoff-contract.sh +3 -3
  93. package/pipeline/scripts/smoke-identity-isolation.sh +2 -2
  94. package/pipeline/scripts/smoke-intent-guard.sh +1 -1
  95. package/pipeline/scripts/smoke-issue-comment-template.sh +2 -2
  96. package/pipeline/scripts/smoke-issue-jira-triad.sh +4 -4
  97. package/pipeline/scripts/smoke-language-axis.sh +6 -6
  98. package/pipeline/scripts/smoke-learnings-ledger.sh +3 -3
  99. package/pipeline/scripts/smoke-mode-dispatch-drift.sh +16 -16
  100. package/pipeline/scripts/smoke-model-fallback.sh +3 -3
  101. package/pipeline/scripts/smoke-multi-repo-integration.sh +2 -2
  102. package/pipeline/scripts/smoke-multi-repo-worktree.sh +1 -1
  103. package/pipeline/scripts/smoke-no-token-prompt.sh +5 -5
  104. package/pipeline/scripts/smoke-phase-0-multi-repo.sh +1 -1
  105. package/pipeline/scripts/smoke-phase-6-multi.sh +1 -1
  106. package/pipeline/scripts/smoke-phase4-gates.sh +45 -0
  107. package/pipeline/scripts/smoke-plan-approval-gate.sh +5 -5
  108. package/pipeline/scripts/smoke-plan-todos.sh +3 -3
  109. package/pipeline/scripts/smoke-pr-review-actions.sh +3 -3
  110. package/pipeline/scripts/smoke-prefs-language.sh +1 -1
  111. package/pipeline/scripts/smoke-progress-contract.sh +2 -2
  112. package/pipeline/scripts/smoke-push-retry.sh +1 -1
  113. package/pipeline/scripts/smoke-repo-map.sh +2 -2
  114. package/pipeline/scripts/smoke-shadow-git.sh +1 -1
  115. package/pipeline/scripts/smoke-skill-authoring.sh +4 -9
  116. package/pipeline/scripts/smoke-tasklist-ordering.sh +10 -10
  117. package/pipeline/scripts/smoke-test-gap.sh +1 -1
  118. package/pipeline/scripts/smoke-token-budget.sh +1 -1
  119. package/pipeline/scripts/smoke-token-preflight.sh +2 -2
  120. package/pipeline/scripts/smoke-tracker-contract.sh +13 -13
  121. package/pipeline/scripts/smoke-tracker-tokens-invocation.sh +5 -5
  122. package/pipeline/scripts/smoke-triage-memory.sh +2 -2
  123. package/pipeline/scripts/smoke-update-check.sh +1 -1
  124. package/pipeline/scripts/smoke-url-enrichment.sh +2 -2
  125. package/pipeline/scripts/smoke-validator-gates.sh +1 -1
  126. package/pipeline/scripts/smoke-verify-by-test.sh +3 -3
  127. package/pipeline/scripts/smoke-wiki-integration.sh +9 -33
  128. package/pipeline/scripts/smoke-work-summary.sh +1 -1
  129. package/pipeline/scripts/smoke-worktree-path-convention.sh +4 -4
  130. package/pipeline/scripts/test-integrity-gate.mjs +83 -0
  131. package/pipeline/scripts/uninstall.mjs +17 -6
  132. package/pipeline/skills/.skill-manifest.json +40 -160
  133. package/pipeline/skills/.skills-index.json +3 -373
  134. package/pipeline/skills/shared/README.md +1 -1
  135. package/pipeline/skills/shared/core/multi-agent/SKILL.md +1 -1
  136. package/pipeline/skills/shared/core/multi-agent-analysis/SKILL.md +2 -2
  137. package/pipeline/skills/shared/core/multi-agent-analysis-resolve/SKILL.md +3 -3
  138. package/pipeline/skills/shared/core/multi-agent-build-optimize/SKILL.md +1 -1
  139. package/pipeline/skills/shared/core/multi-agent-channels/SKILL.md +1 -1
  140. package/pipeline/skills/shared/core/multi-agent-finish/SKILL.md +1 -1
  141. package/pipeline/skills/shared/core/multi-agent-help/SKILL.md +1 -1
  142. package/pipeline/skills/shared/core/multi-agent-refactor/SKILL.md +116 -51
  143. package/pipeline/skills/shared/core/multi-agent-sync/SKILL.md +8 -30
  144. package/pipeline/skills/shared/external/compose-components/SKILL.md +14 -14
  145. package/pipeline/skills/skills-index.md +3 -44
  146. package/pipeline/commands/multi-agent/refactor.md +0 -188
  147. package/pipeline/commands/multi-agent/refs/component-dispatch.md +0 -92
  148. package/pipeline/scripts/smoke-existing-discovery-gate.sh +0 -71
  149. package/pipeline/scripts/smoke-figma-android-parity.sh +0 -148
  150. package/pipeline/scripts/smoke-figma-credential-store.sh +0 -105
  151. package/pipeline/scripts/smoke-figma-cross-cli-inventory.sh +0 -177
  152. package/pipeline/scripts/smoke-figma-sync.sh +0 -149
  153. package/pipeline/scripts/smoke-sync-delegation.sh +0 -74
  154. package/pipeline/skills/figma-android/README.md +0 -38
  155. package/pipeline/skills/figma-android/figma-component-code-connect/SKILL.md +0 -62
  156. package/pipeline/skills/figma-android/figma-component-implement/SKILL.md +0 -158
  157. package/pipeline/skills/figma-android/figma-component-test/SKILL.md +0 -120
  158. package/pipeline/skills/figma-android/figma-component-wiki/SKILL.md +0 -35
  159. package/pipeline/skills/figma-android/figma-to-component/SKILL.md +0 -124
  160. package/pipeline/skills/figma-common/README.md +0 -64
  161. package/pipeline/skills/figma-common/figma-bottom-sheets/SKILL.md +0 -152
  162. package/pipeline/skills/figma-common/figma-cli-iterate/SKILL.md +0 -282
  163. package/pipeline/skills/figma-common/figma-cli-iterate-mend/SKILL.md +0 -503
  164. package/pipeline/skills/figma-common/figma-cli-lean-iterate/SKILL.md +0 -288
  165. package/pipeline/skills/figma-common/figma-cli-skip/SKILL.md +0 -362
  166. package/pipeline/skills/figma-common/figma-commit/COMMON_REBASE.md +0 -206
  167. package/pipeline/skills/figma-common/figma-commit/REVIEW.md +0 -337
  168. package/pipeline/skills/figma-common/figma-commit/SKILL.md +0 -216
  169. package/pipeline/skills/figma-common/figma-component-confluence-sync/SKILL.md +0 -223
  170. package/pipeline/skills/figma-common/figma-component-start/SKILL.md +0 -251
  171. package/pipeline/skills/figma-common/figma-component-status-update/SKILL.md +0 -78
  172. package/pipeline/skills/figma-common/figma-evolve-component/SKILL.md +0 -61
  173. package/pipeline/skills/figma-common/figma-fix/SKILL.md +0 -321
  174. package/pipeline/skills/figma-common/figma-form-integration/SKILL.md +0 -542
  175. package/pipeline/skills/figma-common/figma-issue/SKILL.md +0 -750
  176. package/pipeline/skills/figma-common/figma-iterate/SKILL.md +0 -208
  177. package/pipeline/skills/figma-common/figma-iteration-commit/SKILL.md +0 -1020
  178. package/pipeline/skills/figma-common/figma-mend/SKILL.md +0 -331
  179. package/pipeline/skills/figma-common/figma-navigation/SKILL.md +0 -156
  180. package/pipeline/skills/figma-common/figma-overlays/SKILL.md +0 -142
  181. package/pipeline/skills/figma-common/figma-price-integration/SKILL.md +0 -398
  182. package/pipeline/skills/figma-common/figma-remote-mcp-auth/SKILL.md +0 -104
  183. package/pipeline/skills/figma-common/figma-review/SKILL.md +0 -400
  184. package/pipeline/skills/figma-common/figma-setup/SKILL.md +0 -514
  185. package/pipeline/skills/figma-common/figma-setup/scripts/fetch-mcp-token.py +0 -592
  186. package/pipeline/skills/figma-common/figma-skip/SKILL.md +0 -129
  187. package/pipeline/skills/figma-common/figma-ui-patterns/SKILL.md +0 -105
  188. package/pipeline/skills/figma-common/figma-ui-patterns/patterns/animated-gradient-border.md +0 -116
  189. package/pipeline/skills/figma-common/figma-utility/SKILL.md +0 -274
  190. package/pipeline/skills/figma-common/figma-utility/scripts/figma-utility.py +0 -808
  191. package/pipeline/skills/figma-common/figma-validate/SKILL.md +0 -633
  192. package/pipeline/skills/figma-common/performance-iteration-commit-all/SKILL.md +0 -716
  193. package/pipeline/skills/figma-common/performance-review-next/SKILL.md +0 -238
  194. package/pipeline/skills/figma-common/performance-start/SKILL.md +0 -430
  195. package/pipeline/skills/figma-common/performance-swiftui/SKILL.md +0 -706
  196. package/pipeline/skills/figma-common/performance-tour/SKILL.md +0 -423
  197. package/pipeline/skills/figma-ios/REVIEW_CHECKLIST.md +0 -67
  198. package/pipeline/skills/figma-ios/figma-component-code-connect/SKILL.md +0 -178
  199. package/pipeline/skills/figma-ios/figma-component-implement/SKILL.md +0 -184
  200. package/pipeline/skills/figma-ios/figma-component-test/SKILL.md +0 -219
  201. package/pipeline/skills/figma-ios/figma-component-wiki/SKILL.md +0 -274
  202. package/pipeline/skills/figma-ios/figma-to-component/SKILL.md +0 -416
  203. package/pipeline/skills/figma-ios/figma-to-component/halt-return-protocol.md +0 -57
  204. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-0-init.md +0 -307
  205. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-1-gathering.md +0 -119
  206. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-1.5-existing-discovery.md +0 -174
  207. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2-orchestrator.md +0 -333
  208. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2a-testing-identifiers.md +0 -368
  209. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2b-localization.md +0 -393
  210. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2c-accessibility.md +0 -617
  211. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2d-analytics.md +0 -352
  212. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3-orchestrator.md +0 -337
  213. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3a-location.md +0 -206
  214. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3b-tokens.md +0 -235
  215. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3c-nested.md +0 -214
  216. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3d-patterns.md +0 -902
  217. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3e-assets.md +0 -156
  218. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3f-utilities.md +0 -175
  219. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3g-property-coverage.md +0 -176
  220. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3h-variant-config.md +0 -333
  221. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4-orchestrator.md +0 -412
  222. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4a-configuration.md +0 -336
  223. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4b-view.md +0 -705
  224. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4c-documentation.md +0 -332
  225. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4d-preview.md +0 -380
  226. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4e-modifiers.md +0 -262
  227. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5-orchestrator.md +0 -482
  228. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5a-viewinspector.md +0 -274
  229. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5b-snapshot.md +0 -636
  230. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5c-unit.md +0 -142
  231. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-6-code-connect.md +0 -547
  232. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-7-wiki.md +0 -39
  233. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-7a-confluence-generate.md +0 -659
  234. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-7a-wiki-generate.md +0 -580
  235. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-8-cleanup.md +0 -51
  236. package/pipeline/skills/figma-ios/figma-to-component/reference/accessibility.md +0 -183
  237. package/pipeline/skills/figma-ios/figma-to-component/reference/analytics-events.md +0 -64
  238. package/pipeline/skills/figma-ios/figma-to-component/reference/code-connect.md +0 -531
  239. package/pipeline/skills/figma-ios/figma-to-component/reference/confluence-api.md +0 -89
  240. package/pipeline/skills/figma-ios/figma-to-component/reference/confluence-xhtml.md +0 -155
  241. package/pipeline/skills/figma-ios/figma-to-component/reference/figma-to-swiftui-effects.md +0 -196
  242. package/pipeline/skills/figma-ios/figma-to-component/reference/halt-return-protocol.md +0 -57
  243. package/pipeline/skills/figma-ios/figma-to-component/reference/localization-naming.md +0 -89
  244. package/pipeline/skills/figma-ios/figma-to-component/reference/macros.md +0 -227
  245. package/pipeline/skills/figma-ios/figma-to-component/reference/missing-tokens.md +0 -157
  246. package/pipeline/skills/figma-ios/figma-to-component/reference/orchestrator-discipline.md +0 -90
  247. package/pipeline/skills/figma-ios/figma-to-component/reference/registry.md +0 -116
  248. package/pipeline/skills/figma-ios/figma-to-component/reference/remote-mcp-script.md +0 -153
  249. package/pipeline/skills/figma-ios/figma-to-component/reference/rest-api-script.md +0 -130
  250. package/pipeline/skills/figma-ios/figma-to-component/reference/scripts-inventory.md +0 -218
  251. package/pipeline/skills/figma-ios/figma-to-component/reference/snapshot-testing.md +0 -188
  252. package/pipeline/skills/figma-ios/figma-to-component/reference/subcomponent-graph.md +0 -93
  253. package/pipeline/skills/figma-ios/figma-to-component/reference/testing-identifiers-naming.md +0 -98
  254. package/pipeline/skills/figma-ios/figma-to-component/reference/tools.md +0 -261
  255. package/pipeline/skills/figma-ios/figma-to-component/reference/viewinspector.md +0 -147
  256. package/pipeline/skills/figma-ios/figma-to-component/reference/wiki-to-confluence-mapping.md +0 -182
  257. package/pipeline/skills/figma-ios/figma-to-component/scripts/apply-author-login-map.py +0 -185
  258. package/pipeline/skills/figma-ios/figma-to-component/scripts/backfill-status.py +0 -609
  259. package/pipeline/skills/figma-ios/figma-to-component/scripts/build-author-registry.py +0 -332
  260. package/pipeline/skills/figma-ios/figma-to-component/scripts/bulk-sync-issues.py +0 -261
  261. package/pipeline/skills/figma-ios/figma-to-component/scripts/code-connect-data-gather.py +0 -184
  262. package/pipeline/skills/figma-ios/figma-to-component/scripts/code-connect-publish.sh +0 -188
  263. package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-component-status-upload.py +0 -768
  264. package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-component-status.py +0 -191
  265. package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-data-gather.py +0 -420
  266. package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-page-ids.example.json +0 -9
  267. package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-publish.py +0 -336
  268. package/pipeline/skills/figma-ios/figma-to-component/scripts/figma-subcomponent-graph.py +0 -391
  269. package/pipeline/skills/figma-ios/figma-to-component/scripts/figma-update.py +0 -292
  270. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/__init__.py +0 -1
  271. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/issue_sync_propagate.py +0 -93
  272. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/registry_writer.py +0 -299
  273. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_backfill_status.py +0 -343
  274. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_figma_update.py +0 -206
  275. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_figma_update_http.py +0 -149
  276. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_phase_clis.py +0 -281
  277. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_registry_writer.py +0 -332
  278. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_skill_figma_issue.py +0 -176
  279. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_skill_figma_review.py +0 -98
  280. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_update_issue.py +0 -298
  281. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_update_issue_gh.py +0 -195
  282. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase1-gather.py +0 -1298
  283. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase2-finalize.py +0 -228
  284. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase3-scripts.py +0 -1089
  285. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase4-finalize.py +0 -141
  286. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase5-finalize.py +0 -106
  287. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase6-finalize.py +0 -162
  288. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase7-finalize.py +0 -105
  289. package/pipeline/skills/figma-ios/figma-to-component/scripts/register-icons-codeconnect.py +0 -179
  290. package/pipeline/skills/figma-ios/figma-to-component/scripts/remote-mcp-fetch.py +0 -260
  291. package/pipeline/skills/figma-ios/figma-to-component/scripts/resolve-author-logins.py +0 -260
  292. package/pipeline/skills/figma-ios/figma-to-component/scripts/run-uicomponents-tests.sh +0 -86
  293. package/pipeline/skills/figma-ios/figma-to-component/scripts/sidebar-generator.py +0 -321
  294. package/pipeline/skills/figma-ios/figma-to-component/scripts/update-issue-from-registry.py +0 -1470
  295. package/pipeline/skills/figma-ios/figma-to-component/scripts/validate-phase4.sh +0 -176
  296. package/pipeline/skills/figma-ios/figma-to-component/scripts/validate-phase6.sh +0 -147
  297. package/pipeline/skills/figma-ios/figma-to-component/scripts/validate-phase7a.py +0 -629
  298. /package/pipeline/commands/multi-agent/{delete.md → delete/SKILL.md} +0 -0
  299. /package/pipeline/commands/multi-agent/{diff-explain.md → diff-explain/SKILL.md} +0 -0
  300. /package/pipeline/commands/multi-agent/{garbage-collect.md → garbage-collect/SKILL.md} +0 -0
  301. /package/pipeline/commands/multi-agent/{issue.md → issue/SKILL.md} +0 -0
  302. /package/pipeline/commands/multi-agent/{jira.md → jira/SKILL.md} +0 -0
  303. /package/pipeline/commands/multi-agent/{kill.md → kill/SKILL.md} +0 -0
  304. /package/pipeline/commands/multi-agent/{language.md → language/SKILL.md} +0 -0
  305. /package/pipeline/commands/multi-agent/{log.md → log/SKILL.md} +0 -0
  306. /package/pipeline/commands/multi-agent/{prune-logs.md → prune-logs/SKILL.md} +0 -0
  307. /package/pipeline/commands/multi-agent/{purge.md → purge/SKILL.md} +0 -0
  308. /package/pipeline/commands/multi-agent/{scan.md → scan/SKILL.md} +0 -0
  309. /package/pipeline/commands/multi-agent/{search.md → search/SKILL.md} +0 -0
  310. /package/pipeline/commands/multi-agent/{stack.md → stack/SKILL.md} +0 -0
  311. /package/pipeline/commands/multi-agent/{status.md → status/SKILL.md} +0 -0
  312. /package/pipeline/commands/multi-agent/{test.md → test/SKILL.md} +0 -0
  313. /package/pipeline/commands/multi-agent/{update.md → update/SKILL.md} +0 -0
  314. /package/pipeline/{commands/multi-agent → multi-agent-refs}/_input-parser.md +0 -0
  315. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/analysis-template.md +0 -0
  316. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/audit-guide.md +0 -0
  317. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/backend-guide.md +0 -0
  318. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/channels/confluence.md +0 -0
  319. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/channels/issue-comment.md +0 -0
  320. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/channels/pr-review-actions.md +0 -0
  321. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/channels/pr.md +0 -0
  322. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/conventions-defaults.md +0 -0
  323. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/autopilot-circuit-breaker.md +0 -0
  324. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/dev-critic.md +0 -0
  325. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/external-context-injection.md +0 -0
  326. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/model-fallback.md +0 -0
  327. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/plan-todos.md +0 -0
  328. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/prior-fix-detection.md +0 -0
  329. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/repo-map.md +0 -0
  330. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/shadow-git.md +0 -0
  331. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/frontend-guide.md +0 -0
  332. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/knowledge.md +0 -0
  333. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/multi-repo-integration-build.md +0 -0
  334. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/picker-contract.md +0 -0
  335. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/rules.md +0 -0
@@ -1,184 +0,0 @@
1
- ---
2
- name: figma-component-implement
3
- description: "Figma → SwiftUI implementation for a single component. Runs Phases 0-4 of the figma-to-swiftui pipeline (init, data gathering, analysis, code generation) and produces a production-ready SwiftUI view. Excludes testing, Code Connect, and wiki - those are separate standalone skills. iOS platform peer - Android equivalent lives under figma-android/."
4
- user-invocable: true
5
- argument-hint: "<figma-url>"
6
- language: en
7
- platform: ios
8
- status: wip-v5
9
- sourced-from: upstream/figma-to-swift-ui-implement
10
- local-overlay: true
11
- ---
12
-
13
- # figma-component-implement - Standalone Implementation (Phases 0-4)
14
-
15
- ## Purpose
16
-
17
- Implements a Figma component as a production-ready SwiftUI view. Runs Phases 0-4 of the figma-to-swiftui pipeline: init, data gathering, analysis, and code generation. Does NOT include testing, Code Connect, or Confluence - those are separate standalone skills.
18
-
19
- ## Parameters
20
-
21
- | Parameter | Required | Description |
22
- |-----------|----------|-------------|
23
- | Figma URL | Yes | `https://www.figma.com/design/{fileKey}/...?node-id={nodeId}` |
24
- | `phase-N` | No | Resume from a specific phase |
25
- | `status` | No | Show implementation status |
26
-
27
- ```
28
- /figma-to-swift-ui-implement https://www.figma.com/design/9ipBvrtsq9HlQ175B9k0wx/?node-id=2073-17454
29
- /figma-to-swift-ui-implement phase-3
30
- /figma-to-swift-ui-implement status
31
- ```
32
-
33
- ---
34
-
35
- ## Parse Arguments
36
-
37
- Same as `/figma-to-swiftui`:
38
-
39
- | Input | Mode | Action |
40
- |-------|------|--------|
41
- | `https://www.figma.com/design/...` | **Start** | Extract fileKey + nodeId, begin Phase 0 |
42
- | `phase-0` through `phase-4` | **Resume** | Read IMPLEMENTATION_HISTORY.md, dispatch that phase |
43
- | `phase-2a` through `phase-2d` | **Resume** | Dispatch specific Phase 2 sub-phase |
44
- | `status` | **Status** | Read and display IMPLEMENTATION_HISTORY.md |
45
-
46
- ### URL Parsing
47
-
48
- ```
49
- https://www.figma.com/design/{fileKey}/{fileName}?node-id={nodeId}
50
- ```
51
- Convert `-` to `:` in node-id.
52
-
53
- ---
54
-
55
- ## Phase Execution Order
56
-
57
- ```
58
- 0 (Init) → 1 (Gather) → 2A → 2B → 2C → 2D → 3 (Analysis) → 4A → 4B → 4C → 4D → 4E
59
- ```
60
-
61
- This skill stops after Phase 4. To continue:
62
- - `/figma-to-swift-ui-test` → Phase 5 (testing)
63
- - `/figma-to-swift-ui-code-connect` → Phase 6 (Code Connect)
64
- - `/figma-to-swift-ui-confluence` → Phase 7 (documentation)
65
-
66
- ---
67
-
68
- ## Dispatch Table
69
-
70
- All instruction files are in `.instructions/figma/figma-to-swiftui/` - shared with `/figma-to-swiftui`.
71
-
72
- | Phase | Instruction (shared) | Model | Max Turns | Tool Restrictions |
73
- |-------|---------------------|-------|-----------|-------------------|
74
- | 0 | `phases/phase-0-init.md` | opus | 30 | No Edit |
75
- | 1 | `scripts/phase1-gather.py` | N/A (script) | N/A | Bash only |
76
- | 2A | `phases/phase-2a-testing-identifiers.md` | opus | 25 | No Edit |
77
- | 2B | `phases/phase-2b-localization.md` | sonnet | 25 | No Edit |
78
- | 2C | `phases/phase-2c-accessibility.md` | opus | 25 | No Edit |
79
- | 2D | `phases/phase-2d-analytics.md` | sonnet | 20 | No Edit, No Bash |
80
- | 3A | `phases/phase-3a-location.md` | sonnet | 20 | No Edit |
81
- | 3C | `phases/phase-3c-nested.md` | sonnet | 20 | No Edit |
82
- | 3H | `phases/phase-3h-variant-config.md` | opus | 25 | No Edit |
83
- | 3D | `phases/phase-3d-patterns.md` | opus | 30 | No Edit |
84
- | 4A | `phases/phase-4a-configuration.md` | opus | 30 | ALL allowed |
85
- | 4B | `phases/phase-4b-view.md` | opus | 40 | ALL allowed |
86
- | 4C | `phases/phase-4c-documentation.md` | sonnet | 20 | ALL allowed |
87
- | 4D | `phases/phase-4d-preview.md` | sonnet | 20 | ALL allowed |
88
- | 4E | `phases/phase-4e-modifiers.md` | sonnet | 20 | ALL allowed |
89
-
90
- ---
91
-
92
- ## Phase Routing
93
-
94
- All routing logic is identical to `/figma-to-swiftui` SKILL.md:
95
-
96
- - **Phase 0**: Dispatch table
97
- - **Phase 1**: Run script, handle COMPLETE_WITH_DEFERRED
98
- - **Phase 2**: Inline routing (PRE-CHECK → NORMALIZE → REGISTRY_LOOKUP → Wave 1 parallel 2A+2B+2C → Wave 2 2D → FINALIZE script)
99
- - **Phase 3**: Inline routing (PRE-CHECK → NORMALIZE → Wave 1 scripts+3A+3C+3H → missing token resolution → Wave 2 3D → Wave 3 3G → COLLECT → SPEC → INDEX)
100
- - **Phase 4**: Inline routing (PRE-CHECK → LOAD_SPEC → PREPARE_DIRECTORY → Wave 1 4A+4B+4C → Wave 2 4D+4E → COLLECT → VALIDATE → BUILD → UPDATE_REGISTRY)
101
-
102
- Refer to `.instructions/figma/figma-to-swiftui/SKILL.md` for the full routing logic - it is the authoritative source. This skill uses the exact same dispatch procedures, read-order tables, and return parsing.
103
-
104
- ### Phase 4 registry finalize
105
-
106
- After BUILD passes, run `phase4-finalize.py` to mark `status.ios.implemented` green with a content-hashed version bump. See `phases/phase-4-orchestrator.md` GATE 4 for details.
107
-
108
- ```bash
109
- python3 .instructions/figma/figma-to-swiftui/scripts/phase4-finalize.py \
110
- --node-id "{nodeId}" \
111
- --component-name "{ComponentName}" \
112
- --source-file "{componentLocation}/{ComponentName}.swift" \
113
- --platform ios
114
- ```
115
-
116
- The actual GitHub issue sync (labels, body progress table, Projects V2 fields, assignee) runs later when you call `/figma-iteration-commit` - it reads this registry state and invokes `update-issue-from-registry.py` once per node.
117
-
118
- ---
119
-
120
- ## Reference Files
121
-
122
- Same as `/figma-to-swiftui`:
123
-
124
- | File | Used By Phases |
125
- |------|----------------|
126
- | `reference/tools.md` | 0, 1 |
127
- | `reference/registry.md` | 0, 3 |
128
- | `reference/missing-tokens.md` | 3, 4 |
129
- | `reference/macros.md` | 4 |
130
- | `reference/figma-to-swiftui-effects.md` | 4 |
131
- | `reference/accessibility.md` | 2C |
132
- | `reference/localization-naming.md` | 2B |
133
- | `reference/testing-identifiers-naming.md` | 2A |
134
- | `reference/analytics-events.md` | 2D |
135
-
136
- ---
137
-
138
- ## Artifact Path Resolution
139
-
140
- Same as `/figma-to-swiftui`:
141
-
142
- ```bash
143
- CONFIG_PATH="{repos.common.path}"
144
- cd "$CONFIG_PATH" && .build/debug/FigmaRegistryUtility lookup --node-id '{nodeId}'
145
- ```
146
-
147
- ---
148
-
149
- ## Resume Mode
150
-
151
- Same as `/figma-to-swiftui`:
152
-
153
- 1. Find IMPLEMENTATION_HISTORY.md
154
- 2. Read context variables
155
- 3. Verify prerequisite artifacts
156
- 4. Dispatch requested phase
157
-
158
- ---
159
-
160
- ## Completion
161
-
162
- After Phase 4 completes successfully, output:
163
-
164
- ```
165
- Implementation complete: {ComponentName}
166
- - Location: {componentLocation}
167
- - Files: {ComponentName}.swift, FIGMA.md [, {ComponentName}Configuration.swift, {ComponentName}+Modifiers.swift]
168
- - Build: PASSED
169
-
170
- Next steps:
171
- - /figma-to-swift-ui-test {figmaUrl} → generate and run tests
172
- - /figma-to-swift-ui-code-connect {figmaUrl} → publish Code Connect
173
- - /figma-to-swift-ui-confluence {figmaUrl} → upload Confluence docs
174
- ```
175
-
176
- ---
177
-
178
- ## Notes
179
-
180
- - This skill runs Phases 0-4 only - the implementation core
181
- - All phase files, scripts, and references are shared with `/figma-to-swiftui`
182
- - The routing logic is identical - only the scope differs (stops at Phase 4 vs going to Phase 8)
183
- - Resume mode works the same - `phase-3` resumes Phase 3 from existing artifacts
184
- - Can be followed by any combination of the standalone skills in any order
@@ -1,219 +0,0 @@
1
- ---
2
- name: figma-component-test
3
- description: "Test generator + runner for implemented SwiftUI Figma components. Produces ViewInspector structural tests, snapshot tests, and XCTest unit tests for a component already built via Phase 4 codegen. Runs standalone (reads source files) or as a Phase 3.5 continuation. iOS platform peer - Android equivalent (Paparazzi/Roborazzi) lives under figma-android/."
4
- user-invocable: true
5
- argument-hint: "<figma-url> | --component <name>"
6
- language: en
7
- platform: ios
8
- status: wip-v5
9
- sourced-from: upstream/figma-to-swift-ui-test
10
- local-overlay: true
11
- ---
12
-
13
- # figma-component-test - Standalone Test Generation & Execution
14
-
15
- ## Purpose
16
-
17
- Generates and runs ViewInspector, snapshot, and unit tests for an implemented Figma component. Works independently from `/figma-to-swiftui` - reads source files directly. Can also run as a continuation after Phase 4 when full artifacts exist.
18
-
19
- ## Parameters
20
-
21
- | Parameter | Required | Description |
22
- |-----------|----------|-------------|
23
- | Figma URL | Yes | `https://www.figma.com/design/{fileKey}/...?node-id={nodeId}` |
24
-
25
- ```
26
- /figma-to-swift-ui-test https://www.figma.com/design/9ipBvrtsq9HlQ175B9k0wx/?node-id=2073-17454
27
- ```
28
-
29
- ---
30
-
31
- ## Parse Arguments
32
-
33
- Extract from Figma URL:
34
- ```
35
- https://www.figma.com/design/{fileKey}/{fileName}?node-id={nodeId}
36
- ```
37
- Convert `-` to `:` in node-id.
38
-
39
- ---
40
-
41
- ## Gate 0: Preliminary Check
42
-
43
- ### 1. Resolve Component
44
-
45
- ```bash
46
- cd {repos.common.path}
47
- .build/debug/FigmaRegistryUtility lookup --node-id '{nodeId}'
48
- ```
49
-
50
- Extract: `componentName`, `suggestedComponentLocation`, `suggestedArtifactPath`.
51
-
52
- ### 2. Verify Prerequisites
53
-
54
- | Check | Required | Source |
55
- |-------|----------|--------|
56
- | `{componentLocation}/{ComponentName}.swift` | Yes | Component must be implemented |
57
- | `{componentLocation}/FIGMA.md` | Yes | Variant mapping for snapshot matrix |
58
- | Component registry JSON (`{nodeId}.json`) | Yes | Testing identifiers |
59
-
60
- If Swift file missing → HALT. Component not implemented.
61
-
62
- ### 3. Check Existing Tests
63
-
64
- | Condition | Action |
65
- |-----------|--------|
66
- | ViewInspector + Snapshot tests exist | **UPDATE** mode - regenerate and re-record |
67
- | Tests missing | **CREATE** mode |
68
-
69
- ### 4. Detect Path: HOT or COLD
70
-
71
- | Condition | Path |
72
- |-----------|------|
73
- | `{artifactPath}/pass5/_test_index.md` exists | **HOT** - skip Gate 1, go to Gate 2 |
74
- | Missing | **COLD** - run Gate 1 |
75
-
76
- ---
77
-
78
- ## Gate 1: Test Data Accumulation (COLD path only)
79
-
80
- AI subagent (sonnet, 20 turns) reads source files and produces the test index + supporting artifacts that Phase 5 subphases expect.
81
-
82
- ### Sources
83
-
84
- | Source | Derives |
85
- |--------|---------|
86
- | `{ComponentName}.swift` (init signature, enums, types) | Variant axes, complexity (SIMPLE/COMPLEX), optional properties |
87
- | FIGMA.md (variant mapping table) | Snapshot matrix - which property combinations to test |
88
- | FIGMA.md (parameters table) | Parameter types, defaults |
89
- | Component registry JSON (testingIdentifiers) | Accessibility identifier test cases |
90
- | `{ComponentName}Configuration.swift` (if COMPLEX) | Configuration properties, chain modifiers |
91
-
92
- ### Outputs
93
-
94
- The subagent writes:
95
-
96
- ```
97
- {artifactPath}/pass5/_test_index.md
98
- {artifactPath}/pass3/04b_component_architecture.md (if missing)
99
- {artifactPath}/pass3/04_patterns.md (if missing)
100
- {artifactPath}/pass3/05_complexity.md (if missing)
101
- {artifactPath}/pass2/utility_identifiers.json (if missing - from registry)
102
- ```
103
-
104
- The `_test_index.md` contains:
105
- - componentName, sourceModule, componentPath
106
- - Paths to all referenced artifacts
107
- - Variant axes summary
108
- - Testing identifier list
109
-
110
- After this step, Phase 5A/5B/5C subphases can't distinguish HOT from COLD.
111
-
112
- ---
113
-
114
- ## Gate 2: Test Generation
115
-
116
- ### Dependency Switch
117
-
118
- Before running tests, switch to local common dependency:
119
-
120
- In `{repos.components.path}/Package.swift`:
121
- - Comment out `.package(url: "...{project.slug}-common...", ...)`
122
- - Add `.package(path: "../{project.slug}-common")`
123
-
124
- ### Wave 1 (parallel): 5A + 5B
125
-
126
- Dispatch subagents:
127
-
128
- | Phase | Instruction (shared) | Model | Max Turns |
129
- |-------|---------------------|-------|-----------|
130
- | 5A | `phases/phase-5a-viewinspector.md` | sonnet | 40 |
131
- | 5B | `phases/phase-5b-snapshot.md` | sonnet | 40 |
132
-
133
- ### Wave 2 (conditional): 5C
134
-
135
- | Condition | Action |
136
- |-----------|--------|
137
- | Component has ViewModel/model logic | Dispatch `phases/phase-5c-unit.md` (sonnet, 30 turns) |
138
- | Pure View + Configuration | Skip - N/A |
139
-
140
- ---
141
-
142
- ## Gate 3: Test Execution
143
-
144
- Run tests sequentially (shared DerivedData lock):
145
-
146
- ```bash
147
- REPO_ROOT=$(git rev-parse --show-toplevel)
148
- bash "${REPO_ROOT}/.instructions/figma/figma-to-swiftui/scripts/run-uicomponents-tests.sh" \
149
- --filter "{ComponentName}ViewInspectorTests"
150
- bash "${REPO_ROOT}/.instructions/figma/figma-to-swiftui/scripts/run-uicomponents-tests.sh" \
151
- --filter "{ComponentName}SnapshotTests"
152
- ```
153
-
154
- Both must exit 0. Fix any failures, re-run.
155
-
156
- ### Dependency Revert
157
-
158
- After tests pass, revert Package.swift:
159
- - Uncomment `.package(url: ...)`
160
- - Remove `.package(path: ...)`
161
-
162
- ---
163
-
164
- ## Gate 4: Update Registry
165
-
166
- Mark `status.ios.tested` green via the Phase 5 finalize script:
167
-
168
- ```bash
169
- python3 .instructions/figma/figma-to-swiftui/scripts/phase5-finalize.py \
170
- --node-id "{nodeId}" \
171
- --platform ios
172
- ```
173
-
174
- The script records `against = status.ios.implemented.version`, so the flag will automatically drop to yellow next time Phase 4 bumps `implemented.version`.
175
-
176
- | Result | Action |
177
- |--------|--------|
178
- | Exit 0, `"action": "updated"` / `"already_current"` / `"created"` | Proceed |
179
- | Exit 1 | HALT - verify node-id matches registry |
180
-
181
- GitHub issue sync (labels, Progress table, Projects V2 fields) runs later when `/figma-iteration-commit` invokes `update-issue-from-registry.py`.
182
-
183
- ---
184
-
185
- ## Dispatch Table
186
-
187
- | Gate | Instruction | Model | Max Turns |
188
- |------|-------------|-------|-----------|
189
- | 0 | Inline (this file) | - | - |
190
- | 1 | AI subagent | sonnet | 20 |
191
- | 2 (5A) | `phases/phase-5a-viewinspector.md` (shared) | sonnet | 40 |
192
- | 2 (5B) | `phases/phase-5b-snapshot.md` (shared) | sonnet | 40 |
193
- | 2 (5C) | `phases/phase-5c-unit.md` (shared) | sonnet | 30 |
194
- | 3 | Script (`run-uicomponents-tests.sh`) | - | - |
195
- | 4 | Script (`phase5-finalize.py`) | - | - |
196
-
197
- ---
198
-
199
- ## Shared Resources
200
-
201
- | Resource | Used By |
202
- |----------|---------|
203
- | `phases/phase-5a-viewinspector.md` | Gate 2 |
204
- | `phases/phase-5b-snapshot.md` | Gate 2 |
205
- | `phases/phase-5c-unit.md` | Gate 2 |
206
- | `reference/viewinspector.md` | Gate 2 (5A) |
207
- | `reference/snapshot-testing.md` | Gate 2 (5B) |
208
- | `scripts/run-uicomponents-tests.sh` | Gate 3 |
209
-
210
- ---
211
-
212
- ## Notes
213
-
214
- - Standalone entry point - does NOT require `/figma-to-swiftui` to have run
215
- - When called after Phase 4, detects existing artifacts (HOT path) and skips data accumulation
216
- - Phase 5A/5B/5C instruction files don't know which skill invoked them - fully modular
217
- - Always switches to local common dependency for test execution, reverts after
218
- - Snapshot tests run twice: first to record, second to verify
219
- - If component already has tests (UPDATE mode), deletes old snapshots before re-recording
@@ -1,274 +0,0 @@
1
- ---
2
- name: figma-component-wiki
3
- description: Generate component wiki documentation with a pluggable adapter. Reads component source + FIGMA.md, renders markdown, then delegates publication to the adapter selected by figmaConfig.wiki.mode (submodule | in-repo | github-wiki | separate-repo).
4
- user-invocable: true
5
- argument-hint: <figma-url> | <component-name>
6
- allowed-tools: Read, Write, Glob, Grep, Bash
7
- status: wip-v5
8
- sourced-from: upstream/figma-to-swift-ui-wiki
9
- local-overlay: true
10
- ---
11
-
12
- # figma-component-wiki - Component Wiki Documentation
13
-
14
- > **WS-5 v5.0.0 - locally overlaid.** `local-overlay: true` in frontmatter tells `sync-figma-source.sh` + `import-figma-skills.sh` to skip this file so this v5-specific contract (4-adapter dispatch) isn't flattened on every sync.
15
-
16
- ## Dispatch contract (Phase 7 Report Step 2)
17
-
18
- Phase 7 calls this skill with:
19
-
20
- ```
21
- {
22
- componentName: string,
23
- componentPath: string,
24
- figmaConfig: object,
25
- agentState: object,
26
- dryRun?: boolean
27
- }
28
- ```
29
-
30
- Returns `{ writtenPaths, committedSha?, pushedRemote?, confluencePageId? }`.
31
-
32
- Emit progress line `→ writing wiki {componentName} (mode: {mode})` as the first action. On failure, emit `→ wiki write failed (mode: {mode}): {reason}` and bubble the error; Phase 7 treats wiki as non-blocking.
33
-
34
- ## Adapter selection
35
-
36
- | mode | when to pick | path layout | push semantics |
37
- |---|---|---|---|
38
- | `submodule` | Team versions the wiki as a git submodule (source project's native layout). | `{repos.wiki.path}/FigmaComponents/{Category}/{Name}/{Name}.md` + `assets/` | Commit into submodule's `{repos.wiki.branch}`, push. Updates parent repo's submodule pointer. |
39
- | `in-repo` | Simple projects without a separate wiki repo (default). | `{repos.components.path}/.wiki/components/{Category}/{Name}.md` | No push - commits with the component change in Phase 6. |
40
- | `github-wiki` | Team uses GitHub's built-in wiki (`{org}/{repo}.wiki.git`). | `{repo}.wiki.git/{Category}/{Name}.md` | Clone `.wiki.git`, add/commit, push. Idempotent over re-renders. |
41
- | `separate-repo` | Wiki in a separate GitHub repo (not submodule, not `.wiki`). | Remote repo's configured branch; same file layout as submodule. | Clone on demand to `~/.cache/multi-agent/wiki/{slug}/`, commit, push. |
42
-
43
- Every adapter:
44
-
45
- 1. Receives identical rendered markdown (content identical across layouts).
46
- 2. Generates `_Sidebar.md` via `pipeline/scripts/wiki/sidebar-generator.py` (ships in a follow-up).
47
- 3. Updates `ComponentImplementationStatus.md` via `pipeline/scripts/wiki/status-page.py` (ships in a follow-up).
48
- 4. Is idempotent - re-running on unchanged component produces no diff.
49
-
50
- ## Failure contracts
51
-
52
- - `submodule` - submodule path missing → return error, no partial commit.
53
- - `in-repo` - target dir not writable → return error; Phase 6 commit picks up the `.wiki/` change on its next run if paths eventually exist.
54
- - `github-wiki` - wiki repo not enabled on GitHub → suggest enabling and skip (return success with `writtenPaths: []`).
55
- - `separate-repo` - remote unreachable → cache the markdown under `~/.cache/multi-agent/wiki/{slug}/pending/` and return a warning; next run retries.
56
-
57
- ## Markdown rendering (mode-agnostic)
58
-
59
- Reads `componentPath` + sibling `FIGMA.md` (variant matrix, usage examples). Writes:
60
-
61
- - `{Name}.md` - component page (overview, parameters, variants, code examples, tokens, accessibility notes).
62
- - `{Name}/assets/` - design screenshots.
63
- - `_Sidebar.md` - navigation (regenerated by the sidebar script).
64
- - `ComponentImplementationStatus.md` - status dashboard (regenerated).
65
-
66
- ---
67
-
68
- ## Legacy content (upstream - submodule-mode reference)
69
-
70
- Everything below is the original `/figma-to-swift-ui-wiki` skill content, preserved as the reference implementation for the `submodule` adapter.
71
-
72
- ---
73
-
74
- # /figma-to-swift-ui-wiki - Standalone Wiki Documentation
75
-
76
- ## Purpose
77
-
78
- Generates GitHub Wiki documentation for an implemented Figma component. Works independently from `/figma-to-swiftui` - reads source files and artifacts directly. Can also run as a continuation after Phase 6 when full artifacts exist.
79
-
80
- The wiki is the **source of truth** for component documentation. Confluence pages are synced from the wiki via `/figma-to-swift-ui-confluence-sync`.
81
-
82
- ## Parameters
83
-
84
- | Parameter | Required | Description |
85
- |-----------|----------|-------------|
86
- | Figma URL | Yes | `https://www.figma.com/design/{fileKey}/...?node-id={nodeId}` |
87
-
88
- ```
89
- /figma-to-swift-ui-wiki https://www.figma.com/design/ps4xrJzhn7WNbfkZs895Bi/?node-id=9511-10868
90
- ```
91
-
92
- ---
93
-
94
- ## Parse Arguments
95
-
96
- Extract from Figma URL:
97
- ```
98
- https://www.figma.com/design/{fileKey}/{fileName}?node-id={nodeId}
99
- ```
100
- Convert `-` to `:` in node-id.
101
-
102
- ---
103
-
104
- ## Gate 0: Preliminary Check
105
-
106
- 1. Registry lookup:
107
- ```bash
108
- cd {repos.common.path}
109
- .build/debug/FigmaRegistryUtility lookup --node-id '{nodeId}'
110
- ```
111
-
112
- Extract: `suggestedComponentName`, `suggestedComponentLocation`, `suggestedArtifactPath`.
113
-
114
- 2. Verify the component is implemented:
115
- ```bash
116
- # Swift view file must exist
117
- ls {componentLocation}/{ComponentName}.swift
118
- # FIGMA.md must exist
119
- ls {componentLocation}/FIGMA.md
120
- ```
121
-
122
- If either is missing → HALT: "Component not implemented. Run /figma-to-swiftui or /figma-to-swift-ui-implement first."
123
-
124
- 3. Derive paths:
125
- - `wikiRoot` = `{repos.wiki.path}`
126
- - `wikiCategory` = derive from `artifactPath` (e.g., `DesignSystemCore/BoardingPass`, `MobileAppComponents/FlowBasedComponents/Explore`)
127
- - `wikiComponentPath` = `{wikiRoot}/{wikiCategory}/{ComponentName}`
128
-
129
- ---
130
-
131
- ## Gate 1: Generate Wiki Documentation
132
-
133
- Dispatch Phase 7A as a subagent:
134
-
135
- ```
136
- Agent(
137
- subagent_type: "general-purpose",
138
- model: sonnet,
139
- max_turns: 30,
140
- prompt: "You are executing Phase 7A (Wiki Documentation) of the Figma-to-SwiftUI workflow.
141
-
142
- ## Context
143
- - Component: {ComponentName}
144
- - File Key: {fileKey}
145
- - Node ID: {nodeId}
146
- - Artifact Path: {artifactPath}
147
- - Component Location: {componentLocation}
148
- - Wiki Path: {wikiRoot}
149
-
150
- ## Tool Restrictions
151
- Do NOT use the Edit tool.
152
-
153
- ## Your Instructions
154
- Read and STRICTLY FOLLOW your phase instructions gate-by-gate from this file:
155
- .instructions/figma/figma-to-swiftui/phases/phase-7a-wiki-generate.md
156
-
157
- Execute every gate sequentially. Do not skip gates.
158
-
159
- Read the return protocol from:
160
- .instructions/figma/figma-to-swiftui/reference/halt-return-protocol.md
161
-
162
- ## Previous Phase Artifacts (read in this order)
163
- - {componentLocation}/FIGMA.md
164
- - {componentLocation}/{ComponentName}.swift
165
- - {artifactPath}/IMPLEMENTATION_HISTORY.md
166
- - {artifactPath}/pass3/07_implementation_spec.md
167
- - {artifactPath}/pass3/08_utility_integration.md
168
- - {artifactPath}/pass3/03_nested_components.md
169
- - {artifactPath}/pass2/utility_analytics.md (if exists)
170
- - {artifactPath}/pass1/component_summary.json"
171
- )
172
- ```
173
-
174
- On COMPLETE → proceed to Gate 1.5.
175
- On HALT → show user the halt reason, ask to resolve.
176
-
177
- ---
178
-
179
- ## Gate 1.5: Verify Sidebar Updated
180
-
181
- The Phase 7A subagent is responsible for updating `_Sidebar.md` (GATE 4) via `sidebar-generator.py`. Verify it actually happened before committing:
182
-
183
- ```bash
184
- cd ${wikiRoot}
185
- grep -q "\[\[${ComponentName}\]\]" _Sidebar.md
186
- ```
187
-
188
- If the component is **missing** from `_Sidebar.md`, re-run the sidebar generator as a safety net:
189
- ```bash
190
- python3 .instructions/figma/figma-to-swiftui/scripts/sidebar-generator.py --wiki-root ${wikiRoot}
191
- ```
192
-
193
- This regenerates the entire sidebar from the wiki directory structure. If the component's wiki folder exists, it will appear in the output. If it still doesn't appear after regeneration, the wiki folder structure is incorrect - HALT and ask the user to verify the component's wiki directory path.
194
-
195
- ---
196
-
197
- ## Gate 2: Commit & Push Wiki
198
-
199
- ```bash
200
- cd ${wikiRoot}
201
- git add -A
202
- git commit -m "docs: add ${ComponentName} wiki documentation"
203
- git push origin master
204
- ```
205
-
206
- If push fails → HALT: "Wiki push failed. Check wiki submodule state."
207
-
208
- ---
209
-
210
- ## Gate 3: Update Status Page
211
-
212
- Run the status page generator:
213
-
214
- ```bash
215
- python3 .instructions/figma/figma-to-swiftui/scripts/confluence-component-status.py
216
- ```
217
-
218
- Then commit and push the updated status page:
219
-
220
- ```bash
221
- cd ${wikiRoot}
222
- git add ComponentImplementationStatus.md
223
- git commit -m "docs: update Component Implementation Status"
224
- git push origin master
225
- ```
226
-
227
- ---
228
-
229
- ## Gate 4: Update Registry
230
-
231
- Mark `status.ios.wiki` green via the Phase 7 finalize script:
232
-
233
- ```bash
234
- python3 .instructions/figma/figma-to-swiftui/scripts/phase7-finalize.py \
235
- --node-id "{nodeId}" \
236
- --platform ios
237
- ```
238
-
239
- The script records `against = status.ios.implemented.version`, so the flag drops to yellow automatically on the next Phase 4 version bump until the wiki is regenerated.
240
-
241
- | Result | Action |
242
- |--------|--------|
243
- | Exit 0, `"action": "updated"` / `"already_current"` / `"created"` | Proceed |
244
- | Exit 1 | HALT - verify node-id matches registry |
245
-
246
- GitHub issue sync runs later via `/figma-iteration-commit` → `update-issue-from-registry.py`.
247
-
248
- ---
249
-
250
- ## Summary
251
-
252
- Print:
253
-
254
- ```
255
- Wiki documentation complete:
256
-
257
- | Field | Value |
258
- |-------|-------|
259
- | Component | {ComponentName} |
260
- | Wiki Page | {wikiComponentPath}/{ComponentName}.md |
261
- | Assets | {COUNT} screenshots |
262
- | Status Page | Updated |
263
- | Wiki URL | https://github.com/{github.componentsRepo}/wiki/{ComponentName} |
264
- ```
265
-
266
- ---
267
-
268
- ## Error Handling
269
-
270
- - **Component not implemented**: HALT - run implementation first.
271
- - **FigmaRegistryUtility not built**: Run `swift build --product FigmaRegistryUtility`.
272
- - **Wiki submodule not initialized**: Run `git submodule update --init` on the wiki path.
273
- - **Push fails**: Check if wiki submodule is on `master` and remote is accessible.
274
- - **Phase 7A HALT**: Show reason, ask user to resolve.