@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,400 +0,0 @@
1
- ---
2
- name: figma-review
3
- description: Guided review session for a Figma component implementation. Resolves the component, finds or creates the GitHub issue, shows relevant code, and walks the reviewer through approve/bug/inspect actions.
4
- ---
5
-
6
- # /figma-review - Interactive Code Review for Figma Components
7
-
8
- ## Purpose
9
-
10
- Guided review session for a Figma component implementation. Resolves the component, finds or creates the GitHub issue, shows relevant code, and walks the reviewer through approve/bug/inspect actions.
11
-
12
- ## Parameters
13
-
14
- | Parameter | Required | Description |
15
- |-----------|----------|-------------|
16
- | `<ComponentName>` or `<IssueNumber>` | Yes | PascalCase component name **or** GitHub issue number |
17
-
18
- ```
19
- /figma-review ModalsTitle
20
- /figma-review MyComponent
21
- /figma-review 175
22
- ```
23
-
24
- ---
25
-
26
- ## Constants
27
-
28
- ```
29
- REPO_ROOT = git repo root (auto-detect)
30
- GH_REPO = {github.componentsRepo}
31
- REGISTRY_UTIL = ${REPO_ROOT}/{repos.common.path}/.build/debug/FigmaRegistryUtility
32
- PROJECT_ID = {github.projectV2Id}
33
- ```
34
-
35
- ---
36
-
37
- ## STEP 0 - Resolve Component
38
-
39
- ### Determine input type
40
-
41
- If the argument is a number → treat as **issue number**, fetch the issue first and extract `ComponentName` from the issue body's `### Component Name (PascalCase)` field.
42
-
43
- If the argument is a string → treat as **ComponentName** and search for the issue by name.
44
-
45
- ### If input is issue number
46
-
47
- ```bash
48
- gh issue view <NUMBER> --repo ${GH_REPO} --json number,title,body,labels,state
49
- ```
50
-
51
- Extract `ComponentName` from the body field `### Component Name (PascalCase)`.
52
- If the field is missing → HALT: "Issue #N does not have a Component Name field."
53
-
54
- ### Find component files
55
-
56
- ```bash
57
- # Find SwiftUI view
58
- Glob: **/Sources/UIComponents/**/{ComponentName}.swift
59
-
60
- # Find configuration
61
- Glob: **/Sources/UIComponents/**/{ComponentName}Configuration.swift
62
-
63
- # Find FIGMA.md
64
- Glob: **/Sources/UIComponents/**/{ComponentName}/FIGMA.md
65
-
66
- # Find tests
67
- Glob: **/Tests/**/{ComponentName}Tests.swift
68
- Glob: **/Tests/**/{ComponentName}SnapshotTests.swift
69
- ```
70
-
71
- If no `.swift` file found → HALT: "Component `{ComponentName}` not found in codebase."
72
-
73
- ### Find GitHub issue (if input was ComponentName)
74
-
75
- **Primary: node-id search (deterministic)** - if the registry has an entry for this component, look up its nodeId and search for issues whose body references that exact string:
76
-
77
- ```bash
78
- # Resolve ComponentName → nodeId via registry
79
- NODE_ID=$(python3 -c "
80
- import json, os, glob, sys
81
- d = '${FIGMA_DIR}/Components'
82
- for f in glob.glob(os.path.join(d, '*.json')):
83
- with open(f) as fh: e = json.load(fh)
84
- cn = e.get('componentName') or {}
85
- ios = cn.get('ios') if isinstance(cn, dict) else cn
86
- if ios == '{ComponentName}':
87
- print(e.get('nodeId', ''))
88
- sys.exit(0)
89
- ")
90
-
91
- if [ -n "$NODE_ID" ]; then
92
- gh issue list --repo ${GH_REPO} --state open --search "\"$NODE_ID\" in:body" --json number,title,body,labels,state
93
- fi
94
- ```
95
-
96
- **Fallback: fuzzy name search** - only if node-id lookup returned nothing (component not in registry, or registry not cloned):
97
-
98
- ```bash
99
- gh issue list --repo ${GH_REPO} --state open --label component --search "{ComponentName}" --json number,title,body,labels,state
100
- ```
101
-
102
- **If issue found:** use it as the parent issue.
103
-
104
- **If no issue found:** print and STOP:
105
-
106
- ```
107
- No open issue found for {ComponentName}.
108
-
109
- 1. Create issue now
110
- 2. Continue without issue
111
- ```
112
-
113
- - If "1": run the same flow as `/figma-issue open` - registry lookup, create issue, add to board. Then continue.
114
- - If "2": continue review without issue tracking (no labels, no sub-issues - just code inspection).
115
-
116
- ### Extract issue metadata
117
-
118
- From the issue body:
119
- - Figma URL, Node ID, Registry Name
120
- - Jira key (if linked)
121
- - Current progress checkboxes
122
- - Existing review status (from labels)
123
-
124
- ---
125
-
126
- ## STEP 1 - Show Review Context
127
-
128
- ## STEP 2 - Review Menu
129
-
130
- Print the full review context AND the menu **together in a single output block**, then STOP. Wait for user's response.
131
-
132
- ```
133
- ═══════════════════════════════════════════════
134
- REVIEW: {ComponentName}
135
- ═══════════════════════════════════════════════
136
- Issue: #{N} - {title}
137
- Jira: {JIRA_KEY or "none"}
138
- Phase: {current phase from labels}
139
- Review: {X/4 from label or "not started"}
140
- Open bugs: {count of open bug sub-issues}
141
- ───────────────────────────────────────────────
142
- Files:
143
- • {path}/{ComponentName}.swift
144
- • {path}/{ComponentName}Configuration.swift
145
- • {path}/FIGMA.md
146
- • Tests/{ComponentName}Tests.swift
147
- • Tests/{ComponentName}SnapshotTests.swift
148
- ───────────────────────────────────────────────
149
- Recent:
150
- {git log --oneline --since="7 days ago"}
151
- ═══════════════════════════════════════════════
152
-
153
- What would you like to do?
154
-
155
- 1. Open in Xcode
156
- 2. Open in Xcode + Figma
157
- 3. Approve
158
- 4. Open bug
159
- 5. Status (review progress)
160
- 6. Done (exit review)
161
- ```
162
-
163
- ### Action: `1` - Open in Xcode
164
-
165
- Find the component's Swift file using Glob, then open it:
166
-
167
- ```bash
168
- open -a Xcode "<resolved_path>"
169
- ```
170
-
171
- Return to menu.
172
-
173
- ### Action: `2` - Open in Xcode + Figma
174
-
175
- 1. Open the Swift file in Xcode (same as Action 1):
176
- ```bash
177
- open -a Xcode "<resolved_path>"
178
- ```
179
-
180
- 2. Build the Figma URL from issue metadata (`Figma URL` field). Open in Figma desktop app if installed, otherwise fall back to browser:
181
- ```bash
182
- # Check if Figma desktop app is installed
183
- if [ -d "/Applications/Figma.app" ]; then
184
- # Convert https://www.figma.com/design/... to figma://file/...
185
- FIGMA_URL="{figma_url_from_issue}"
186
- FIGMA_DEEP_LINK=$(echo "$FIGMA_URL" | sed 's|https://www.figma.com/design/|figma://file/|')
187
- open "$FIGMA_DEEP_LINK"
188
- else
189
- open "{figma_url_from_issue}"
190
- fi
191
- ```
192
-
193
- Return to menu.
194
-
195
- ### Action: `3` - Approve
196
-
197
- 1. Get current reviewer's GitHub username:
198
- ```bash
199
- gh api user --jq '.login'
200
- ```
201
-
202
- 2. Read issue body. Find `### Review` section. Check the reviewer's checkbox:
203
- - Find `- [ ] @{username}` → replace with `- [x] @{username}`
204
- - If reviewer not in the list → add `- [x] @{username}`
205
-
206
- 3. Update issue body:
207
- ```bash
208
- gh issue edit <N> --repo ${GH_REPO} --body "<UPDATED_BODY>"
209
- ```
210
-
211
- 4. Count approvals (`- [x]` entries). Update label:
212
- ```bash
213
- # Remove old review label
214
- EXISTING=$(gh issue view <N> --repo ${GH_REPO} --json labels --jq '.labels[].name | select(startswith("review:"))' | head -1)
215
- [ -n "$EXISTING" ] && gh issue edit <N> --repo ${GH_REPO} --remove-label "$EXISTING"
216
- # Add new one (always out of 4)
217
- gh issue edit <N> --repo ${GH_REPO} --add-label "review:{APPROVED}/4"
218
- ```
219
-
220
- 5. Add comment:
221
- ```bash
222
- gh issue comment <N> --repo ${GH_REPO} --body "Approved by @{username}"
223
- ```
224
-
225
- 6. If `review:4/4` AND no open bug sub-issues → print: "All 4 reviews complete. No open bugs. Ready to close with `/figma-issue close #N`."
226
-
227
- Print: "Approved. Review status: {APPROVED}/4"
228
-
229
- Return to menu.
230
-
231
- ### Action: `4` - Open bug
232
-
233
- Print and STOP:
234
-
235
- ```
236
- Describe the bug:
237
- ```
238
-
239
- Wait for user's response. Capture as `BUG_DESCRIPTION`.
240
-
241
- Then ask via **AskUserQuestion** (discrete options only - no free text):
242
-
243
- ```
244
- Question: "Bug severity?"
245
- Options:
246
- - label: "Minor" description: "Cosmetic, non-blocking - label bug-minor"
247
- - label: "Major" description: "Functional issue, must fix - label bug-major"
248
- ```
249
-
250
- The answer drives a label, not a free-text comparison. Map:
251
- - "Minor" → add label `bug-minor`
252
- - "Major" → add label `bug-major`
253
-
254
- No "is this minor or major?" prose parsing. The label is the source of truth.
255
-
256
- Get the parent issue's assignee so the bug is assigned to the implementor:
257
-
258
- ```bash
259
- PARENT_ASSIGNEE=$(gh issue view <PARENT_ISSUE_NUMBER> --repo ${GH_REPO} --json assignees --jq '.assignees[0].login // empty')
260
- ```
261
-
262
- Create bug sub-issue (assigned to parent's assignee):
263
-
264
- ```bash
265
- gh issue create --repo ${GH_REPO} \
266
- --title "bug({ComponentName}): {short description from first line}" \
267
- --label "bug" \
268
- --label "review-fix" \
269
- ${PARENT_ASSIGNEE:+-a "$PARENT_ASSIGNEE"} \
270
- --body "$(cat <<'EOF'
271
- ## Parent
272
-
273
- Closes #{PARENT_ISSUE_NUMBER}
274
-
275
- ## Component
276
-
277
- {ComponentName}
278
-
279
- ## Description
280
-
281
- {BUG_DESCRIPTION}
282
-
283
- ## Severity
284
-
285
- {Minor/Major}
286
-
287
- ## Reporter
288
-
289
- @{username}
290
- EOF
291
- )"
292
- ```
293
-
294
- Add the bug as a sub-issue to the parent:
295
-
296
- ```bash
297
- # Get sub-issue node ID
298
- BUG_NODE_ID=$(gh api graphql -f query='{ repository(owner: "{github.org}", name: "{project.slug}-components") { issue(number: <BUG_NUMBER>) { id } } }' --jq '.data.repository.issue.id')
299
-
300
- # Get parent issue node ID
301
- PARENT_NODE_ID=$(gh api graphql -f query='{ repository(owner: "{github.org}", name: "{project.slug}-components") { issue(number: <PARENT_NUMBER>) { id } } }' --jq '.data.repository.issue.id')
302
-
303
- # Link as sub-issue
304
- gh api repos/${GH_REPO}/issues/<PARENT_NUMBER>/sub_issues --method POST -f sub_issue_id="$BUG_NODE_ID"
305
- ```
306
-
307
- Add `review-fix` label to parent issue:
308
- ```bash
309
- gh issue edit <PARENT_NUMBER> --repo ${GH_REPO} --add-label "review-fix"
310
- ```
311
-
312
- Print: "Bug #M created and linked to #N."
313
-
314
- Return to menu.
315
-
316
- ### Action: `5` - Status
317
-
318
- Show detailed review progress:
319
-
320
- ```
321
- Review Status: {ComponentName} (#N)
322
-
323
- Approvals: {COUNT}/4
324
- ✅ @reviewer1 - approved 2026-03-22
325
- ✅ @reviewer2 - approved 2026-03-22
326
- ⬜ @reviewer3
327
- ⬜ @reviewer4
328
-
329
- Open Bugs: {COUNT}
330
- 🔴 #108 - dark mode text color wrong (Major)
331
- 🟡 #109 - RTL padding missing (Minor)
332
-
333
- Closed Bugs: {COUNT}
334
- ✅ #110 - wrong font token (fixed)
335
- ```
336
-
337
- Fetch sub-issues:
338
- ```bash
339
- gh api graphql -f query='{ repository(owner: "{github.org}", name: "{project.slug}-components") { issue(number: <N>) { subIssues(first: 50) { nodes { number title state labels(first: 5) { nodes { name } } } } } } }'
340
- ```
341
-
342
- Return to menu.
343
-
344
- ### Action: `6` - Done
345
-
346
- Print: "Review session ended." Exit.
347
-
348
- ---
349
-
350
- ## Review Setup (first time)
351
-
352
- When STEP 1 detects no `### Review` section in the issue body:
353
-
354
- 1. Get the triggering user's GitHub username:
355
- ```bash
356
- gh api user --jq '.login'
357
- ```
358
-
359
- 2. Add them as the first reviewer, **unchecked** (pending - they must use Action 3 to formally approve):
360
-
361
- ```markdown
362
- ### Review
363
-
364
- - [ ] @{current_username}
365
- ```
366
-
367
- 3. Update the issue body with the `### Review` section.
368
-
369
- 4. Update label:
370
- ```bash
371
- gh issue edit <N> --repo ${GH_REPO} --add-label "review:0/4"
372
- ```
373
-
374
- 5. Print:
375
- ```
376
- You've been added as reviewer (@{current_username}). Review requires 4 approvals.
377
- Other reviewers can be added via the GitHub issue or by running /figma-review.
378
- ```
379
-
380
- 6. Continue to STEP 2 (review menu) - no need to stop again.
381
-
382
- ---
383
-
384
- ## Labels Used
385
-
386
- | Label | Purpose |
387
- |-------|---------|
388
- | `review:X/4` | X of 4 reviewers approved (required: 4) |
389
- | `review-fix` | Has open bugs from review |
390
- | `bug` | Bug sub-issue |
391
-
392
- ---
393
-
394
- ## Error Handling
395
-
396
- - **Component not found**: HALT with message.
397
- - **No issue + user chooses "continue without"**: Code-only review, no labels/tracking.
398
- - **Reviewer already approved**: Skip, print "Already approved."
399
- - **Sub-issues API unavailable**: Fall back to linking via comment reference (`Blocked by #N`).
400
- - **FigmaRegistryUtility not built**: Prompt to build.