@mmerterden/multi-agent-pipeline 11.1.0 → 11.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (342) hide show
  1. package/CHANGELOG.md +58 -0
  2. package/README.md +2 -2
  3. package/docs/FIGMA_PIPELINE.md +12 -25
  4. package/docs/architecture.md +3 -5
  5. package/docs/features.md +8 -8
  6. package/install/_common.mjs +9 -1
  7. package/install/_dev-only-files.mjs +0 -6
  8. package/install/claude.mjs +45 -18
  9. package/install/copilot.mjs +16 -14
  10. package/install/templates/copilot-instructions.md +3 -3
  11. package/package.json +1 -1
  12. package/pipeline/commands/{multi-agent.md → multi-agent/SKILL.md} +39 -39
  13. package/pipeline/commands/multi-agent/{analysis.md → analysis/SKILL.md} +18 -18
  14. package/pipeline/commands/multi-agent/{analysis-resolve.md → analysis-resolve/SKILL.md} +4 -4
  15. package/pipeline/commands/multi-agent/{autopilot.md → autopilot/SKILL.md} +4 -4
  16. package/pipeline/commands/multi-agent/{build-optimize.md → build-optimize/SKILL.md} +1 -1
  17. package/pipeline/commands/multi-agent/{channels.md → channels/SKILL.md} +12 -12
  18. package/pipeline/commands/multi-agent/{dev.md → dev/SKILL.md} +4 -4
  19. package/pipeline/commands/multi-agent/{dev-autopilot.md → dev-autopilot/SKILL.md} +4 -4
  20. package/pipeline/commands/multi-agent/{dev-local.md → dev-local/SKILL.md} +5 -5
  21. package/pipeline/commands/multi-agent/{dev-local-autopilot.md → dev-local-autopilot/SKILL.md} +4 -4
  22. package/pipeline/commands/multi-agent/{finish.md → finish/SKILL.md} +6 -6
  23. package/pipeline/commands/multi-agent/{generate.md → generate/SKILL.md} +3 -3
  24. package/pipeline/commands/multi-agent/{help.md → help/SKILL.md} +4 -4
  25. package/pipeline/commands/multi-agent/{local.md → local/SKILL.md} +5 -5
  26. package/pipeline/commands/multi-agent/{local-autopilot.md → local-autopilot/SKILL.md} +5 -5
  27. package/pipeline/commands/multi-agent/{manual-test.md → manual-test/SKILL.md} +1 -1
  28. package/pipeline/commands/multi-agent/refactor/SKILL.md +257 -0
  29. package/pipeline/commands/multi-agent/{resume.md → resume/SKILL.md} +1 -1
  30. package/pipeline/commands/multi-agent/{review.md → review/SKILL.md} +5 -5
  31. package/pipeline/commands/multi-agent/{setup.md → setup/SKILL.md} +1 -1
  32. package/pipeline/commands/multi-agent/{sync.md → sync/SKILL.md} +20 -58
  33. package/pipeline/{commands/multi-agent → multi-agent-refs}/_account-picker.md +2 -2
  34. package/pipeline/{commands/multi-agent → multi-agent-refs}/_dev-context.md +2 -2
  35. package/pipeline/{commands/multi-agent → multi-agent-refs}/_repo-picker.md +2 -2
  36. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/android-guide.md +1 -1
  37. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/channels/jira.md +1 -1
  38. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/channels/wiki.md +7 -7
  39. package/pipeline/multi-agent-refs/component-dispatch.md +92 -0
  40. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/cross-cli-contract.md +10 -77
  41. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/verify-by-test.md +1 -1
  42. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/generate-issue.md +2 -2
  43. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/issue-jira-triad.md +1 -1
  44. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/keychain.md +1 -1
  45. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/log-format.md +1 -1
  46. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/modes.md +2 -2
  47. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/operations.md +1 -1
  48. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-0-init.md +10 -10
  49. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-1-analysis.md +6 -6
  50. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-2-planning.md +3 -3
  51. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-3-dev.md +10 -10
  52. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-4-review.md +8 -8
  53. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-5-test.md +3 -3
  54. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-6-commit.md +4 -4
  55. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-7-report.md +6 -6
  56. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases.md +12 -12
  57. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/progress-contract.md +4 -4
  58. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/swiftui-guide.md +1 -1
  59. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/tracker-contract.md +3 -3
  60. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/wiki-capture.md +4 -4
  61. package/pipeline/preferences-template.json +17 -1
  62. package/pipeline/rules/figma-pipeline.md +2 -2
  63. package/pipeline/schemas/prefs.schema.json +0 -34
  64. package/pipeline/scripts/README.md +1 -3
  65. package/pipeline/scripts/build-stack-plugins.mjs +1 -1
  66. package/pipeline/scripts/fixtures/install-layout.tsv +6 -5
  67. package/pipeline/scripts/gen-mode-dispatch.mjs +3 -3
  68. package/pipeline/scripts/phase-banner.sh +2 -2
  69. package/pipeline/scripts/review-scope.mjs +94 -0
  70. package/pipeline/scripts/scan-agent-config.sh +2 -2
  71. package/pipeline/scripts/smoke-agent-log-cost.sh +1 -1
  72. package/pipeline/scripts/smoke-agent-model-routing.sh +4 -4
  73. package/pipeline/scripts/smoke-autopilot-circuit-breaker.sh +2 -2
  74. package/pipeline/scripts/smoke-channels-approval-gate.sh +2 -2
  75. package/pipeline/scripts/smoke-channels-flow.sh +5 -5
  76. package/pipeline/scripts/smoke-clarify.sh +1 -1
  77. package/pipeline/scripts/smoke-commands-skills-parity.sh +3 -3
  78. package/pipeline/scripts/smoke-community-gates.sh +1 -1
  79. package/pipeline/scripts/smoke-compliance-skills.sh +2 -2
  80. package/pipeline/scripts/smoke-cost-summary.sh +1 -1
  81. package/pipeline/scripts/smoke-cross-cli-behavior.sh +17 -43
  82. package/pipeline/scripts/smoke-cross-phase-cohesion.sh +1 -1
  83. package/pipeline/scripts/smoke-dev-critic.sh +1 -1
  84. package/pipeline/scripts/smoke-diff-explain.sh +1 -1
  85. package/pipeline/scripts/smoke-diff-risk.sh +1 -1
  86. package/pipeline/scripts/smoke-evidence-gate.sh +1 -1
  87. package/pipeline/scripts/smoke-figma-dispatch.sh +46 -57
  88. package/pipeline/scripts/smoke-gate-hooks.sh +1 -1
  89. package/pipeline/scripts/smoke-generate-issue.sh +8 -8
  90. package/pipeline/scripts/smoke-handoff-contract.sh +3 -3
  91. package/pipeline/scripts/smoke-identity-isolation.sh +2 -2
  92. package/pipeline/scripts/smoke-intent-guard.sh +1 -1
  93. package/pipeline/scripts/smoke-issue-comment-template.sh +2 -2
  94. package/pipeline/scripts/smoke-issue-jira-triad.sh +4 -4
  95. package/pipeline/scripts/smoke-language-axis.sh +6 -6
  96. package/pipeline/scripts/smoke-learnings-ledger.sh +3 -3
  97. package/pipeline/scripts/smoke-mode-dispatch-drift.sh +16 -16
  98. package/pipeline/scripts/smoke-model-fallback.sh +3 -3
  99. package/pipeline/scripts/smoke-multi-repo-integration.sh +2 -2
  100. package/pipeline/scripts/smoke-multi-repo-worktree.sh +1 -1
  101. package/pipeline/scripts/smoke-no-token-prompt.sh +5 -5
  102. package/pipeline/scripts/smoke-phase-0-multi-repo.sh +1 -1
  103. package/pipeline/scripts/smoke-phase-6-multi.sh +1 -1
  104. package/pipeline/scripts/smoke-phase4-gates.sh +45 -0
  105. package/pipeline/scripts/smoke-plan-approval-gate.sh +5 -5
  106. package/pipeline/scripts/smoke-plan-todos.sh +3 -3
  107. package/pipeline/scripts/smoke-pr-review-actions.sh +3 -3
  108. package/pipeline/scripts/smoke-prefs-language.sh +1 -1
  109. package/pipeline/scripts/smoke-progress-contract.sh +2 -2
  110. package/pipeline/scripts/smoke-push-retry.sh +1 -1
  111. package/pipeline/scripts/smoke-repo-map.sh +2 -2
  112. package/pipeline/scripts/smoke-shadow-git.sh +1 -1
  113. package/pipeline/scripts/smoke-skill-authoring.sh +4 -9
  114. package/pipeline/scripts/smoke-tasklist-ordering.sh +10 -10
  115. package/pipeline/scripts/smoke-test-gap.sh +1 -1
  116. package/pipeline/scripts/smoke-token-budget.sh +1 -1
  117. package/pipeline/scripts/smoke-token-preflight.sh +2 -2
  118. package/pipeline/scripts/smoke-tracker-contract.sh +13 -13
  119. package/pipeline/scripts/smoke-tracker-tokens-invocation.sh +5 -5
  120. package/pipeline/scripts/smoke-triage-memory.sh +2 -2
  121. package/pipeline/scripts/smoke-update-check.sh +1 -1
  122. package/pipeline/scripts/smoke-url-enrichment.sh +2 -2
  123. package/pipeline/scripts/smoke-validator-gates.sh +1 -1
  124. package/pipeline/scripts/smoke-verify-by-test.sh +3 -3
  125. package/pipeline/scripts/smoke-wiki-integration.sh +9 -33
  126. package/pipeline/scripts/smoke-work-summary.sh +1 -1
  127. package/pipeline/scripts/smoke-worktree-path-convention.sh +4 -4
  128. package/pipeline/scripts/test-integrity-gate.mjs +83 -0
  129. package/pipeline/scripts/uninstall.mjs +2 -2
  130. package/pipeline/skills/.skill-manifest.json +40 -160
  131. package/pipeline/skills/.skills-index.json +21 -372
  132. package/pipeline/skills/shared/README.md +1 -1
  133. package/pipeline/skills/shared/core/multi-agent/SKILL.md +1 -1
  134. package/pipeline/skills/shared/core/multi-agent-analysis/SKILL.md +2 -2
  135. package/pipeline/skills/shared/core/multi-agent-analysis-resolve/SKILL.md +3 -3
  136. package/pipeline/skills/shared/core/multi-agent-build-optimize/SKILL.md +1 -1
  137. package/pipeline/skills/shared/core/multi-agent-channels/SKILL.md +1 -1
  138. package/pipeline/skills/shared/core/multi-agent-finish/SKILL.md +1 -1
  139. package/pipeline/skills/shared/core/multi-agent-help/SKILL.md +1 -1
  140. package/pipeline/skills/shared/core/multi-agent-refactor/SKILL.md +116 -51
  141. package/pipeline/skills/shared/core/multi-agent-sync/SKILL.md +8 -30
  142. package/pipeline/skills/shared/external/backlog/BACKLOG.md +32 -0
  143. package/pipeline/skills/shared/external/backlog/SKILL.md +49 -0
  144. package/pipeline/skills/shared/external/compose-components/SKILL.md +14 -14
  145. package/pipeline/skills/shared/external/skill-creator/SKILL.md +48 -0
  146. package/pipeline/skills/shared/external/skill-creator/audit.md +59 -0
  147. package/pipeline/skills/shared/external/skill-creator/checklist.md +32 -0
  148. package/pipeline/skills/shared/external/skill-creator/examples.md +65 -0
  149. package/pipeline/skills/shared/external/skill-creator/label-check.md +43 -0
  150. package/pipeline/skills/shared/external/skill-creator/scripts/audit-panel.js +83 -0
  151. package/pipeline/skills/shared/external/skill-creator/template.md +67 -0
  152. package/pipeline/skills/skills-index.md +4 -43
  153. package/pipeline/commands/multi-agent/refactor.md +0 -188
  154. package/pipeline/commands/multi-agent/refs/component-dispatch.md +0 -92
  155. package/pipeline/scripts/smoke-existing-discovery-gate.sh +0 -71
  156. package/pipeline/scripts/smoke-figma-android-parity.sh +0 -148
  157. package/pipeline/scripts/smoke-figma-credential-store.sh +0 -105
  158. package/pipeline/scripts/smoke-figma-cross-cli-inventory.sh +0 -177
  159. package/pipeline/scripts/smoke-figma-sync.sh +0 -149
  160. package/pipeline/scripts/smoke-sync-delegation.sh +0 -74
  161. package/pipeline/skills/figma-android/README.md +0 -38
  162. package/pipeline/skills/figma-android/figma-component-code-connect/SKILL.md +0 -62
  163. package/pipeline/skills/figma-android/figma-component-implement/SKILL.md +0 -158
  164. package/pipeline/skills/figma-android/figma-component-test/SKILL.md +0 -120
  165. package/pipeline/skills/figma-android/figma-component-wiki/SKILL.md +0 -35
  166. package/pipeline/skills/figma-android/figma-to-component/SKILL.md +0 -124
  167. package/pipeline/skills/figma-common/README.md +0 -64
  168. package/pipeline/skills/figma-common/figma-bottom-sheets/SKILL.md +0 -152
  169. package/pipeline/skills/figma-common/figma-cli-iterate/SKILL.md +0 -282
  170. package/pipeline/skills/figma-common/figma-cli-iterate-mend/SKILL.md +0 -503
  171. package/pipeline/skills/figma-common/figma-cli-lean-iterate/SKILL.md +0 -288
  172. package/pipeline/skills/figma-common/figma-cli-skip/SKILL.md +0 -362
  173. package/pipeline/skills/figma-common/figma-commit/COMMON_REBASE.md +0 -206
  174. package/pipeline/skills/figma-common/figma-commit/REVIEW.md +0 -337
  175. package/pipeline/skills/figma-common/figma-commit/SKILL.md +0 -216
  176. package/pipeline/skills/figma-common/figma-component-confluence-sync/SKILL.md +0 -223
  177. package/pipeline/skills/figma-common/figma-component-start/SKILL.md +0 -251
  178. package/pipeline/skills/figma-common/figma-component-status-update/SKILL.md +0 -78
  179. package/pipeline/skills/figma-common/figma-evolve-component/SKILL.md +0 -61
  180. package/pipeline/skills/figma-common/figma-fix/SKILL.md +0 -321
  181. package/pipeline/skills/figma-common/figma-form-integration/SKILL.md +0 -542
  182. package/pipeline/skills/figma-common/figma-issue/SKILL.md +0 -750
  183. package/pipeline/skills/figma-common/figma-iterate/SKILL.md +0 -208
  184. package/pipeline/skills/figma-common/figma-iteration-commit/SKILL.md +0 -1020
  185. package/pipeline/skills/figma-common/figma-mend/SKILL.md +0 -331
  186. package/pipeline/skills/figma-common/figma-navigation/SKILL.md +0 -156
  187. package/pipeline/skills/figma-common/figma-overlays/SKILL.md +0 -142
  188. package/pipeline/skills/figma-common/figma-price-integration/SKILL.md +0 -398
  189. package/pipeline/skills/figma-common/figma-remote-mcp-auth/SKILL.md +0 -104
  190. package/pipeline/skills/figma-common/figma-review/SKILL.md +0 -400
  191. package/pipeline/skills/figma-common/figma-setup/SKILL.md +0 -514
  192. package/pipeline/skills/figma-common/figma-setup/scripts/fetch-mcp-token.py +0 -592
  193. package/pipeline/skills/figma-common/figma-skip/SKILL.md +0 -129
  194. package/pipeline/skills/figma-common/figma-ui-patterns/SKILL.md +0 -105
  195. package/pipeline/skills/figma-common/figma-ui-patterns/patterns/animated-gradient-border.md +0 -116
  196. package/pipeline/skills/figma-common/figma-utility/SKILL.md +0 -274
  197. package/pipeline/skills/figma-common/figma-utility/scripts/figma-utility.py +0 -808
  198. package/pipeline/skills/figma-common/figma-validate/SKILL.md +0 -633
  199. package/pipeline/skills/figma-common/performance-iteration-commit-all/SKILL.md +0 -716
  200. package/pipeline/skills/figma-common/performance-review-next/SKILL.md +0 -238
  201. package/pipeline/skills/figma-common/performance-start/SKILL.md +0 -430
  202. package/pipeline/skills/figma-common/performance-swiftui/SKILL.md +0 -706
  203. package/pipeline/skills/figma-common/performance-tour/SKILL.md +0 -423
  204. package/pipeline/skills/figma-ios/REVIEW_CHECKLIST.md +0 -67
  205. package/pipeline/skills/figma-ios/figma-component-code-connect/SKILL.md +0 -178
  206. package/pipeline/skills/figma-ios/figma-component-implement/SKILL.md +0 -184
  207. package/pipeline/skills/figma-ios/figma-component-test/SKILL.md +0 -219
  208. package/pipeline/skills/figma-ios/figma-component-wiki/SKILL.md +0 -274
  209. package/pipeline/skills/figma-ios/figma-to-component/SKILL.md +0 -416
  210. package/pipeline/skills/figma-ios/figma-to-component/halt-return-protocol.md +0 -57
  211. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-0-init.md +0 -307
  212. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-1-gathering.md +0 -119
  213. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-1.5-existing-discovery.md +0 -174
  214. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2-orchestrator.md +0 -333
  215. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2a-testing-identifiers.md +0 -368
  216. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2b-localization.md +0 -393
  217. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2c-accessibility.md +0 -617
  218. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2d-analytics.md +0 -352
  219. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3-orchestrator.md +0 -337
  220. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3a-location.md +0 -206
  221. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3b-tokens.md +0 -235
  222. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3c-nested.md +0 -214
  223. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3d-patterns.md +0 -902
  224. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3e-assets.md +0 -156
  225. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3f-utilities.md +0 -175
  226. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3g-property-coverage.md +0 -176
  227. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3h-variant-config.md +0 -333
  228. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4-orchestrator.md +0 -412
  229. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4a-configuration.md +0 -336
  230. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4b-view.md +0 -705
  231. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4c-documentation.md +0 -332
  232. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4d-preview.md +0 -380
  233. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4e-modifiers.md +0 -262
  234. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5-orchestrator.md +0 -482
  235. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5a-viewinspector.md +0 -274
  236. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5b-snapshot.md +0 -636
  237. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5c-unit.md +0 -142
  238. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-6-code-connect.md +0 -547
  239. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-7-wiki.md +0 -39
  240. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-7a-confluence-generate.md +0 -659
  241. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-7a-wiki-generate.md +0 -580
  242. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-8-cleanup.md +0 -51
  243. package/pipeline/skills/figma-ios/figma-to-component/reference/accessibility.md +0 -183
  244. package/pipeline/skills/figma-ios/figma-to-component/reference/analytics-events.md +0 -64
  245. package/pipeline/skills/figma-ios/figma-to-component/reference/code-connect.md +0 -531
  246. package/pipeline/skills/figma-ios/figma-to-component/reference/confluence-api.md +0 -89
  247. package/pipeline/skills/figma-ios/figma-to-component/reference/confluence-xhtml.md +0 -155
  248. package/pipeline/skills/figma-ios/figma-to-component/reference/figma-to-swiftui-effects.md +0 -196
  249. package/pipeline/skills/figma-ios/figma-to-component/reference/halt-return-protocol.md +0 -57
  250. package/pipeline/skills/figma-ios/figma-to-component/reference/localization-naming.md +0 -89
  251. package/pipeline/skills/figma-ios/figma-to-component/reference/macros.md +0 -227
  252. package/pipeline/skills/figma-ios/figma-to-component/reference/missing-tokens.md +0 -157
  253. package/pipeline/skills/figma-ios/figma-to-component/reference/orchestrator-discipline.md +0 -90
  254. package/pipeline/skills/figma-ios/figma-to-component/reference/registry.md +0 -116
  255. package/pipeline/skills/figma-ios/figma-to-component/reference/remote-mcp-script.md +0 -153
  256. package/pipeline/skills/figma-ios/figma-to-component/reference/rest-api-script.md +0 -130
  257. package/pipeline/skills/figma-ios/figma-to-component/reference/scripts-inventory.md +0 -218
  258. package/pipeline/skills/figma-ios/figma-to-component/reference/snapshot-testing.md +0 -188
  259. package/pipeline/skills/figma-ios/figma-to-component/reference/subcomponent-graph.md +0 -93
  260. package/pipeline/skills/figma-ios/figma-to-component/reference/testing-identifiers-naming.md +0 -98
  261. package/pipeline/skills/figma-ios/figma-to-component/reference/tools.md +0 -261
  262. package/pipeline/skills/figma-ios/figma-to-component/reference/viewinspector.md +0 -147
  263. package/pipeline/skills/figma-ios/figma-to-component/reference/wiki-to-confluence-mapping.md +0 -182
  264. package/pipeline/skills/figma-ios/figma-to-component/scripts/apply-author-login-map.py +0 -185
  265. package/pipeline/skills/figma-ios/figma-to-component/scripts/backfill-status.py +0 -609
  266. package/pipeline/skills/figma-ios/figma-to-component/scripts/build-author-registry.py +0 -332
  267. package/pipeline/skills/figma-ios/figma-to-component/scripts/bulk-sync-issues.py +0 -261
  268. package/pipeline/skills/figma-ios/figma-to-component/scripts/code-connect-data-gather.py +0 -184
  269. package/pipeline/skills/figma-ios/figma-to-component/scripts/code-connect-publish.sh +0 -188
  270. package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-component-status-upload.py +0 -768
  271. package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-component-status.py +0 -191
  272. package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-data-gather.py +0 -420
  273. package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-page-ids.example.json +0 -9
  274. package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-publish.py +0 -336
  275. package/pipeline/skills/figma-ios/figma-to-component/scripts/figma-subcomponent-graph.py +0 -391
  276. package/pipeline/skills/figma-ios/figma-to-component/scripts/figma-update.py +0 -292
  277. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/__init__.py +0 -1
  278. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/issue_sync_propagate.py +0 -93
  279. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/registry_writer.py +0 -299
  280. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_backfill_status.py +0 -343
  281. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_figma_update.py +0 -206
  282. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_figma_update_http.py +0 -149
  283. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_phase_clis.py +0 -281
  284. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_registry_writer.py +0 -332
  285. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_skill_figma_issue.py +0 -176
  286. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_skill_figma_review.py +0 -98
  287. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_update_issue.py +0 -298
  288. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_update_issue_gh.py +0 -195
  289. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase1-gather.py +0 -1298
  290. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase2-finalize.py +0 -228
  291. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase3-scripts.py +0 -1089
  292. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase4-finalize.py +0 -141
  293. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase5-finalize.py +0 -106
  294. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase6-finalize.py +0 -162
  295. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase7-finalize.py +0 -105
  296. package/pipeline/skills/figma-ios/figma-to-component/scripts/register-icons-codeconnect.py +0 -179
  297. package/pipeline/skills/figma-ios/figma-to-component/scripts/remote-mcp-fetch.py +0 -260
  298. package/pipeline/skills/figma-ios/figma-to-component/scripts/resolve-author-logins.py +0 -260
  299. package/pipeline/skills/figma-ios/figma-to-component/scripts/run-uicomponents-tests.sh +0 -86
  300. package/pipeline/skills/figma-ios/figma-to-component/scripts/sidebar-generator.py +0 -321
  301. package/pipeline/skills/figma-ios/figma-to-component/scripts/update-issue-from-registry.py +0 -1470
  302. package/pipeline/skills/figma-ios/figma-to-component/scripts/validate-phase4.sh +0 -176
  303. package/pipeline/skills/figma-ios/figma-to-component/scripts/validate-phase6.sh +0 -147
  304. package/pipeline/skills/figma-ios/figma-to-component/scripts/validate-phase7a.py +0 -629
  305. /package/pipeline/commands/multi-agent/{delete.md → delete/SKILL.md} +0 -0
  306. /package/pipeline/commands/multi-agent/{diff-explain.md → diff-explain/SKILL.md} +0 -0
  307. /package/pipeline/commands/multi-agent/{garbage-collect.md → garbage-collect/SKILL.md} +0 -0
  308. /package/pipeline/commands/multi-agent/{issue.md → issue/SKILL.md} +0 -0
  309. /package/pipeline/commands/multi-agent/{jira.md → jira/SKILL.md} +0 -0
  310. /package/pipeline/commands/multi-agent/{kill.md → kill/SKILL.md} +0 -0
  311. /package/pipeline/commands/multi-agent/{language.md → language/SKILL.md} +0 -0
  312. /package/pipeline/commands/multi-agent/{log.md → log/SKILL.md} +0 -0
  313. /package/pipeline/commands/multi-agent/{prune-logs.md → prune-logs/SKILL.md} +0 -0
  314. /package/pipeline/commands/multi-agent/{purge.md → purge/SKILL.md} +0 -0
  315. /package/pipeline/commands/multi-agent/{scan.md → scan/SKILL.md} +0 -0
  316. /package/pipeline/commands/multi-agent/{search.md → search/SKILL.md} +0 -0
  317. /package/pipeline/commands/multi-agent/{stack.md → stack/SKILL.md} +0 -0
  318. /package/pipeline/commands/multi-agent/{status.md → status/SKILL.md} +0 -0
  319. /package/pipeline/commands/multi-agent/{test.md → test/SKILL.md} +0 -0
  320. /package/pipeline/commands/multi-agent/{update.md → update/SKILL.md} +0 -0
  321. /package/pipeline/{commands/multi-agent → multi-agent-refs}/_input-parser.md +0 -0
  322. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/analysis-template.md +0 -0
  323. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/audit-guide.md +0 -0
  324. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/backend-guide.md +0 -0
  325. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/channels/confluence.md +0 -0
  326. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/channels/issue-comment.md +0 -0
  327. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/channels/pr-review-actions.md +0 -0
  328. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/channels/pr.md +0 -0
  329. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/conventions-defaults.md +0 -0
  330. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/autopilot-circuit-breaker.md +0 -0
  331. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/dev-critic.md +0 -0
  332. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/external-context-injection.md +0 -0
  333. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/model-fallback.md +0 -0
  334. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/plan-todos.md +0 -0
  335. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/prior-fix-detection.md +0 -0
  336. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/repo-map.md +0 -0
  337. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/shadow-git.md +0 -0
  338. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/frontend-guide.md +0 -0
  339. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/knowledge.md +0 -0
  340. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/multi-repo-integration-build.md +0 -0
  341. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/picker-contract.md +0 -0
  342. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/rules.md +0 -0
@@ -19,8 +19,8 @@ cd "$PIPELINE_ROOT"
19
19
 
20
20
  FAIL=0
21
21
 
22
- CHANNEL="commands/multi-agent/refs/channels/pr-review-actions.md"
23
- REVIEW="commands/multi-agent/review.md"
22
+ CHANNEL="multi-agent-refs/channels/pr-review-actions.md"
23
+ REVIEW="commands/multi-agent/review/SKILL.md"
24
24
  POSTER="lib/post-pr-review.sh"
25
25
 
26
26
  # 1. New canonical template + new poster exist.
@@ -34,7 +34,7 @@ if [ ! -x "$POSTER" ]; then
34
34
  fi
35
35
 
36
36
  # 2. Legacy monolith artifacts must not exist or be referenced.
37
- LEGACY_TEMPLATE="commands/multi-agent/refs/channels/pr-review-comment.md"
37
+ LEGACY_TEMPLATE="multi-agent-refs/channels/pr-review-comment.md"
38
38
  LEGACY_RENDERER="lib/render-pr-review-body.sh"
39
39
  if [ -e "$LEGACY_TEMPLATE" ]; then
40
40
  echo "FAIL [smoke-pr-review-actions]: $LEGACY_TEMPLATE must not exist (monolith comment template forbidden)"
@@ -117,7 +117,7 @@ TCC_PCT_MAX=$(jq -r '.properties.global.properties.triageCrossCheck.properties.s
117
117
 
118
118
  echo ""
119
119
  echo "→ setup.md documents Step 0 - Language Selection"
120
- SETUP_DOC="$ROOT/pipeline/commands/multi-agent/setup.md"
120
+ SETUP_DOC="$ROOT/pipeline/commands/multi-agent/setup/SKILL.md"
121
121
  if [ -f "$SETUP_DOC" ] && grep -q "^### Step 0 - Language Selection" "$SETUP_DOC"; then
122
122
  pass "setup.md has Step 0 - Language Selection"
123
123
  else
@@ -16,9 +16,9 @@ set -euo pipefail
16
16
 
17
17
  HERE="$(cd "$(dirname "$0")" && pwd)"
18
18
  ROOT="$(cd "$HERE/../.." && pwd)"
19
- CONTRACT="$ROOT/pipeline/commands/multi-agent/refs/progress-contract.md"
19
+ CONTRACT="$ROOT/pipeline/multi-agent-refs/progress-contract.md"
20
20
  PREFS="$ROOT/pipeline/schemas/prefs.schema.json"
21
- PHASE_DIR="$ROOT/pipeline/commands/multi-agent/refs/phases"
21
+ PHASE_DIR="$ROOT/pipeline/multi-agent-refs/phases"
22
22
 
23
23
  # Flip to "true" to make missing adoption markers blocking. Today: advisory.
24
24
  BLOCKING_ADOPTION="${PROGRESS_CONTRACT_BLOCKING:-false}"
@@ -4,7 +4,7 @@
4
4
 
5
5
  set -uo pipefail
6
6
 
7
- PHASE6="$HOME/.claude/commands/multi-agent/refs/phases/phase-6-commit.md"
7
+ PHASE6="$HOME/.claude/multi-agent-refs/phases/phase-6-commit.md"
8
8
  PREFS_SCHEMA="$HOME/.claude/schemas/prefs.schema.json"
9
9
 
10
10
  PASS=0; FAIL=0
@@ -280,8 +280,8 @@ else
280
280
  fi
281
281
 
282
282
  # --- 14: Phase 1 + Phase 4 docs wire the injection ------------------------
283
- P1="$ROOT/pipeline/commands/multi-agent/refs/phases/phase-1-analysis.md"
284
- P4="$ROOT/pipeline/commands/multi-agent/refs/phases/phase-4-review.md"
283
+ P1="$ROOT/pipeline/multi-agent-refs/phases/phase-1-analysis.md"
284
+ P4="$ROOT/pipeline/multi-agent-refs/phases/phase-4-review.md"
285
285
  for f in "$P1" "$P4"; do
286
286
  base=$(basename "$f")
287
287
  if grep -qF "repoMap.enabled" "$f" && grep -qF "repo-map.mjs" "$f" && grep -qF '${REPO_MAP}' "$f"; then
@@ -24,7 +24,7 @@ set -uo pipefail
24
24
  ROOT="$(cd "$(dirname "$0")/../.." && pwd)"
25
25
  SG="$ROOT/pipeline/lib/shadow-git.sh"
26
26
  PREFS="$ROOT/pipeline/schemas/prefs.schema.json"
27
- P3="$ROOT/pipeline/commands/multi-agent/refs/phases/phase-3-dev.md"
27
+ P3="$ROOT/pipeline/multi-agent-refs/phases/phase-3-dev.md"
28
28
 
29
29
  pass=0
30
30
  fail=0
@@ -7,13 +7,10 @@
7
7
  # SCOPE: only skills we author. Specifically:
8
8
  #
9
9
  # pipeline/skills/shared/core/ - our orchestration + compliance skills
10
- # pipeline/skills/figma-ios/ - our iOS Phase 3 sub-skills
11
- # pipeline/skills/figma-android/ - our Android Phase 3 sub-skills
12
10
  #
13
11
  # INTENTIONALLY NOT AUDITED (upstream imports / different schema):
14
12
  #
15
13
  # pipeline/skills/shared/external/ - curated third-party skills (own frontmatter)
16
- # pipeline/skills/figma-common/ - pre-v5 figma-import skills (legacy `# /<name>` format)
17
14
  #
18
15
  # Rules:
19
16
  # 1. Every SKILL.md has YAML frontmatter (--- ... ---)
@@ -46,20 +43,18 @@ pass() { PASS=$((PASS+1)); echo " ✓ $1"; }
46
43
  warn() { WARN=$((WARN+1)); echo " ⚠ $1"; }
47
44
  fail() { FAIL=$((FAIL+1)); echo " ✗ $1"; }
48
45
 
49
- # Only our authored skill trees - upstream imports live under external/ +
50
- # figma-common/ and are exempt (own frontmatter conventions).
46
+ # Only our authored skill trees - upstream imports live under external/
47
+ # and are exempt (own frontmatter conventions).
51
48
  TARGETS=(
52
49
  "$ROOT/pipeline/skills/shared/core"
53
- "$ROOT/pipeline/skills/figma-ios"
54
- "$ROOT/pipeline/skills/figma-android"
55
50
  )
56
51
 
57
52
  # Collect the list once.
58
53
  SKILLS=$(find "${TARGETS[@]}" -name 'SKILL.md' -type f 2>/dev/null | sort)
59
54
  SKILL_COUNT=$(echo "$SKILLS" | grep -c . || echo 0)
60
55
 
61
- echo "→ Scope: $SKILL_COUNT authored SKILL.md files under core/ + figma-ios/ + figma-android/"
62
- echo " (external/ and figma-common/ intentionally excluded - upstream conventions)"
56
+ echo "→ Scope: $SKILL_COUNT authored SKILL.md files under shared/core/"
57
+ echo " (external/ intentionally excluded - upstream conventions)"
63
58
  echo ""
64
59
 
65
60
  echo "→ 1. Every SKILL.md has YAML frontmatter (--- ... ---)"
@@ -30,7 +30,7 @@ record_fail() { fail=$((fail + 1)); failures+=("$1"); printf ' \033[0;31mFAIL\0
30
30
  printf '→ smoke-tasklist-ordering (v8.3.1): TaskCreate phase-number ordering contract\n'
31
31
 
32
32
  # 1. tracker-contract.md - primary source of the rule
33
- TRACKER_CONTRACT="$ROOT/pipeline/commands/multi-agent/refs/tracker-contract.md"
33
+ TRACKER_CONTRACT="$ROOT/pipeline/multi-agent-refs/tracker-contract.md"
34
34
  if grep -qE 'TaskCreate ordering \(strict\)' "$TRACKER_CONTRACT" \
35
35
  && grep -qE 'phase-number order' "$TRACKER_CONTRACT" \
36
36
  && grep -qE 'BEFORE any TaskUpdate' "$TRACKER_CONTRACT"; then
@@ -40,7 +40,7 @@ else
40
40
  fi
41
41
 
42
42
  # 2. Phase 0 init ref doc - the agent always reads this on Phase 0
43
- PHASE0="$ROOT/pipeline/commands/multi-agent/refs/phases/phase-0-init.md"
43
+ PHASE0="$ROOT/pipeline/multi-agent-refs/phases/phase-0-init.md"
44
44
  if grep -qE '(strict|required).*(TaskCreate|ordering)' "$PHASE0" \
45
45
  && grep -qE 'phase-number order' "$PHASE0"; then
46
46
  record_pass "phase-0-init.md reinforces the ordering rule on Phase 0 entry"
@@ -50,14 +50,14 @@ fi
50
50
 
51
51
  # 3. Every Claude Code mode entry doc - the rule must appear in each
52
52
  MODE_ENTRY_DOCS=(
53
- "pipeline/commands/multi-agent/dev.md"
54
- "pipeline/commands/multi-agent/autopilot.md"
55
- "pipeline/commands/multi-agent/local.md"
56
- "pipeline/commands/multi-agent/local-autopilot.md"
57
- "pipeline/commands/multi-agent/dev-autopilot.md"
58
- "pipeline/commands/multi-agent/dev-local.md"
59
- "pipeline/commands/multi-agent/dev-local-autopilot.md"
60
- "pipeline/commands/multi-agent/finish.md"
53
+ "pipeline/commands/multi-agent/dev/SKILL.md"
54
+ "pipeline/commands/multi-agent/autopilot/SKILL.md"
55
+ "pipeline/commands/multi-agent/local/SKILL.md"
56
+ "pipeline/commands/multi-agent/local-autopilot/SKILL.md"
57
+ "pipeline/commands/multi-agent/dev-autopilot/SKILL.md"
58
+ "pipeline/commands/multi-agent/dev-local/SKILL.md"
59
+ "pipeline/commands/multi-agent/dev-local-autopilot/SKILL.md"
60
+ "pipeline/commands/multi-agent/finish/SKILL.md"
61
61
  )
62
62
  for rel in "${MODE_ENTRY_DOCS[@]}"; do
63
63
  abs="$ROOT/$rel"
@@ -22,7 +22,7 @@ set -euo pipefail
22
22
  ROOT="$(cd "$(dirname "$0")/../.." && pwd)"
23
23
  SCAN="$ROOT/pipeline/scripts/test-gap-scan.mjs"
24
24
  VAL="$ROOT/pipeline/scripts/validate-test-gap.mjs"
25
- PHASE5="$ROOT/pipeline/commands/multi-agent/refs/phases/phase-5-test.md"
25
+ PHASE5="$ROOT/pipeline/multi-agent-refs/phases/phase-5-test.md"
26
26
  PREFS="$ROOT/pipeline/schemas/prefs.schema.json"
27
27
  RULES_DIR="$ROOT/pipeline/scripts/test-gap-rules"
28
28
  FIX_IOS="$ROOT/pipeline/scripts/fixtures/diff-risk-ios.diff"
@@ -8,7 +8,7 @@ set -euo pipefail
8
8
  SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
9
9
  PIPELINE_DIR="$(cd "$SCRIPT_DIR/.." && pwd)"
10
10
  BUDGET_FILE="$PIPELINE_DIR/schemas/token-budget.json"
11
- PHASES_DIR="$PIPELINE_DIR/commands/multi-agent/refs/phases"
11
+ PHASES_DIR="$PIPELINE_DIR/multi-agent-refs/phases"
12
12
 
13
13
  if [ ! -f "$BUDGET_FILE" ]; then
14
14
  echo "FAIL: token-budget.json not found at $BUDGET_FILE" >&2
@@ -14,8 +14,8 @@ set -euo pipefail
14
14
 
15
15
  HERE="$(cd "$(dirname "$0")" && pwd)"
16
16
  ROOT="$(cd "$HERE/../.." && pwd)"
17
- PHASE0="$ROOT/pipeline/commands/multi-agent/refs/phases/phase-0-init.md"
18
- KEYCHAIN="$ROOT/pipeline/commands/multi-agent/refs/keychain.md"
17
+ PHASE0="$ROOT/pipeline/multi-agent-refs/phases/phase-0-init.md"
18
+ KEYCHAIN="$ROOT/pipeline/multi-agent-refs/keychain.md"
19
19
  REFRESH="$ROOT/pipeline/lib/figma-mcp-refresh.sh"
20
20
  SCHEMA="$ROOT/pipeline/schemas/prefs.schema.json"
21
21
  TEMPLATE="$ROOT/pipeline/preferences-template.json"
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env bash
2
2
  # smoke-tracker-contract.sh - v7.9.1
3
3
  #
4
- # Validates that every mode dispatch file (dev.md, dev-local.md, autopilot.md,
4
+ # Validates that every mode dispatch file (dev/SKILL.md, dev-local/SKILL.md, autopilot/SKILL.md,
5
5
  # etc.) carries the mandatory phase-tracker.sh invocation contract.
6
6
  #
7
7
  # Without this, agent prompts can fall through to TaskCreate/TaskList UI which
@@ -24,19 +24,19 @@ set -uo pipefail
24
24
 
25
25
  REPO_ROOT="$(cd "$(dirname "$0")/../.." && pwd)"
26
26
  CMDS_DIR="$REPO_ROOT/pipeline/commands/multi-agent"
27
- CONTRACT_FILE="$CMDS_DIR/refs/tracker-contract.md"
27
+ CONTRACT_FILE="$HOME/.claude/multi-agent-refs/tracker-contract.md"
28
28
 
29
29
  # Mode dispatch files that must reference the tracker contract.
30
30
  # Updated when new mode files ship; no auto-discovery (false positives on
31
31
  # helpers like _account-picker, status, log).
32
32
  MODE_FILES=(
33
- dev.md
34
- dev-local.md
35
- dev-autopilot.md
36
- dev-local-autopilot.md
37
- autopilot.md
38
- local.md
39
- local-autopilot.md
33
+ dev/SKILL.md
34
+ dev-local/SKILL.md
35
+ dev-autopilot/SKILL.md
36
+ dev-local-autopilot/SKILL.md
37
+ autopilot/SKILL.md
38
+ local/SKILL.md
39
+ local-autopilot/SKILL.md
40
40
  )
41
41
 
42
42
  # Minimum tracker references per file (init + at least one of the verbs).
@@ -155,7 +155,7 @@ fi
155
155
 
156
156
  # ──────────────────────────────────────────────────────────────────────────
157
157
  echo "→ 8. Continuation wiring in finish + manual-test + phase-5"
158
- FINISH_FILE="$CMDS_DIR/finish.md"
158
+ FINISH_FILE="$CMDS_DIR/finish/SKILL.md"
159
159
  if grep -q '\[ ! -f "\$STATE" \]' "$FINISH_FILE"; then
160
160
  pass "finish.md guards init behind a state-file existence check"
161
161
  else
@@ -166,19 +166,19 @@ if grep -q 'Continuing' "$FINISH_FILE" && grep -q 'cost total' "$FINISH_FILE"; t
166
166
  else
167
167
  fail "finish.md missing the continuation summary line"
168
168
  fi
169
- MANUAL_FILE="$CMDS_DIR/manual-test.md"
169
+ MANUAL_FILE="$CMDS_DIR/manual-test/SKILL.md"
170
170
  if grep -q 'now 5 "awaiting local test (user)"' "$MANUAL_FILE"; then
171
171
  pass "manual-test.md sets the waiting state via now 5"
172
172
  else
173
173
  fail "manual-test.md missing the now 5 waiting state"
174
174
  fi
175
- PHASE5_FILE="$CMDS_DIR/refs/phases/phase-5-test.md"
175
+ PHASE5_FILE="$HOME/.claude/multi-agent-refs/phases/phase-5-test.md"
176
176
  if grep -q 'now 5 "awaiting local test (user)"' "$PHASE5_FILE"; then
177
177
  pass "phase-5-test.md sets the waiting state via now 5"
178
178
  else
179
179
  fail "phase-5-test.md missing the now 5 waiting state"
180
180
  fi
181
- RESUME_FILE="$CMDS_DIR/resume.md"
181
+ RESUME_FILE="$CMDS_DIR/resume/SKILL.md"
182
182
  if grep -q 'Rebuild the phase tiles' "$RESUME_FILE"; then
183
183
  pass "resume.md rebuilds the phase tiles from state"
184
184
  else
@@ -23,10 +23,10 @@ FAIL=0
23
23
  # Every phase doc that runs LLM calls MUST mention `phase-tracker.sh tokens`
24
24
  # at least once (either in a code fence or inline).
25
25
  declare -a LLM_PHASES=(
26
- "commands/multi-agent/refs/phases/phase-1-analysis.md:1"
27
- "commands/multi-agent/refs/phases/phase-2-planning.md:2"
28
- "commands/multi-agent/refs/phases/phase-3-dev.md:3"
29
- "commands/multi-agent/refs/phases/phase-4-review.md:4"
26
+ "multi-agent-refs/phases/phase-1-analysis.md:1"
27
+ "multi-agent-refs/phases/phase-2-planning.md:2"
28
+ "multi-agent-refs/phases/phase-3-dev.md:3"
29
+ "multi-agent-refs/phases/phase-4-review.md:4"
30
30
  )
31
31
 
32
32
  for entry in "${LLM_PHASES[@]}"; do
@@ -46,7 +46,7 @@ done
46
46
 
47
47
  # tracker-contract.md is the canonical location for the tokens API. Make sure
48
48
  # it documents the invocation pattern with both args.
49
- CONTRACT="commands/multi-agent/refs/tracker-contract.md"
49
+ CONTRACT="multi-agent-refs/tracker-contract.md"
50
50
  if [ ! -f "$CONTRACT" ]; then
51
51
  echo "FAIL [smoke-tracker-tokens-invocation]: $CONTRACT missing"
52
52
  FAIL=$((FAIL + 1))
@@ -23,8 +23,8 @@ set -uo pipefail
23
23
 
24
24
  ROOT="$(cd "$(dirname "$0")/../.." && pwd)"
25
25
  TM="$ROOT/pipeline/scripts/triage-memory.mjs"
26
- PHASE7="$ROOT/pipeline/commands/multi-agent/refs/phases/phase-7-report.md"
27
- PHASE4="$ROOT/pipeline/commands/multi-agent/refs/phases/phase-4-review.md"
26
+ PHASE7="$ROOT/pipeline/multi-agent-refs/phases/phase-7-report.md"
27
+ PHASE4="$ROOT/pipeline/multi-agent-refs/phases/phase-4-review.md"
28
28
  PREFS="$ROOT/pipeline/schemas/prefs.schema.json"
29
29
  SCHEMA="$ROOT/pipeline/schemas/triage-corpus.schema.json"
30
30
 
@@ -17,7 +17,7 @@ set -euo pipefail
17
17
  ROOT="$(cd "$(dirname "$0")/../.." && pwd)"
18
18
  SCRIPT="$ROOT/pipeline/scripts/update-check.sh"
19
19
  PREFS_SCHEMA="$ROOT/pipeline/schemas/prefs.schema.json"
20
- PHASE0_DOC="$ROOT/pipeline/commands/multi-agent/refs/phases/phase-0-init.md"
20
+ PHASE0_DOC="$ROOT/pipeline/multi-agent-refs/phases/phase-0-init.md"
21
21
 
22
22
  pass=0
23
23
  fail=0
@@ -23,8 +23,8 @@ check() {
23
23
  fi
24
24
  }
25
25
 
26
- PHASE0="$ROOT/pipeline/commands/multi-agent/refs/phases/phase-0-init.md"
27
- SETUP="$ROOT/pipeline/commands/multi-agent/setup.md"
26
+ PHASE0="$ROOT/pipeline/multi-agent-refs/phases/phase-0-init.md"
27
+ SETUP="$ROOT/pipeline/commands/multi-agent/setup/SKILL.md"
28
28
  SCHEMA="$ROOT/pipeline/schemas/prefs.schema.json"
29
29
 
30
30
  echo "→ 1. phase-0-init.md documents Step 1b URL Enrichment"
@@ -27,7 +27,7 @@ set -euo pipefail
27
27
 
28
28
  REPO_ROOT="$(cd "$(dirname "$0")/../.." && pwd)"
29
29
  SCRIPTS_DIR="$REPO_ROOT/pipeline/scripts"
30
- PHASES_DIR="$REPO_ROOT/pipeline/commands/multi-agent/refs/phases"
30
+ PHASES_DIR="$REPO_ROOT/pipeline/multi-agent-refs/phases"
31
31
 
32
32
  PASS=0
33
33
  FAIL=0
@@ -15,9 +15,9 @@
15
15
  set -euo pipefail
16
16
 
17
17
  ROOT="$(cd "$(dirname "$0")/../.." && pwd)"
18
- PHASE4_DOC="$ROOT/pipeline/commands/multi-agent/refs/phases/phase-4-review.md"
19
- PHASE3_DOC="$ROOT/pipeline/commands/multi-agent/refs/phases/phase-3-dev.md"
20
- FEATURE_DOC="$ROOT/pipeline/commands/multi-agent/refs/features/verify-by-test.md"
18
+ PHASE4_DOC="$ROOT/pipeline/multi-agent-refs/phases/phase-4-review.md"
19
+ PHASE3_DOC="$ROOT/pipeline/multi-agent-refs/phases/phase-3-dev.md"
20
+ FEATURE_DOC="$ROOT/pipeline/multi-agent-refs/features/verify-by-test.md"
21
21
  PREFS_SCHEMA="$ROOT/pipeline/schemas/prefs.schema.json"
22
22
  TRIAGE_SCHEMA="$ROOT/pipeline/schemas/triage-output.schema.json"
23
23
  VALIDATOR="$ROOT/pipeline/scripts/validate-triage.mjs"
@@ -19,11 +19,11 @@ HERE="$(cd "$(dirname "$0")" && pwd)"
19
19
  ROOT="$(cd "$HERE/../.." && pwd)"
20
20
  PREFS="$ROOT/pipeline/schemas/prefs.schema.json"
21
21
  FIGMA_SCHEMA="$ROOT/pipeline/schemas/figma-project-config.schema.json"
22
- CHANNELS="$ROOT/pipeline/commands/multi-agent/channels.md"
23
- WIKI_REF="$ROOT/pipeline/commands/multi-agent/refs/wiki-capture.md"
24
- PHASE7="$ROOT/pipeline/commands/multi-agent/refs/phases/phase-7-report.md"
25
- MODES="$ROOT/pipeline/commands/multi-agent/refs/phases/modes.md"
26
- WIKI_SKILL="$ROOT/pipeline/skills/figma-ios/figma-component-wiki/SKILL.md"
22
+ CHANNELS="$ROOT/pipeline/commands/multi-agent/channels/SKILL.md"
23
+ WIKI_REF="$ROOT/pipeline/multi-agent-refs/wiki-capture.md"
24
+ PHASE7="$ROOT/pipeline/multi-agent-refs/phases/phase-7-report.md"
25
+ MODES="$ROOT/pipeline/multi-agent-refs/phases/modes.md"
26
+ # (figma-component-wiki skill now lives in the ai-ios-engineering-toolkit plugin, not this repo)
27
27
 
28
28
  PASS=0
29
29
  FAIL=0
@@ -33,7 +33,7 @@ fail() { FAIL=$((FAIL+1)); echo " ✗ $1"; }
33
33
  need() { command -v "$1" >/dev/null 2>&1 || { echo "error: $1 required" >&2; exit 127; }; }
34
34
  need jq
35
35
 
36
- for f in "$PREFS" "$FIGMA_SCHEMA" "$CHANNELS" "$WIKI_REF" "$PHASE7" "$MODES" "$WIKI_SKILL"; do
36
+ for f in "$PREFS" "$FIGMA_SCHEMA" "$CHANNELS" "$WIKI_REF" "$PHASE7" "$MODES"; do
37
37
  [ -f "$f" ] || { echo "error: missing $f" >&2; exit 1; }
38
38
  done
39
39
 
@@ -113,33 +113,9 @@ else
113
113
  fail "autopilot always-pause not documented"
114
114
  fi
115
115
 
116
- echo ""
117
- echo "→ 9. figma-component-wiki SKILL.md has dispatch contract + 4 adapters"
118
- if grep -Fq "Dispatch contract (Phase 7 Report Step 2)" "$WIKI_SKILL" \
119
- || grep -Fq "Dispatch contract" "$WIKI_SKILL"; then
120
- pass "SKILL.md documents dispatch contract"
121
- else
122
- fail "SKILL.md missing dispatch contract"
123
- fi
124
- if grep -Fq "Adapter selection" "$WIKI_SKILL"; then
125
- pass "SKILL.md has 'Adapter selection' table"
126
- else
127
- fail "SKILL.md missing 'Adapter selection' table"
128
- fi
129
-
130
- ADAPTERS=0
131
- for mode in submodule in-repo github-wiki separate-repo; do
132
- grep -Fq "\`$mode\`" "$WIKI_SKILL" && ADAPTERS=$((ADAPTERS+1)) || true
133
- done
134
- [ "$ADAPTERS" -eq 4 ] && pass "all 4 adapters named in SKILL.md" || fail "SKILL.md names $ADAPTERS/4 adapters"
135
-
136
- echo ""
137
- echo "→ 10. SKILL.md has frontmatter"
138
- if head -n 1 "$WIKI_SKILL" | grep -Fxq -- "---"; then
139
- pass "SKILL.md has frontmatter"
140
- else
141
- fail "SKILL.md missing frontmatter"
142
- fi
116
+ # (The figma-component-wiki SKILL.md and its dispatch-contract / 4-adapter / frontmatter
117
+ # assertions moved with the skill into the ai-ios-engineering-toolkit marketplace plugin;
118
+ # this pipeline smoke now only covers the wiki CHANNEL wiring on the pipeline side.)
143
119
 
144
120
  echo ""
145
121
  echo "══ wiki-integration smoke: $PASS passed, $FAIL failed ══"
@@ -18,7 +18,7 @@ set -euo pipefail
18
18
  ROOT="$(cd "$(dirname "$0")/../.." && pwd)"
19
19
  RENDER="$ROOT/pipeline/scripts/render-work-summary.sh"
20
20
  SCHEMA="$ROOT/pipeline/schemas/prefs.schema.json"
21
- CHANNELS_DOC="$ROOT/pipeline/commands/multi-agent/channels.md"
21
+ CHANNELS_DOC="$ROOT/pipeline/commands/multi-agent/channels/SKILL.md"
22
22
 
23
23
  pass=0; fail=0; failures=()
24
24
  record_pass() { pass=$((pass + 1)); printf ' \033[0;32mPASS\033[0m %s\n' "$1"; }
@@ -38,10 +38,10 @@ TARGETS=(
38
38
  "scripts/*.sh"
39
39
  "scripts/*.mjs"
40
40
  "lib/*.sh"
41
- "commands/multi-agent.md"
41
+ "commands/multi-agent/SKILL.md"
42
42
  "commands/multi-agent/*.md"
43
- "commands/multi-agent/refs/*.md"
44
- "commands/multi-agent/refs/phases/*.md"
43
+ "multi-agent-refs/*.md"
44
+ "multi-agent-refs/phases/*.md"
45
45
  "skills/shared/core/multi-agent/SKILL.md"
46
46
  )
47
47
 
@@ -68,7 +68,7 @@ for pattern in "${FORBIDDEN[@]}"; do
68
68
  done
69
69
 
70
70
  # Positive assertion: phase-0-init.md MUST mention the convention text.
71
- PHASE0="commands/multi-agent/refs/phases/phase-0-init.md"
71
+ PHASE0="multi-agent-refs/phases/phase-0-init.md"
72
72
  if [ -f "pipeline/$PHASE0" ]; then
73
73
  if ! grep -qE 'projectRoot.*worktreeBasePath|\.worktrees/.*taskId' "pipeline/$PHASE0"; then
74
74
  echo "FAIL [smoke-worktree-path-convention]: phase-0-init.md must document {projectRoot}/{worktreeBasePath}/{taskId} convention"
@@ -0,0 +1,83 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * @file test-integrity-gate.mjs - v11.3.0
4
+ *
5
+ * Anti-reward-hacking gate for Phase 4. A recurring agent failure mode is
6
+ * making a suite go green by deleting/weakening existing tests rather than
7
+ * fixing the code (documented by Cursor's SWE-bench study + ImpossibleBench).
8
+ * The `refs/rules.md` immutable-test rule forbids it; the `test_lines_removed`
9
+ * diff-risk signal already DETECTS a shrinking test file, but Step 1.75 uses
10
+ * that signal only as an advisory priority hint. This gate turns it into a
11
+ * deterministic BLOCKING finding that triage must adjudicate.
12
+ *
13
+ * Pure function of the diff-risk JSON (no git, no LLM): reads a diff-risk
14
+ * report on stdin (or --file), and for every file carrying a
15
+ * `test_lines_removed` signal emits a reviewer-shaped blocking finding tagged
16
+ * `test_integrity`. Triage then keeps it blocking unless the change is
17
+ * justified per the immutable-test rule (spec changed + commit body names the
18
+ * test), in which case triage moves it to `deferred`.
19
+ *
20
+ * IMPORTANT: feed it the FULL diff-risk report (run diff-risk-score.mjs WITHOUT
21
+ * --top), so a shrinking test file beyond the top-N priority list is not missed.
22
+ *
23
+ * Usage:
24
+ * node diff-risk-score.mjs --base B --head H | node test-integrity-gate.mjs
25
+ * node test-integrity-gate.mjs --file risk.json [--json]
26
+ *
27
+ * Output (stdout, JSON): { schemaVersion, count, findings: [ ... ] }
28
+ * Exit 0 always (detection tool; severity is adjudicated downstream). Exit 1
29
+ * only on a setup error (unreadable/invalid input is treated as "no findings").
30
+ */
31
+ import { readFileSync } from "node:fs";
32
+
33
+ const args = process.argv.slice(2);
34
+ const fileFlag = args.indexOf("--file");
35
+ const PRETTY = args.includes("--json");
36
+
37
+ function readInput() {
38
+ try {
39
+ if (fileFlag !== -1 && args[fileFlag + 1]) {
40
+ return readFileSync(args[fileFlag + 1], "utf8");
41
+ }
42
+ return readFileSync(0, "utf8"); // stdin
43
+ } catch {
44
+ return "";
45
+ }
46
+ }
47
+
48
+ function main() {
49
+ const raw = readInput();
50
+ let report;
51
+ try {
52
+ report = JSON.parse(raw);
53
+ } catch {
54
+ // No/invalid input -> fail OPEN (no findings). A gate bug must not wedge Phase 4.
55
+ process.stdout.write(JSON.stringify({ schemaVersion: "1.0.0", count: 0, findings: [] }));
56
+ return;
57
+ }
58
+
59
+ const files = Array.isArray(report?.files) ? report.files : [];
60
+ const findings = [];
61
+ for (const f of files) {
62
+ const sig = (f.signals || []).find((s) => s.name === "test_lines_removed");
63
+ if (!sig) continue;
64
+ findings.push({
65
+ file: f.file,
66
+ severity: "blocking",
67
+ tag: "test_integrity",
68
+ signal: "test_lines_removed",
69
+ linesRemovedNet: sig.value ?? null,
70
+ message:
71
+ `Test file '${f.file}' shrinks (removed > added). The immutable-test rule ` +
72
+ `(refs/rules.md) forbids weakening tests to get a green run. Keep blocking ` +
73
+ `unless the task's spec changed AND the commit body names the changed test; ` +
74
+ `then triage may defer it.`,
75
+ });
76
+ }
77
+
78
+ process.stdout.write(
79
+ JSON.stringify({ schemaVersion: "1.0.0", count: findings.length, findings }, null, PRETTY ? 2 : 0),
80
+ );
81
+ }
82
+
83
+ main();
@@ -262,7 +262,7 @@ async function main() {
262
262
  rmIfExists(join(CLAUDE, "rules"));
263
263
  const skills = join(CLAUDE, "skills");
264
264
  let n = rmMatchingDirs(skills, (name) => name === "multi-agent" || name.startsWith("multi-agent-"));
265
- n += rmMatchingDirs(skills, (name) => name === "figma-ios" || name === "figma-android" || name === "figma-common");
265
+ n += rmMatchingDirs(skills, (name) => name === "figma-ios" || name === "figma-android" || name === "figma-common" || name === "figma-to-component");
266
266
  if (n > 0) console.log(` removed ${n} skill dir(s) under ${skills}`);
267
267
  rmIfExists(join(skills, ".skills-index.json"));
268
268
  rmIfExists(join(skills, "skills-index.md"));
@@ -287,7 +287,7 @@ async function main() {
287
287
  rmIfExists(join(COP, "scripts"));
288
288
  const skills = join(COP, "skills");
289
289
  let n = rmMatchingDirs(skills, (name) => name === "multi-agent" || name.startsWith("multi-agent-"));
290
- n += rmMatchingDirs(skills, (name) => name === "figma-ios" || name === "figma-android" || name === "figma-common");
290
+ n += rmMatchingDirs(skills, (name) => name === "figma-ios" || name === "figma-android" || name === "figma-common" || name === "figma-to-component");
291
291
  if (n > 0) console.log(` removed ${n} skill dir(s) under ${skills}`);
292
292
  rmIfExists(join(skills, "README.md"));
293
293
  rmMatchingDirs(join(COP, "agents"), (name) =>